Я пытаюсь получить мой ноутбукяркость экрана по умолчанию установлена на низкий уровень, и для моегоподсветка клавиатуры должна быть выключенакогда я включаю компьютер.
У меня есть две команды, которые работают, если я выполняю их в командной строке:
xbacklight -set 7
echo 0 | sudo tee /sys/class/leds/asus::kbd_backlight/brightness
Я поместил их в свой /etc/rc.local
файл, вот так:
#!/bin/sh -e
# ...
# By default this script does nothing.
echo 0 | tee /sys/class/leds/asus::kbd_backlight/brightness
xbacklight -set 7
exit 0
Однако ни одна из команд не выполняется. (Мне сказали, что sudo
не было необходимости во второй команде при помещении в /etc/rc.local
)
Там былоеще один вопрос, задающий то же самое оrc.local
, но я также попытался включить свои команды с помощью интерфейса Startup Applications GUI. Это тоже не сработало, поэтому я думаю, что проблема может выходить за рамки одного rc.local
файла. Другие команды запуска по умолчанию в списке, похоже, запускаются, насколько я могу судить.
Почему я не могу выполнить ни одну пользовательскую командную строку при запуске?
Новый:После некоторых экспериментов, похоже, что команды, которые я ввожу, /etc/rc.local
могут быть выполнены.доэкран входа в систему. Итак, мой экран входа в систему имеет экран, который соответствующим образом затемнен. Однако затем, когда я вхожу в систему, мой экран переходит на максимальную яркость. Так что, похоже, что, возможно, есть какая-то другая настройка, которая применяется, когда я вхожу в систему, или которая /etc/rc.local
применяется только для самого экрана входа в систему и не имеет никакого отношения к тому, что происходит с пользователем при входе в систему.
Итак, как решить эту проблему, чтобы нужные мне настройки яркости и подсветки клавиатуры применялись к сеансу входа пользователя в систему, а не только к экрану входа в систему?
решение1
решение xbacklight
1) Создайте исполняемый файл скрипта, например/home/YOU/.bin/lower-brightnessтак:
#!/bin/sh
xbacklight -set 7 &
2) Создайте файл .desktop, например/home/YOU/.config/autostart/lower-brightness.desktopтак:
[Desktop Entry]
Type=Application
Exec=/home/YOU/.bin/lower-brightness
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Lower Screen Brightness
Comment=Screen brightness is set to 7 at startup
Icon=display
решение2
Чтобы иметь нужные вам настройки отображения, вы можете добавить эту строку/etc/rc.local
echo 7 > /sys/class/backlight/intel_backlight/brightness
Тогда он сможет поддерживать яркость на уровне 7.
надеюсь, это немного поможет.
решение3
Я уверен, что мое решение должно вам помочь, если вы используете Ubuntu с lightdm
.
Я искал информацию о включении NumPad на моем ноутбуке при запуске и в lightdm
документации нашел следующее:
# display-setup-script = Script to run when starting a greeter session (runs as root)
# greeter-setup-script = Script to run when starting a greeter (runs as root)
# session-setup-script = Script to run when starting a user session (runs as root)
# session-cleanup-script = Script to run when quitting a user session (runs as root)
И это решение. Вам нужно создать файл в /usr/bin/
, скажем, /usr/bin/backlight
и написать там команды.
#!/bin/bash
xbacklight -set 7
echo 0 | sudo tee /sys/class/leds/asus::kbd_backlight/brightness
exit 0
( xbacklight
У меня тоже не работает. echo 7 > /sys/class/backlight/intel_backlight/brightness
Делает свое дело.) Затем убедитесь, что вы добавили разрешение на выполнение для этого файла с помощью chmod a+x /usr/bin/backlight
.
Затем вам нужно отредактировать /etc/lightdm/lightdm.conf
и написать, например, эту строку:
session-setup-script=/usr/bin/backlight
И все. Теперь перезагрузите ПК.
решение4
Интересно, почему никто не предложил использовать update-rc.d. Я бы не стал вручную помещать скрипт в /etc/rc.local. Я бы рекомендовал такой способ запуска программ при старте:
sudo cp lower-brightness.sh /etc/init.d/
sudo chmod +x /etc/init.d/lower-brightness.sh
sudo update-rc.d lower-brightness.sh defaults
Это позволит гарантировать, что скрипт будет связан с соответствующими уровнями выполнения.