#!/bin/bash #dim: control display brightness from terminal #usage: dim x #where x is an integer for a new display brightness within the [min,max] range of [0,100] #James B. Ackman 2019-02-06T15:55:20-08:00 # # Check kernel backlight driver names on your machine: `ls -l /sys/class/backlight/*` # e.g. acpi_video0 nv_backlight or intel_backlight # user should be part of the video user group to run this without sudo and a udev rule with correct driver name should be added as `/etc/udev/rules.d/backlight.rules` #ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="intel_backlight", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness" #ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="intel_backlight", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness" # Then set following var to your backlight driver name backlightDriver="intel_backlight" set -e #exit if an error percentValue=$1 if [[ $percentValue -lt "0" || $percentValue -gt "100" ]]; then echo 'value should be in range [0,100]' exit 1 fi maxBrightness=$(cat /sys/class/backlight/$backlightDriver/max_brightness) if [[ $maxBrightness -lt "100" ]]; then echo 'max_brightness below 100. Edit this script.' exit 1 fi newValue=`echo $(( $maxBrightness / 100 * $percentValue ))` if [[ $newValue -le "0" ]]; then echo 'value too low' exit 1 fi tee /sys/class/backlight/$backlightDriver/brightness <<< $newValue