Linux

通過 su - 會話轉發 X-windows

  • April 7, 2022

我正在嘗試轉發我的 X 視窗,但似乎僅限於會話?

我想要做的是作為另一個使用者呼叫 x-applications,通過sudo su -.

如果我知道其他使用者的密碼,那麼這很容易解決:

ssh -Y user@host
password:  ********
gedit &

但是,如果執行我沒有密碼的使用者(例如 weblogic):

ssh –Y me@host
xauth list

sudo csh (now root)
xauth add (last line of the xauth list above)
gedit &

但是,我無法讓其他使用者訪問 x 顯示:

xauth list
su – weblogic
xauth add (last line of the xauth list above)
gedit (see if gedit launches).

這失敗了。

我還嘗試通過 sudo 直接訪問其他使用者:

ssh –Y me@host
xauth list
sudo su – weblogic
xauth add (last line of the xauth list above)
gedit (see if gedit launches).

這也失敗了。

問題可能是su -會清除除 TERM 之外的所有環境變數,因此您將失去DISPLAY設置。嘗試DISPLAY=localhost:10.0在 gedit 之前設置(例如)。

如果您收到以下錯誤: xauth: file /root/.Xauthority does not exist 以響應 xauth add 命令(例如,xauth add :15.0)只需觸摸文件(觸摸 /root/.Xauthority)

引用自:https://unix.stackexchange.com/questions/285242