PUN*_*ICK 6 startup sudo init-script systemd parrotsec
为了调整我的华硕 Zenbook 上的屏幕板背光,我使用了在这里找到的内核模块。根据他的指示,要使用简单的screenpad x
命令来调整亮度来创建按键绑定快捷方式,我需要添加sudo chmod a+w '/sys/class/leds/asus::screenpad/brightness'
到“rc.local”,因为每次重新启动都需要该命令,并且每次都需要密码。通过自动运行,我可以立即使用自定义键盘快捷键,因为它们可以在 Windows 上的驱动程序中正常运行,而无需每次启动时运行命令并输入密码。
我是 Parrot OS 上的 Linux 新用户。根据我收集的信息,不建议使用 rc.local,我应该使用 systemd、cronjob,或者使用 GUI 启动应用程序菜单将其作为进程运行。
我完全迷失了如何使用 systemd 或 cronjob 来执行此操作。我尝试制作一个名为“screenpad-perms.sh”的文件并将其放入 /usr/local/bin 中,根据我所读到的内容,其中仅包含以下几行:
#! /bin/bash
sudo chmod a+w '/sys/class/leds/asus::screenpad/brightness'
Run Code Online (Sandbox Code Playgroud)
然后我使用它使其可执行chmod +x screenpad-perms.sh
。最后,我打开 GUI 自动启动应用程序并将其添加为登录脚本。
重新启动电脑,但它不起作用,除非我手动键入并输入密码,否则键入screenpad x
会出现权限被拒绝错误;sudo chmod a+w '/sys/class/leds/asus::screenpad/brightness'
所以它似乎没有被执行。
再次抱歉,因为我对 Linux 还很陌生,只是希望这个屏幕能够正常工作。我在这里缺少什么?
如果您的系统正在使用 systemd,那么这是您想要执行的操作的最佳选择。systemd 单元已经以 root 身份执行,因此不需要 sudo,您可以将其设置为在启动期间运行,甚至不需要任何人登录。
以下是有关 systemd 的信息的链接:https://www.digitalocean.com/community/tutorials/understanding-systemd-units-and-unit-files
systemd 单元文件或多或少类似于 Microsoft*.INI
文件。他们已经[SectionHeadings]
跟着Directive=Value
行了。
以下是您需要的步骤:
加载 root shell ( sudo bash
) 或为大多数命令添加前缀以sudo
作为 root 运行。
创建一个 shell 脚本供 systemd 服务单元执行。通常,您会将文件放入/usr/local/sbin
. 让我们称它为/usr/local/sbin/fix-backlight.sh
root:
编辑/usr/local/sbin/fix-backlight.sh
(假设editor
启动您首选的编辑器,如果该文件不存在,它会创建该文件。)
在文件中,输入(#!必须是文件的第一行):
#!/bin/bash
chmod a+w '/sys/class/leds/asus::screenpad/brightness'
继续保存并关闭编辑器。然后使该文件只能由 root 读/写/可执行(出于安全考虑):
chmod 0700 /usr/local/sbin/fix-backlight.sh
创建 systemd 单元文件(通常在 中/etc/systemd/system
,但也有其他位置;上面的链接提供了更多详细信息):
编辑/etc/systemd/system/fix-backlight.service
在该文件的编辑器中,输入:
[Unit]
Description=修复“screenpad x”背光命令的权限
[Service]
ExecStart=/usr/local/sbin/fix-backlight.sh
[Install]
WantedBy=multi-user.target
保存并退出编辑器。测试单元:
systemctl 启动修复背光.service
如果一切顺利并且从(非 root)shell 中“screenpad x”命令正在工作,则使设备能够在启动时启动:
systemctl 启用修复背光.service
然后继续并重新启动,并确保现在一切正常。(如果它不这样做并炸毁了邻居的猫,那就怪狗吧!)
如果需要,您还可以systemctl disable fix-backlight.service
使其在启动时停止运行。
归档时间: |
|
查看次数: |
18480 次 |
最近记录: |