brightnessctl is a lightweight command-line utility written in C that enables users to read and control device brightness on Linux systems. At its core, the tool interacts with brightness interfaces exposed by backlight and LED devices, making it possible to query current brightness, adjust levels, and even restore previously saved states. By default, brightnessctl searches relevant device classes for available brightness controllers and, if no device is specified, automatically selects the first one it finds. This functionality is especially useful for managing screen backlight or LED brightness on laptops and embedded devices without needing heavy graphical tools. The utility also supports advanced options such as machine-readable output, saving/restoring brightness state, and modifying percentage curves, providing flexibility for scripts and automation.
Features
- Command-line control of device brightness (backlight, LEDs)
- Automatically detects available brightness devices
- Save and restore previous brightness levels
- Machine-readable output option for scripting use
- Adjustable percentage curves for custom brightness responses
- Supports udev rules or systemd-logind for non-root permissions