使用sudo在终端中运行启动程序

Modified on: Thu, 14 Jun 2018 10:00:53 +0800

我需要在启动时在终端上运行python脚本 myscript.py (在Lubunt上)。此脚本需要root。

我已经设置了一个运行以下命令的.desktop文件:

lxterminal --command="python /home/d/Jarvis/alarm.py && /bin/bash"

终端窗口在启动时打开并运行脚本,但随后在Python脚本返回错误时关闭(因为它不是以root身份运行)。当我将Exec=更改为此...

lxterminal --command="sudo python /home/d/Jarvis/alarm.py && /bin/bash"

...(使用sudo的前缀命令)有效。 然而,终端在启动时打开并显示

d:\的

[sudo] password for d: \

提示,要求我输入密码。 我希望在启动时执行python脚本是完全自动的,无需用户交互。

我该如何做到这一点?

作者:Zanna,Brandon

最佳答案

如果你想要它在登录而不是启动(因为我没有看到如何在没有X服务器启动的情况下打开LXTerminal),你必须在/ etc / sudoers文件中添加一个例外,这样你就不会系统会提示您输入密码。

要执行此操作,请运行sudo visudo,然后添加以下内容:

<your username> ALL = NOPASSWD: /home/d/Jarvis/alarm.py

请确保在文件末尾添加此项以使其正常工作。我还将alarm.py的权限设置为可执行文件,以使其正常工作。所以,这样做是为了将其设置为可执行文件:

chmod +x /home/d/Jarvis/alarm.py

希望它有所帮助!

作者:,kroq-gar78

相关问答

添加新评论