Brightness bash shell script for Linux

Praveen Gorla
Open Thinking and Open Research
2 min readApr 1, 2018

This script is initially developed for my personal use to adjust the laptop brightness from Linux terminal, which is comfortable for me. I think this can be useful for other (s).

A simple bash script for Linux to increase brightness, decrease brightness, set brightness, current brightness,nightmode and daymode by running the script commands in your terminal. For example as a root user run : “.\backblacklight.sh nightmode” in your terminal [If the following script is named as backblacklight.sh file]

Note :

1.Further update(s) for this script(s) is/are available at https://gitlab.com/gorlapraveen/brightness_bashshell_script . This is a bash shell (.sh) scripting intended for flexible usage in Linux environment.

2. A Debian (.deb) based package is available for Debian based systems(such as Debian and Ubuntu), for installation. Find more at https://gitlab.com/gorlapraveen/blacklight-deb-packages or at https://salsa.debian.org/gorlapraveen-guest/blacklight-deb-packages

#!/bin/bash
# backlight brightness controls. use freely
# and adjust sysfs directory if not on intel
# $author praveen reddy gorla
#Modified from https://gist.github.com/briceburg/81d2c8d95a7cf4f61c0a
#.Further update(s) for this script(s) is/are available at https://gitlab.com/gorlapraveen/brightness_bashshell_script . This is a bash shell (.sh) scripting intended for flexible usage in Linux environment.
sysfs="/sys/class/backlight/intel_backlight"
max=`cat ${sysfs}/max_brightness`
level=`cat ${sysfs}/brightness`


usage()
{
script=${0##*/}
echo
echo "Invalid usage of ${script}!"
echo " $1"
echo "####### Hello $USER, use the folowing to control the brightness level ##########"
echo "$script current : Shows present brightness level with a max brightness level of $max "
echo "$script increase : increases brightness"
echo "$script decrease : decreases brightness"
echo "$script set # : sets brightness to an Integer "
echo "$script nightmmode : Nightmode"
echo "$script daymode : Daymode"
echo "########################################################################"
echo


exit 1
}

set_brightness()
{

level=$1

if [ $level -lt 1 ] ; then
level=1
echo minimum brightness level is $level
elif [ $level -gt $max ] ; then
level=$max
echo maximum brightness level accepted is $level
fi

echo $level > $sysfs/brightness
}

case "$1" in
current)
let "level=level"
echo current brightness level as of on $(date +"%T") is $level
;;
increase)
let "level+=1"
set_brightness $level
echo brightness levelset to $level
;;
decrease)
let "level-=1"
set_brightness $level
echo brightness levelset to $level
;;
nightmode)
let "level=65"
set_brightness $level
NM=1
DM=0
echo Working on Night Mode
;;
daymode)
let "level=712"
set_brightness $level
NM=0
DM=1
echo Working on Day Light Mode
;;
set)
if [[ ! $2 =~ ^[[:digit:]]+$ ]]; then
usage " $USER please input an integer"
fi

set_brightness $2
echo brightness levelset to $level
;;
*)
usage "invalid argument, Make a valid one among the following"
esac

--

--

Praveen Gorla
Open Thinking and Open Research

Ph.D. Graduate, Network & Computational Researcher. Free Software as Commons