Я пытался установить яркость экрана моего ноутбука по умолчанию на низкое значение , и чтобы подсветка клавиатуры была выключена при запуске компьютера.
У меня есть две команды, которые работают, когда я выполняю их в командной строке:
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. Это также не сработало, поэтому я думаю, что проблема может выходить за рамки только файла rc.local
. Насколько я могу судить, другие команды запуска по умолчанию в списке, похоже, запускаются.
Почему я не могу заставить выполнить какую-либо пользовательскую командную строку при запуске?
Новое: После некоторых экспериментов кажется, что команды, которые я вставил в /etc/rc.local
может выполняться до экрана входа в систему. Итак, мой экран входа в систему имеет соответствующий экран затемненным. Однако, когда я вхожу в систему, мой экран становится максимально ярким. Таким образом, кажется, что, возможно, есть некоторые другие настройки, которые применяются при входе в систему, или что /etc/rc.local
применяется только к самому экрану входа в систему и не имеет отношения к тому, что происходит с пользователем при входе в систему.
Итак, как мне решить эту проблему, чтобы настройки яркости и подсветки клавиатуры, которые я хочу применить к сеансу входа пользователя в систему, а не только к экрану входа в систему?
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
Для того чтобы настройки дисплея были такими, как вы хотите, вы можете добавить эту строку в /etc/rc.local
echo 7 > /sys/class/backlight/intel_backlight/brightness
Тогда она может сохранить вашу яркость равной 7.
надеюсь, что это немного помогает.
Я уверен, что моё решение должно помочь вам, если вы используете 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
И все. Теперь перезагрузите компьютер.
Создайте свой собственный скрипт инициализации для настройки уровней яркости.
echo '#!/bin/sh
sleep 60
echo 0 | tee /sys/class/leds/asus::kbd_backlight/brightness
xbacklight -set 7
exit 0' > /tmp/myinit
sudo mv /tmp/myinit /etc/init.d/myinit
sudo chmod +x /etc/init.d/myinit
sudo update-rc.d myinit defaults
Отрегулируйте значение сна для вашего костюма.
Интересно, почему никто не предложил использовать 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
Это позволит убедиться, что скрипт связан с соответствующими уровнями запуска.