我有一个 GUI 应用程序,它运行几个脚本,需要 root 访问权限。通常它是使用 sudo 运行的,但我修改了脚本(通过仅运行需要带有 sudo 前缀的 root 访问权限的命令),这样如果正常启动,主要功能就可以工作。
它不起作用的一种情况是当我使用 openbox 自动启动脚本在登录时运行它时。它启动正常,但脚本无法工作,并且 sudo.log 在此期间没有显示任何活动。
有什么办法可以让这个设置起作用吗?
答案1
您可以使用 gksudo 而不是 sudo 以 root 身份从终端运行 GUI 应用程序。
答案2
我想到了。据我所知,openbox 不允许在其自动启动中使用 sudo (或 gksudo 或任何类似的东西)。chmod +s
在可执行文件上是我强制以 root 身份运行应用程序的方式。它一开始也不起作用,因为在 qt5(用于构建应用程序)中,默认情况下你不能使用 suid - 我必须在代码中更改它。