我按照这个为 PyCharm 做了一个快捷方式操作说明(创建了一个 *.desktop 文件;在此之前,我通过sudo sh pycharm.sh
命令通过终端启动了该应用程序)。但是,我创建的快捷方式无法正常工作 - 如果我从 Dash 启动它,该应用程序将启动但无法工作并冻结。如果我通过终端启动应用程序,也会发生同样的情况sh pycharm.sh
。但是,如果我通过命令通过终端启动应用程序sudo sh pycharm.sh
,关闭它,然后使用快捷方式,一切都会顺利进行。
如何才能使快捷方式正常工作?
答案1
sudo
在文件中将其替换.desktop
为gksudo
。
这是因为sudo
无法在终端外询问您密码,但命令需要sudo
访问,因此它在步骤上冻结sudo
(显然仍在等待密码)。
gksudo
将以图形方式提示您输入密码。
更新:无需密码执行:
我们需要设置nopasswd
该脚本。
/etc/sudoers
使用命令编辑sudo visudo /etc/sudoers
添加以下行:
%sudo ALL=NOPASSWD: /full/path/to/script.sh
/full/path/to/script.sh
用实际的完整路径替换。- 保存 ( Ctrl+ O) 并退出 ( Ctrl+ X)。
现在您应该能够无需密码运行它。此外,您现在甚至可以使用sudo
而不是gksudo
。