Shell
以另一個(非 root)使用者身份執行 GUI 應用程序
假設我有 2 個使用者帳戶
user1
和user2
. 當我以 身份登錄user1
,然後切換到user2
usingsu
時,我可以執行命令行程序,但 GUI 程序會失敗。例子:
user1@laptop:~$ su - user2 user2@laptop:~$ leafpad ~/somefile.txt No protocol specified leafpad: Cannot open display:
那麼如何執行 GUI 應用程序呢?
他的 vs 他的 -
當成為另一個使用者時,您通常要使用
su - user2
. 破折號將強制 user2.bash_profile
獲取資源。主機
此外,您需要授予使用者訪問您的顯示器的權限。這由 X 管理。您可以使用該命令
xhost +
允許其他使用者將 GUI 顯示到 user1 的桌面。**注意:**執行時,
xhost +
您需要在屬於 user1 的 shell 中執行它。$顯示
當您成為 user2 時,您可能需要設置環境變數
$DISPLAY
。$ export DISPLAY=:0.0