xterm 无法在 RHEL 7.2 上运行

xterm 无法在 RHEL 7.2 上运行

xterm 在 RHEL 7.2 上抛出以下错误:

$ xterm &


[1] 21638
Warning: This program is an suid-root program or is being run by the root user.
The full text of the error or warning message cannot be safely formatted
in this environment. You may get a more descriptive message by running the
program as a non-root user or by removing the suid bit on the executable.
xterm: Xt error: Can't open display: %s
[1]+  Exit 1                  xterm
[/RHEL/Packages]


$ rpm -qa | grep -i xterm
xterm-295-3.el7.x86_64

我在这里缺少什么?

答案1

简而言之:不要以 root 身份运行应用程序

长的:

该消息告诉您出了什么问题。获取此消息的通常方法是登录(作为普通的非特权用户)并使用su或者sudo切换到root用户。

该消息(和检查)于 1997 年添加(它首先作为 6 月底 XFree86 的补丁出现,作为 5 月份讨论的后续内容,两周后在 X11R6.3 中出现)。

在那之前,root可以连接到您的 X 会话并运行您的任何程序(如root)选择了。不幸的是,许多可能使用的程序并不安全。 (这仍然是几乎所有桌面应用程序的状态)。

进行检查的 X 库在看到它是root用户,然后删除环境变量(例如DISPLAY)这可能会诱使您陷入不安全应用程序的泥潭。

有些系统允许root用户登录桌面会话;对于那些最容易立即访问的应用程序,我们选择了它们以保持相对安全。有些人不这样做。

现在...在Red Hat 7中,xterm没有安装set-uid或set-gid。 set-uid to root 20年前用于打开BSD风格的伪终端,set-gid用于更新utmp。这两个人都已经离开很久了。你可以通过这样做看到

ls -l /usr/bin/xterm

如果要找到 set-uid 或 root 用户权限,则可以从运行 xterm 的 shell 开始查找。

相关内容