KDE: Медленная регулировка яркости экрана клавишами (решено)

Форум поддержки для русскоязычных пользователей
Forum rules
Topics in this forum are automatically closed 6 months after creation.
Locked
FREERUN

KDE: Медленная регулировка яркости экрана клавишами (решено)

Post by FREERUN »

Здравствуйте все! Уменя LinuxMint 17.1 KDE Edition, ноутбук Lenovo P500. Проблема такая: регулировка яркости стандартными клавишами осуществляется очень медленно (19 секунд от 0 до 100%).
Надеюсь, решение проблемы будет кому-нибудь полезно.

Изначально клавиши "Monitor Brightness Up/Down" назначены на действие "Увеличить/Уменьшить яркость экрана".
Image
Регулировать яркость можно также записью в файл /sys/class/backlight/acpi_video0/brightness значения от 0 до MAX_BRIGHTNESS, где MAX_BRIGHTNESS (обозначил условно) - значение, записанное в /sys/class/backlight/acpi_video0/max_brightness . (в каталоге /sys/class/backlight/ несколько папок: возможно, вам нужна другая)

Проблема в том, что у моего ноутбука MAX_BRIGHTNESS = 100. А нажатие на клавишу меняет яркость только на 1. Предлагаю shell-скрипт, который меняет яркость, записанную в /sys/class/backlight/acpi_video0/brightness на заданное значение (прибавляя его):

Code: Select all

#!/bin/bash
#Usage: ./brightness.sh /sys/class/backlight/_folder_/ +5
 declare -i BRIGHTNESS
 BRIGHTNESS=`cat $1/brightness`
 declare -i MAX_BRIGHTNESS
 MAX_BRIGHTNESS=`cat $1/max_brightness`
 declare -i NEW_BRIGHTNESS
 NEW_BRIGHTNESS=$BRIGHTNESS+$2
 #echo $NEW_BRIGHTNESS
 if [[(($NEW_BRIGHTNESS -lt 0))]]; then
  NEW_BRIGHTNESS=0
 fi
 if [[(($NEW_BRIGHTNESS -gt $MAX_BRIGHTNESS))]]; then
  NEW_BRIGHTNESS=$MAX_BRIGHTNESS
 fi
 #echo $NEW_BRIGHTNESS
 echo $NEW_BRIGHTNESS > $1/brightness
 
Вызвается так:

Code: Select all

./brightness.sh  /sys/class/backlight/acpi_video0/ +9
+9, а не +10 нужно потому, что действие этих клавиш почему-то не отменяется. Вышеуказанную строчку (с правильным путём, естественно) назначил выполняться по нажатию той же клавиши "Monitor Brightness Up":Image
Пришлось изменить права доступа к файлу /sys/class/backlight/acpi_video0/brightness (остальные - чтение и запись).
Если есть нормальное решение - буду рад узнать о нём.
Всем спасибо!
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 1 time in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
FREERUN

Re: KDE: Медленная регулировка яркости экрана клавишами (реш

Post by FREERUN »

Дополнение: права файла /sys/class/backlight/acpi_video0/brightness, оказывается, нужно менять каждый раз при загрузке системы. Так как chmod выполняется от root, то для этого можно в /etc/init.d/ создать скрипт по образу и подобию /etc/init.d/skeleton, назовём его /etc/init.d/fix-grants-memfs:

Code: Select all

#! /bin/sh
### BEGIN INIT INFO
# Provides:          brightness_permissions
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: fixes brightness control permissions
# Description:       This script does not run any daemon! It only fixes permissions
#                    of the file
#                    /sys/class/backlight/acpi_video0/brightness
#                    to rw-rw-rw-
### END INIT INFO

# Author: FREERUN
#

# Do NOT "set -e"

# PATH should only include /usr/* if it runs after the mountnfs.sh script
#PATH=/sbin:/usr/sbin:/bin:/usr/bin


case "$1" in
  start)
	chmod 666 /sys/class/backlight/acpi_video0/brightness
	;;
  stop)
	chmod 644 /sys/class/backlight/acpi_video0/brightness
	;;
  status)
	;;
  restart|force-reload)
	;;
  *)
	#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
	echo "Usage: /etc/init.d/fix-grants-memfs {start|stop|restart|reload|force-reload}" >&2
	exit 3
	;;
esac

#:
exit 0

Потом создать на него ссылки и разрешить запуск спомощью update-rc.d:

Code: Select all

u@h:~ > sudo cp /etc/init.d/skeleton /etc/init.d/fix-grants-memfs
u@h:~ > sudo nano /etc/init.d/fix-grants-memfs
u@h:~ > sudo chmod +x /etc/init.d/fix-grants-memfs
u@h:~ > sudo update-rc.d -f fix-grants-memfs defaults 
u@h:~ > sudo update-rc.d -f fix-grants-memfs enable
update-rc.d: warning:  start runlevel arguments (none) do not match fix-grants-memfs Default-Start values (2 3 4 5)
update-rc.d: warning:  stop runlevel arguments (none) do not match fix-grants-memfs Default-Stop values (0 1 6)
[ часть вывода пропущена ]
Теперь всё.
adllba67
Level 1
Level 1
Posts: 1
Joined: Mon Sep 27, 2021 12:00 am

Re: KDE: Медленная регулировка яркости экрана клавишами (решено)

Post by adllba67 »

Я тут новичок, установил linux недавно, слегка задолбался от windows. Так вот, извините за делитантский вопрос, но что я должен сделать после sudo nano /etc/init.d/fix-grants-memfs, так как открывается редактор того самого файла. Мне нужно что-то там поменять или что. А так скрипт рабочий, спс, только пока приходися права в ручную выставлять для /sys/class/backlight/intel-brightness/brightness
Locked

Return to “Русский - Russian”