Linux 下使用的圖型化介面 GNOME 使用了 GDM (GNOME Display Manager) 來管理圖型處理資源,使得 X-Window (Xorg) 可應付多人多工的環境。
當我們使用 ssh 遠端登入 Linux 時,在 Shell 下想要為某位已經透過 GDM 登入 X-Window 的使用者開啟圖型應用程式,必須設定一些參數才能正常呼叫。
在 GDM 2.x 環境下,一般透過 DISPLAY 環境變數中來指定顯示的螢幕與 X-Window Server,另外必須在 XAUTHORITY 環境變數中指定 GDM 登入所使用的 Session。
當使用者登入 X-Window 之後會在 home 目錄產生 X-session 這個是用來識別操作環境的 Key,會放在 /home/{username}/.Xauthority 這一支隱藏檔案中。
事實上在 X-Window 為登入桌面的登入畫面中,也有 X-session 的存在,骨子裡是系統使用 gdm 這個帳號進行登入與註冊 X-session。
我們可以透過以下方法設定 X-Window 變數,並且執行 X-Window 應用程式,這樣就會把畫面顯示在使用者sj的桌面環境下了。
export DISPLAY=0:0 export XAUTHORITY=/home/sj/.Xauthority xterm