Ubuntu
為什麼我得到權限被拒絕輸出為什麼我執行 pkexec /opt/lampp/manager-linux-x64.run ?正常嗎?
我按照連結在“顯示所有應用程序”部分添加 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
變數為空(根據該消息):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
將創建您可以編輯的文件的副本,然後打開您的編輯器作為您的非特權使用者,最後將修改後的內容複製回原始位置,覆蓋您要修改的文件。