【问题标题】:How to run script on Linux without password?如何在没有密码的情况下在 Linux 上运行脚本?
【发布时间】:2021-12-15 13:44:54
【问题描述】:

我创建了一个在我按下组合键时运行的脚本,这意味着我从我的“键盘自定义快捷方式”中调用了我的“script.py”。

它不能正常工作,因为当我从终端运行我的脚本时,我必须输入我的 sudo 密码。

为了更清楚一点,如果我在没有 sudo 的情况下运行我的脚本,它会显示:ImportError: You must be root to use this library on linux.

所以,它一定是这样的sudo python3 script.py,然后它会询问我的密码(我宁愿不要)。

【问题讨论】:

  • 这实际上是一个好问题,IMO 不应该被关闭。

标签: python-3.x linux-mint


【解决方案1】:

我修好了。

我在“/etc/sudoers.d”中创建了一个名为“script”的文件,没有扩展名。

在脚本文件中我放了“myuser ALL=(ALL) NOPASSWD: /home/user/Documents/Scripts/script.py”。

然后我使用 "chmod +x /home/user/Documents/Scripts/script.py" 授予了正确的权限

最后我把“sudo /home/user/Documents/Scripts/script.py”放在我的自定义快捷方式上。

谢谢!

【讨论】:

    【解决方案2】:

    这可能要归咎于几件事:

    1. 默认情况下您以 root 身份登录(不推荐),因此当您使用 pip3 install theLibrary 安装库时,您将其安装在 sudo 帐户上。尝试运行sudo pip3 install theLibrary,或者只是创建一个新用户帐户。
    2. 您在 IDLE 中运行它,并且您没有为其提供 root 权限。您可以先运行 sudo idle 来解决此问题。
    3. 快速修复:您可以在运行任何操作之前以 sudo 登录,并在会话期间保持 sudo 身份(这样您就不必每次都输入密码),方法是运行 sudo -i 然后输入提示时输入一次密码。

    【讨论】:

    • 你好 Victor,当我尝试使用“pip3 install keyboard”安装时,它说我必须使用 root 来安装。默认为用户安装,因为普通站点包不可写 要求已经满足。关于 IDLE,我没有使用它,只是一个简单的“.py”文件可执行文件。使用“sudo -i”,你是对的,我输入一次密码,然后运行脚本而无需再次输入,但我必须手动执行,所以......我没有解决问题。
    • 我创建了一个“.sh”文件来执行我的 script.py ......如果我双击它,工作正常......当我使用我的快捷键组合时它不会。有什么建议吗?
    猜你喜欢
    • 2016-07-22
    • 1970-01-01
    • 2016-04-17
    • 2018-12-10
    • 1970-01-01
    • 2011-10-17
    • 1970-01-01
    • 2017-11-14
    相关资源
    最近更新 更多