Почему ни одна из моих команд запуска не выполняется?

Почему ни одна из моих команд запуска не выполняется?

Я пытаюсь получить мой ноутбукяркость экрана по умолчанию установлена ​​на низкий уровень, и для моегоподсветка клавиатуры должна быть выключенакогда я включаю компьютер.

У меня есть две команды, которые работают, если я выполняю их в командной строке:

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 

Это позволит гарантировать, что скрипт будет связан с соответствующими уровнями выполнения.

Связанный контент