Я пытаюсь исправить яркость клавиш клавиатуры.
Используя acpi_listen
, нажимая яркость вверх / вниз, я получаю результат:
video DD03 00000087 00000000
video DD03 00000086 00000000
Запуск showkey
:
keycode 225 press
keycode 225 release
keycode 224 press
keycode 224 release
Я установил на compizconfi
Существует много способов скорректировать экранную подсветку монитора, ноутбука или интегрированной панели (такой как iMac) использование программного обеспечения, но в зависимости от аппаратных средств и модели, иногда только некоторые опции доступны.
Примеры:
Существует превосходная статья о Wiki, суммирующей возможные способы сделать это в: https://wiki.archlinux.org/index.php/Backlight
Однако, если ACPI
, xbacklight
или xcalib
не удается скорректировать Ваши уровни яркости, которые мы можем использовать setpci
команда для управления видеокартой непосредственно. Это - метод, который мы будем использовать для этого учебного руководства.
Примечание: Этот метод должен только использоваться, если вышеупомянутым программам не удается выполнить то, что Ваше желание сделать и не предпочтительный метод для того, чтобы сделать так. Однако в многочисленных случаях, это - единственное, которое будет.
То, что собиралось сделать, связывают setpci
управляйте к сочетанию клавиш на Вашем использовании клавиатуры xbindkeys,
так, чтобы, когда определенные клавиши будут нажаты, Ваша яркость корректировалась или вниз.
Хорошо Давайте начнем!!
00:02.0
но не всегда, таким образом, вот то, как проверить.Откройте окно терминала, и в командной строке вводят следующее:
lspci |grep -i vga
Это возвратит информацию об отображении строки, такую как поставщик, модель, версия и т.д... Часть интересовалась, в самом начале и должен посмотреть что-то как следующее:
00:02.0
Примечание: Вывод может варьироваться
Это - Адрес устройства Вашей видеокарты, и мы будем использовать это наряду с setpci
управляйте для управления уровнями яркости. Поэтому Запишите Его!
xbindkeys
. Это будет программой, которая делает фактическую привязку setpci
управляйте к сочетанию клавиш на Вашей клавиатуре.Откройте окно терминала и введите следующее в командной строке:
sudo apt-get install xbindkeys
xbindkeys
будет использовать, когда это запустит.Откройте окно терминала, если Вы уже не имеете и изменение в Ваш Корневой каталог. Введите следующие команды в командной строке:
touch .xbindkeysrc
Это создает файл, в который мы будем вводить наши конфигурации, и он читается xbindkeys
каждый раз это запускается
touch .xbindkeys.noauto
Это просто создает пустой файл, но это крайне важно, потому что, когда это существует, это сохраняет xbindkeys
от запуска автоматически при начальной загрузке. Хотя мы хотим xbindkeys
для запуска автоматически, мы хотим управлять им сами, потому что Xserver запускает его к рано в процессе начальной загрузки. Это вызывает наши конфигурации, к которым мы делаем иногда не функция правильно. Мы добавим названный сценарий xb_start.sh
к нашим Приложениям Запуска позже в этом учебном руководстве, которое будет заботиться о процессе запуска.
Давайте узнаем то, что ключи делают что!!
В экономящих время целях я собираюсь автоматически предположить, что Xserver уже распознает клавиши, которые Вы нажимаете на своей клавиатуре для изменения яркости, он просто ничего не делает при нажатии их. В моем случае это Fn
+ Up Arrow
или Down Arrow
Но мы не можем только поместить слова Fn
,Up Arrow
или Down Arrow
в нашем файле конфигурации мы должны узнать, каковы коды клавиши.
В большинстве случаев они собираются быть кодом клавиши 232 для корректировки яркости вниз и кода клавиши 233 для корректировки яркости, но мы лучше удостоверяемся.
Откройте окно терминала и введите следующее в командной строке:
xmodmap -pke |grep -i xf86monbrightness
Это должно возвратить две строки, которые выглядят подобными следующему:
keycode 232 = XF86MonBrightnessDown NoSymbol XF86MonBrightnessDown
keycode 233 = XF86MonBrightnessUp NoSymbol XF86MonBrightnessUp
Информация касалась, числа, которые прибывают после кода клавиши. В этом случае это 232
и 233
. Запишите любые числа, на которые это снижается, поскольку мы будем использовать их позже.
Давайте начнем соединять все это!!
.xbindkeysrc
файл Вы создали ранее в Вашем Корневом каталоге.Используя Ваш любимый текстовый редактор, откройтесь .xbindkeysrc
файл и или копия и вставка или тип следующие строки к нему и сохраняет его:
Примечание: Если 232
и 233
не те же коды клавиши, которые Вы записали ранее, измените их в этом файле
"/usr/local/bin/blevel_down.sh"
c:232
"/usr/local/bin/blevel_up.sh"
c:233
Что делало, здесь говорит xbindkeys
работать blevel_down.sh
сценарий, когда мы нажимаем ключевую комбинацию на нашей клавиатуре, которая корректирует яркость вниз. В моем случае это Fn + Down Arrow
. На следующей строке мы говорим этому работать blevel_up.sh
для Fn + Up Arrow
Примечание: Ключевые комбинации варьируются, проверяют изображения на ключах Вашей клавиатуры для определения, которые они для Вас.
Позволяет пишут сценарии!!
blevel_up.sh
и blevel_down.sh
сценарии создаются для возрастающей корректировки яркости или вниз передающими аргументами setpci
команда. Так в значительной степени при нажатии любых клавиш, которые делают корректировку, яркость повышается немного или вниз немного каждого раза. xb_start.sh
используется для запуска xbindkeys
когда загрузки компьютера, но позволяют, чтобы другие процессы завершились прежде, чем сделать так.
Примечание: Если Ваш Адрес устройства Вашей Видеокарты, которую мы определили ранее, отличается от той в blevel_up.sh
и blevel_down.sh
необходимо будет изменить соответственно. Скорее всего, они должны быть тем же.
blevel_up.sh
во-первых:Откройте свой любимый текстовый редактор и или копия и вставьте или введите следующее в файл и сохраните его как blevel_up.sh в Вашем Корневом каталоге
#!/bin/bash
if [ ! -f /home/$USER/.blevel ]; then
touch /home/$USER/.blevel
echo "FF" > /home/$USER/.blevel
state="FF"
else
state=`cat /home/$USER/.blevel`
fi
new_state=$(echo "$[0x$state+0x10]")
if [ "$new_state" -gt 255 ]; then
sudo setpci -s 00:02.0 F4.B=FF
else
state=$(echo "obase=16; $new_state" | bc)
sudo setpci -s 00:02.0 F4.B=$state
echo $state > /home/$USER/.blevel
fi
blevel_down.sh
сценарий:Откройте свой любимый текстовый редактор и или копия и вставьте или введите следующее в файл и сохраните его как blevel_down.sh в Вашем Корневом каталоге
#!/bin/bash
if [ ! -f /home/$USER/.blevel ]; then
touch /home/$USER/.blevel
echo "FF" > /home/$USER/.blevel
state="FF"
else
state=`cat /home/$USER/.blevel`
fi
new_state=$(echo "$[0x$state-0x10]")
if [ "$new_state" -lt 15 ]; then
sudo setpci -s 00:02.0 F4.B=0F
else
state=$(echo "obase=16; $new_state" | bc)
sudo setpci -s 00:02.0 F4.B=$state
echo $state > /home/$USER/.blevel
fi
xb_start.sh
сценарий:Откройте свой любимый текстовый редактор и или копия и вставьте или введите следующее в файл и сохраните его как xb_start.sh в Вашем Корневом каталоге
#!/bin/bash
sleep 10
/usr/bin/xbindkeys &
Позволяет делают сценарии Глобальными!!
/usr/local/bin
и устанавливает полномочия так, чтобы, неважно, кто зарегистрирован на машине, они могут выполнить их.Откройте окно терминала и введите следующее в командной строке:
sudo mv blevel_up.sh blevel_down.sh xb_start.sh /usr/local/bin
sudo chmod 755 /usr/local/bin/blevel_up.sh
sudo chmod 755 /usr/local/bin/blevel_down.sh
sudo chmod 755 /usr/local/bin/xb_start.sh
Теперь сделать setpci
смогите работать, не вводя пароль каждый раз
Быть этим setpci
вносит изменения в определенные системные файлы, обычный пользователь должен был бы снабдить префиксом setpci
с sudo
eachtime для выполнения команды. Это потребовало бы, чтобы Вы ввели пароль eachtime, Вы хотите скорректировать яркость своего экрана. Если мы делаем конкретную запись в /etc/sudoers
файл мы можем обойти это.
Откройте окно терминала и введите следующее в командной строке:
sudo visudo
Это откроется /etc/sudoers
файл так, чтобы мы могли внести необходимые изменения.
Прокрутите полностью к нижней части файла и введите следующее:
ALL ALL = NOPASSWD:/usr/bin/setpci
Примечание: Файл Чувствителен к регистру так тип точно, как это здесь
Сохраните файл и выход
Почти законченный!!
Последняя вещь, которую мы должны сделать, добавляют наши xb_start.sh
сценарий к нашим Приложениям Запуска так, чтобы xbindkeys
запускается при начальной загрузке точно, когда мы хотим ее к.
Перезагрузка и обладает!