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

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

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

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 применяется только к самому экрану входа в систему и не имеет отношения к тому, что происходит с пользователем при входе в систему.

Итак, как мне решить эту проблему, чтобы настройки яркости и подсветки клавиатуры, которые я хочу применить к сеансу входа пользователя в систему, а не только к экрану входа в систему?

2
задан 13 April 2017 в 15:24

5 ответов

xbacklight solution

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
0
ответ дан 13 April 2017 в 15:24

Для того чтобы настройки дисплея были такими, как вы хотите, вы можете добавить эту строку в /etc/rc.local

echo 7 > /sys/class/backlight/intel_backlight/brightness

Тогда она может сохранить вашу яркость равной 7.

надеюсь, что это немного помогает.

0
ответ дан 13 April 2017 в 15:24

Я уверен, что моё решение должно помочь вам, если вы используете 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

И все. Теперь перезагрузите компьютер.

0
ответ дан 13 April 2017 в 15:24

Создайте свой собственный скрипт инициализации для настройки уровней яркости.

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  

Отрегулируйте значение сна для вашего костюма.

0
ответ дан 13 April 2017 в 15:24

Интересно, почему никто не предложил использовать 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 

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

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: