我正在关注一个关联在“显示所有应用程序”部分添加 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
我的问题/疑问:
- 不是执行程序是替代格克苏多?那为什么有时不起作用呢?
答案1
该pkexec
命令被使用在图形用户界面中打开一个通常只有 root 可以写入的文件。例如,如果您想使用gedit
打开文件,则应该使用pkexec
它。
但是,您尝试打开它时出现的错误粘贴pkexec
表明您很可能不在 GUI 中,因为该$DISPLAY
变量为空(根据该消息):
Gtk-WARNING **: 20:18:25.529: cannot open display:
您可能在 GUI 中,但不知何故丢失了设置$DISPLAY
。例如,如果您通过 ssh 连接到另一台计算机,则需要使用 ssh 的 X11 转发选项(-X
或者可能-Y
)来转发 GUI 显示,以便该计算机上的客户端可以在您的计算机上显示。
如果您不介意使用终端文本模式编辑器,例如nano
,则只需直接使用sudo
:
$ sudo nano /usr/share/applications/xampp-control-panel.desktop
或者,更好的是,如果您已正确配置编辑器,则使用sudoedit
(或等效的sudo -e
)与要编辑的文件的路径一起使用,在这种情况下,sudo
将创建您可以编辑的文件的副本,然后以您的方式打开编辑器非特权用户,最后将修改的内容复制回原来的位置,覆盖你要修改的文件。