我想运行一个脚本来在登录时关闭华硕的键盘背光(这个答案不起作用)。systemd
在 Ubuntu 15.04 中引入 之前,我通过 /etc/rc.local
使用 命令来实现这一点(sleep 10 && echo 0 > /sys/class/leds/asus::kbd_backlight/brightness)
。然而,在 下systemd
,这不再起作用。
我尝试跟随此处的说明创建一个systemd service
。但是这不起作用。这是我使用的文本:
[Unit] 描述=MBWD 键盘背光关闭脚本
[服务] 类型=oneshot ExecStart=/usr/lib/systemd/scripts/keyboard_backlight.sh #RemainAfterExit=yes [安装] WantedBy=multi-user.target
调用此脚本:
#!/bin/bash
echo 0 | sudo tee /sys/class/leds/asus::kbd_backlight/brightness
然后我启用该服务,启动该服务,并使用该systemctl preset
命令在启动时启用该服务(我认为这就是它的作用)。
完成所有这些操作后,systemctl status
命令会显示服务已启用,当我systemctl start
启动服务时,键盘会变暗。而且,在重新启动时(即启动时),它可能会起作用,因为 Ubuntu 启动时键盘会关闭。
但是,一旦我进入登录屏幕并登录,键盘灯就会重新亮起。我尝试通过sleep 20
在脚本中使用和通过以下方式巧妙地解决这个问题:创造一个systemd.timer
单位。两者都不起作用。
有人可以帮忙吗?
答案1
我最终通过使用rc-local.service
and 而/etc/rc.local
不是创建单独的 systemd 服务解决了这个问题。以下是我所做的:
- 在终端:
systemctl enable rc-local.service
- 我输入
/etc/rc.local
了以下内容:
/bin/sh -e (睡眠 20 && echo 0 > /sys/devices/platform/asus-nb-wmi/leds/asus::kbd_backlight/brightness) 退出 0
- 使
/etc/rc.local
可执行文件:
sudo chmod a+x /etc/rc.local
- 要确认,请检查
rc-local.service
systemctl status rc-local.service
它应该显示绿色并表示活动。就是这样。
答案2
当然不是最好的答案,但您可以通过安装包 upstart-sysv 从 systemd 切换到 upstart。
sudo apt-get install upstart-sysv