
編輯了@terdon 的答案。
在我的 ubuntu 電腦上:
如果我透過連接伺服器ssh -X my_server
,那麼我可以啟動一個程式。
然後我用sudo -i
成為root,但我無法啟動相同的程式。
錯誤:
由於身份驗證錯誤,X11 連線被拒絕。 qt.qpa.xcb:無法連線顯示 localhost:18.0 qt.qpa.plugin:即使找到了,也無法在「」中載入 Qt 平台插件「xcb」。該應用程式無法啟動,因為無法初始化 Qt 平台插件。重新安裝應用程式可能會解決此問題。
可用的平台插件有:eglfs、linuxfb、minimal、minimalegl、offscreen、vnc、xcb。
中止(核心轉儲)
我有一個視窗虛擬機和MobaXterm。它顯示了 X 伺服器使用的位址。
如果我按照上面的方法做同樣的事情,我也會遇到同樣的問題。但我可以打字export DISPLAY=172.30.4.66:0.0
並且有效。
echo $DISPLAY
然後給我輸入的地址。
如何在我的 ubuntu 電腦上取得這些位址?
透過打字echo $DISPLAY
我得到了:0
。並且export DISPLAY=<my ip>:0
不起作用。
未安裝“x11-xserver-utils”(有沒有 xhost)。
答案1
首先,你永遠不需要sudo su
,為什麼要使用 2 個程序,而一個程序就可以?趕緊跑sudo -i
。其次,為什麼你需要這個?如果您想以 root 身份運行該程序,只需運行sudo programName
.接下來,這不是關於獲取 IP(順便說一句,混淆您的 IP 是沒有意義的:172.30.4.66 是您家庭網路上的內部位址,不是您的公共 IP),而是關於允許存取。
如果您確實希望 root 能夠在您的 X 會話上啟動圖形程序,您需要運行xhost +
以允許所有使用者存取。因此,只需運行xhost +
然後嘗試啟動即可。如果這不起作用,請使用輸出更新您的問題。