我读过很多关于如何解决最新 *buntu 版本中缺少 gksudo 的问题的文章。不幸的是,它们针对我不使用的应用程序进行了量身定制,例如 gedit、mousepad、nautilus 等。
为了弥补不足,我为 pcmanfm 和 leafpad 创建了一些别名和启动器(如下所示),到目前为止效果很好,但我希望有一个健全性检查以确保它们可以安全使用。
另外,我不太了解 DISPLAY 和 XAUTHORITY。我只知道它们是需要包含的环境变量。 他们是否会引用我可以查看的特定文件?
以下是别名和启动器:
它与 pcmanfm 或 leafpad 一起使用:
alias gksudo2='sudo -H pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY'
这将打开 hosts 文件进行编辑:
alias hosts2='sudo -H pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY leafpad /etc/hosts'
这是以 root 身份打开 pcmanfm:
[Desktop Entry]
Name=pcmanfm-rootpk
Type=Application
Icon=/home/user/Pictures/PNG Alphabetical Icons/128/p_orange.png
Exec=sudo -H "pkexec env DISPLAY\=\$DISPLAY XAUTHORITY\=\$XAUTHORITY" pcmanfm %U
StartupNotify=true
Terminal=true
NoDisplay=false
Categories=Utility</code>
这用于编辑 hosts 文件:
[Desktop Entry]
Keywords=hosts file
Name=HostsFileLauncher-rootpk
Comment=hosts
Exec=sudo -H leafpad /etc/hosts pkexec env "DISPLAY\=\$DISPLAY" "XAUTHORITY\=\$XAUTHORITY"
Icon=/home/user/Pictures/PNG Alphabetical Icons/128/h_orange.png
Terminal=true
NoDisplay=false
Type=Application
MimeType=text/plain
Categories=Utility</code>