为什么我的启动命令均未被执行?

为什么我的启动命令均未被执行?

我一直在尝试让我的笔记本电脑屏幕亮度默认为低​​设置,而对于我的键盘灯熄灭当我启动计算机时。

我在命令行执行这两个命令时它们有效:

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,但我尝试使用启动应用程序 GUI 界面来包含我的命令。这也不起作用,所以我认为问题可能不仅限于文件rc.local。据我所知,列表中的其他默认启动命令似乎已启动。

为什么我在启动时无法执行任何自定义命令行?


新的:经过一些实验,似乎我输入的命令/etc/rc.local可能会被执行登录屏幕。因此,我的登录屏幕的屏幕适当变暗。但是,当我登录时,我的屏幕亮度会达到最大。因此,似乎在我登录时可能还应用了其他设置,或者仅/etc/rc.local适用于登录屏幕本身,与用户登录时发生的情况无关。

那么,我该如何解决这个问题,以便我想要的亮度和键盘灯设置适用于用户登录会话,而不仅仅是登录屏幕?

答案1

xbacklight 解决方案

1)创建一个可执行脚本文件,例如/home/YOU/.bin/较低亮度像这样:

#!/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 

这将确保脚本链接到适当的运行级别。

相关内容