如何从 sudo 运行 .desktop 图标

Eug*_*ene 12 icons desktop-environments ddclient

我为 gddccontrol 创建了一个桌面图标,但要运行它,我需要从 sudo 执行它。有没有办法从桌面图标运行命令,例如,

sudo -pPASSWORD gddccontrol
Run Code Online (Sandbox Code Playgroud)

所以它不会在终端中询问我的密码?

我只想点击并使用 sudo 权限运行它。

[Desktop Entry]
Type=Application
Name=GDDCControl
Terminal=false
Comment=gddccontrol ddccontrol
Exec=sudo -pPASSWORD gddccontrol
Icon=~/Pictures/10429.png
Run Code Online (Sandbox Code Playgroud)

当我使用以下 Exec 命令从终端运行图标时,它运行良好,但在启动器中不起作用:(

Exec=echo mypasswd | sudo -S gddccontrol
Run Code Online (Sandbox Code Playgroud)

Jac*_*ijm 20

永远不要使用存储在.desktop文件中的密码。这是非常不安全的。

此外,您不能.desktop像这样在文件中运行复杂的命令,但这是另一回事。

该怎么办

您有几个选择:

  1. 添加gddccontrolsudoers文件,如解释,例如here。如果您确定该应用程序不能用于执行恶意操作,则可以执行此操作。

    然后使用

    Exec=sudo gddccontrol
    
    Run Code Online (Sandbox Code Playgroud)

    Exec=直插式

  2. 另一种选择是通过以下方式替换该Exec=行:

    Exec=gksu gddccontrol
    
    Run Code Online (Sandbox Code Playgroud)

    在这种情况下,一旦您单击该图标,系统将提示您通过 gui 输入密码。
    您可能需要安装gksu

    sudo apt-get install gksu
    
    Run Code Online (Sandbox Code Playgroud)

  • 优先选择“pkexec”而不是“gksu”;我相信有一个关于此的元帖子。 (2认同)
  • gksu 已弃用。它已从 Debian、Ubuntu 18.04 和其他较新的 Linux 发行版中删除。 (2认同)