我按照链接在“显示所有应用程序”部分添加 Xampp 服务器,通常我们可以看到安装的所有 GUI 应用程序。
但在 Xampp 的情况下就不同了。我们必须手动操作。所以我使用以下方法打开了文件:
pkexec nano /usr/share/applications/xampp-control-panel.desktop
因为我不能使用这个:
007@bond:~$ pkexec gedit /usr/share/applications/xampp-control-panel.desktop
Unable to init server: Could not connect: Connection refused
(org.gnome.gedit:17349): Gtk-WARNING **: 20:18:25.529: cannot open display:
无论如何,当我尝试检查 Xampp 是否运行 pkexec 时,我收到了这个错误:
007@bond:~$ Exec=pkexec /opt/lampp/manager-linux-x64.run
bash: /opt/lampp/manager-linux-x64.run: Permission denied
我的问题/疑问:
- pkexec不是gksudo的替代品吗?那为什么有时它不起作用?
该
pkexec
命令在 GUI中用于打开只有 root 通常可以写入的文件。例如,如果你想用它gedit
来打开文件,你应该使用pkexec
它。但是,您尝试打开它的错误粘贴
pkexec
表明您很可能不在 GUI 中,因为$DISPLAY
变量为空(根据该消息):您可能在 GUI 中,但不知何故您丢失了
$DISPLAY
设置。例如,如果您通过 ssh 连接到另一台机器,您需要使用 ssh 的 X11 转发选项(-X
或者可能-Y
)来转发 GUI 显示,以便该机器上的客户端可以显示在您的机器上。如果您不介意使用终端文本模式编辑器,例如
nano
,那么只需sudo
直接使用:或者,更好的是,使用
sudoedit
(或等效sudo -e
)与要编辑的文件的路径,如果您已正确配置编辑器,在这种情况下sudo
将创建您可以编辑的文件的副本,然后打开您的编辑器作为您的非特权用户,最后将修改后的内容复制回原始位置,覆盖您要修改的文件。