我有一台 openSUSE 机器,我使用 ssh -X 登录。我不想以 root 身份登录,但我确实想运行图形化 Yast。在 ssh 会话中 sudo 启动控制台版本的 Yast。然而,在 Gnome 或 KDE 中,可以以普通用户身份启动 Yast,然后在窗口中输入 root 密码,以 root 身份运行 Yast。
我怎样才能从我的 ssh 会话中做到这一点?
答案1
以“普通”用户身份登录(使用 X11-forward),然后su - -c yast2
.
答案2
X 使用一个名为 的变量DISPLAY
来确定将与显示相关的“信息”发送到哪里。当您使用 时ssh -X
,SSH 创建一个DISPLAY
变量并且 X 程序使用该变量。
当您使用 时sudo
,它会给您一个受限的环境。为了避免这种情况,你可以尝试以下命令:
sudo -E yast
这将运行yast
但会保护环境。这可能会也可能不会起作用,具体取决于您的sudoers
设置,特别是命令标签(setenv
隐含命令标签)。SETENV
ALL
SETENV
要只是设置DISPLAY
(以防它没有转移),您也可以这样做:
sudo DISPLAY=$DISPLAY yast
这与第一个命令受到相同的限制。