启动X服务器后如何运行这个C程序?

启动X服务器后如何运行这个C程序?

我的笔记本电脑的 Arch wiki 页面上给出了自动将笔记本电脑的键盘亮度调整为屏幕亮度的程序的源代码。我可以编译它,当我以 root 身份运行该程序时,它工作正常。不幸的是,我不知道如何在每次启动计算机时运行这个程序,并且 wiki 进一步指出我必须在启动 X 服务器后运行它。

由于我使用 Arch,我想我必须用 做一些事情systemd,但我不知道做什么。任何帮助将不胜感激。

如果相关,则发布来源这里

答案1

如果您需要在 X 服务器启动后运行它,那么使用桌面环境的设置来启动它可能更合适,而不是尝试使用 systemd 来拼凑一些东西(尽管您可以在用户会话模式下使用 systemd 启动它,但包括您在那里启动 X 可能需要更多的工作,而这些工作只会与您的目标无关,具体取决于您的设置的复杂程度)。

如果您使用startx/ xinit,只需将程序添加到~/.xinitrc, 后台:

/path/to/program &

否则,请在桌面环境中找到启动设置,然后将程序添加到其中,以便它很快启动。

由于现在很明显您正在运行 GNOME 3,因此您可以gnome-session-propertiesAlt+运行F2,并将该程序添加到那里的启动列表中。

由于该程序需要超级用户权限才能运行,因此您需要某种在不提示输入密码的情况下进行提升的方法。要执行此操作而不在提示符处阻塞,您可以让您的用户能够使用NOPASSWDin运行它/etc/sudoers。使用 编辑文件sudo visudo,并在底部添加以下行,并进行适当的编辑:

youruser ALL=NOPASSWD: /path/to/program

然后,您可以运行该程序,sudo而不会提示输入密码。

相关内容