Ssh

如何使用 X 和 ssh 執行 Yast?

  • February 9, 2012

我有一台使用 ssh -X 登錄的 openSUSE 機器。我不想以 root 身份登錄,但我確實想執行圖形化 Yast。在 ssh 會話中,sudo 啟動 Yast 的控制台版本。但是,在 Gnome 或 KDE 中,可以以普通使用者身份啟動 Yast,然後在視窗中輸入 root 密碼以以 root 身份執行 Yast。

我怎樣才能從我的 ssh 會話中做到這一點?

以“普通”使用者身份登錄(使用 X11-forward),然後su - -c yast2.

X 使用一個名為的變數DISPLAY來確定將與顯示相關的“資訊”發送到何處。當你使用 時ssh -X,SSH 會創建一個DISPLAY變數,X 程序會使用它。

當您使用sudo時,它會給您一個受限的環境。為避免這種情況,您可以嘗試以下命令:

sudo -E yast

這將執行yast但保留環境。這可能會也可能不會起作用,具體取決於您的sudoers設置,特別setenv是命令標籤SETENV(隱含命令標籤)。ALL``SETENV

要設置DISPLAY(以防它不轉移),您也可以這樣做:

sudo DISPLAY=$DISPLAY yast

這受到與第一個命令相同的限制。

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