Fedora 39:在登录(或启动)时运行键盘灯脚本

Fedora 39:在登录(或启动)时运行键盘灯脚本

我是一个linux新手。我最近在 VM Fedora 39 工作站上进行了安装。

我有一个 CMStorm 键盘,可以使用滚动锁定键点亮/关闭,但安装后似乎不起作用。我的目标是让键盘灯打开,至少在我开始会话时是这样。

在 Linux Mint 上,这相对容易,因为我只需通过 UI(“会话和启动”)添加启动命令来运行“xset led 3”。

在 Fedora 上我一直在运行以下命令:

sudo sh -c 'echo 1 > /sys/class/leds/input1::scrolllock/brightness'

我已将该命令放置在“/usr/bin”中的脚本中,该脚本在终端中运行时有效,并且我最初尝试创建一个在启动时运行的 systemd 服务。当这不起作用时,我删除了该服务并尝试创建用户 systemd 服务。

我的启动服务定义为:

[Unit]
Description=Service to activate keyboard lights.

[Service]
Type=oneshot
ExecStart=/bin/bash /usr/bin/activate_keyboard_lights.sh

[Install]
WantedBy=multi-user.target

我的用户服务定义为:

[Unit]
Description=Service to activate keyboard lights

[Service]
#Type=simple
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/bash /usr/bin/activate_keyboard_lights.sh

[Install]
WantedBy=default.target

启动服务没有发生任何事情。使用用户服务登录时,没有任何反应,状态日志显示与“找不到总线”相关的消息,其中详细消息表明它可能与权限有关。我猜是因为需要使用 sudo 。

我还尝试将脚本和命令作为绑定到 F4 的键盘快捷键来运行,但似乎没有任何反应。

有什么提示或想法,或者我应该尝试习惯在登录时手动运行脚本吗?

谢谢。

答案1

/etc/rc.d/rc.local我仍然在一些基于 RHEL 的服务器上使用。所以您应该能够创建该文件并使其可执行。并将您想要在启动时运行的命令添加到其中。

sudoedit /etc/rc.d/rc.local # add your commands there
sudo chmod 755 /etc/rc.d/rc.local

如果重启后仍然不起作用(抱歉,懒得尝试),那么你可以检查sudo systemctl status rc-local.

您还可以阅读有关创建简单系统服务的信息:

相关内容