1、使用x.org登陆时,显示"login failed for display 0" 错误
当您尝试使用 X.org 登录时,出现 “display 0 错误” 的错误消息,通常是由于系统中已经有另一个 X11 会话正在运行导致的。每个 X11 会话都需要其自己的显示器(即显示屏和键盘),并指定一个独特的显示编号。
在 Linux 系统上,通常将第一个 X11 会话分配给显示器 “:0”。所以,当您尝试启动另一个 X11 会话时,如果 “:0” 已经被分配给了先前的会话,则会出现 “display 0 错误”。
要解决这个问题,您可以尝试以下几个步骤:
- 检查当前系统中所有的 X11 会话:
ps ax | grep Xorg
该命令将列出所有正在运行的 X11 会话进程。如果输出中只有一个 X11 会话,则可能是由于 X11 会话已经崩溃了,您可以尝试终止该进程并重新启动 X.org。如果输出中有多个 X11 会话,则您需要查找哪个会话已经占用了 “:0” 显示器,并关闭该会话。
- 关闭掉其他的 X11 会话
如果您发现其他的 X11 会话占用了 “:0” 显示器,则可以尝试关闭它们。首先,您可以使用以下命令列出所有正在运行的 X11 会话:
w
该命令将列出当前登录用户的所有会话。找到您想要关闭的会话,然后使用以下命令终止该会话:
sudo pkill -u <username> -t <tty>
在这个命令中,“” 是正在运行会话的用户名,“” 是该会话所在的 tty 终端号。使用 w 命令可以查看每个会话的 tty 终端号。
- 指定不同的显示器号码
如果您无法关闭其他的 X11 会话,则可以尝试使用不同的显示器号码启动 X11 会话。例如,您可以使用以下命令指定使用 “:1” 显示器启动 X.org:
startx -- :1
这将在系统上启动新的 X11 会话,并分配 “:1” 显示屏和键盘。然后,您可以登录新的 X11 会话并开始使用它。
希望以上解释能够帮助您解决 “display 0 错误” 的问题。
2、x.org 和xrdp介绍
x.org 和 xrdp 都是与 X Window System 相关的软件,但它们提供不同的功能。简单来说,x.org 是 X Window System 的实现,而 xrdp 是一个远程桌面协议,可以让您通过网络连接到远程计算机并使用它的桌面环境。
X Window System(也称为 X11)是一个用于 Unix/Linux 系统的图形化窗口系统。它允许用户在本地计算机上运行图形应用程序,并在多个独立的窗口中显示它们。它还支持客户端-服务器架构,这使得用户可以从远程计算机上运行 X11 应用程序,并将其显示在本地计算机上。
xrdp 不是一个窗口系统,而是一个远程桌面协议,它允许用户通过网络连接到远程计算机,并在本地计算机上使用远程计算机的桌面环境。使用 xrdp 可以让用户像本地计算机一样使用远程计算机,包括在远程计算机上运行应用程序、查看和编辑文档等。
虽然 xrdp 使用 X Window System 作为其图形引擎,但它不是 X Window System 的实现,而是远程桌面协议的一种实现。xrdp 可以使用 x.org 作为其 X11 服务器,从而支持在远程计算机上运行 X11 应用程序。但是,它还支持其他图形引擎,例如 Xvnc 和 X11rdp。
因此,虽然 x.org 和 xrdp 两者都涉及到远程桌面,但它们提供不同的功能,适用于不同的场景和需求。