This brief tutorial explains how we can adjust monitor brightness from command line in Unix-like operating systems. Adjusting screen brightness in GUI mode is easy. We already have reviewed a Brightness Controller GUI app which will help us to control the brightness in Ubuntu-like operating systems. But, this app development seems to be stalled for more than a year and I am not sure whether it will work with recent Ubuntu versions. Another disadvantage is the Brightness Controller app is compatible with Python2 only. While looking for an alternative ways, I learned that we can easily do this with a command line utility named "xrandr".

The xrandr program is used to set the size, orientation and/or reflection of the outputs for a screen. Using Xrandr, we can also display the current state of the system screen, change or set the resolution, disable disconnected outputs and enable connected ones. And the good thing is Xrandr comes pre-installed with most Linux distributions, so we don't have to bother with installing additional tools/apps.

Adjust Monitor Brightness From Command Line In Linux

First, we need to check the current state of system display. To do so, run:

$ xrandr -q

Sample output:

Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192 LVDS-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm 1366x768 60.00*+ 40.00 1280x720 60.00 59.99 59.86 59.74 1024x768 60.04 60.00 960x720 60.00 928x696 60.05 896x672 60.01 1024x576 59.95 59.96 59.90 59.82 960x600 59.93 60.00 960x540 59.96 59.99 59.63 59.82 800x600 60.00 60.32 56.25 840x525 60.01 59.88 864x486 59.92 59.57 700x525 59.98 800x450 59.95 59.82 640x512 60.02 700x450 59.96 59.88 640x480 60.00 59.94 720x405 59.51 58.99 684x384 59.88 59.85 640x400 59.88 59.98 640x360 59.86 59.83 59.84 59.32 512x384 60.00 512x288 60.00 59.92 480x270 59.63 59.82 400x300 60.32 56.34 432x243 59.92 59.57 320x240 60.05 360x202 59.51 59.13 320x180 59.84 59.32 VGA-1 disconnected (normal left inverted right x axis y axis) HDMI-1 disconnected (normal left inverted right x axis y axis) DP-1 disconnected (normal left inverted right x axis y axis)

As you can see, the currently connected display is LVDS-1. This output displays current resolution and screen refresh rate.

If you want to know the only the active display name, use "grep" and "head" commands with "xrandr" as shown below.

$ xrandr -q | grep ' connected' | head -n 1 | cut -d ' ' -f1 LVDS-1

The brightness value must be between 0.0 to 1.0 where 0.0 refers the dimmest (full black) and 1.0 refers the brightest value. For example, to set screen brightness value as 0.7, run:

$ xrandr --output LVDS-1 --brightness 0.7

Replace LVDS-1 with your active display name. Here, 0.7 refers the 70% of the maximum display brightness.

To go back to normal brightness, run:

$ xrandr --output LVDS-1 --brightness 1.0

Don't use anything above 1.0. It might turn the display into full white and you may not clearly see anything in the screen.

Suggested read:

Hope this was useful.