我的问题
假设:
- 我有一个带有 VNC 客户端的 macOS 系统(屏幕 4)
- 我在服务器上安装了 Rocky Linux 9 系统,没有显示器、键盘、鼠标...
- Rocky Linux 9 使用最少的软件包安装(没有 X11,没有桌面环境......)
- 两个系统位于同一本地网络上
我希望能够使用 VNC 客户端从 macOS 连接到 Rocky Linux 服务器,并在 XFCE 桌面中启动图形应用程序。
我尝试过的
- 我安装并配置了 ssh 服务器。我可以从 macOS 连接到 Rocky Linux 系统。
- 我安装了以下软件包以获得 XFCE 桌面环境和 X11 服务器:
sudo dnf install -y xorg-x11-xauth
sudo dnf groupinstall -y "xfce"
sudo dnf install -y x11vnc
sudo dnf install -y xterm
现在,根据我的理解,我应该跑startx
然后跑 x11vnc
。运行时startx
,我得到以下输出:
xauth: file /home/username/.serverauth.1502 does not exist
/usr/libexec/Xorg.wrap: Only console users are allowed to run the X server
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
Couldn't get a file descriptor referring to the console.
出于好奇,我尝试用以下命令运行它sudo
:
xauth: file /root/.serverauth.1530 does not exist
...
Failed to connect to bus: No medium found
dbus-update-activation-environment: error: unable to connect to D-Bus: /usr/bin/dbus-launch terminated abnormally without any error message
** (process:1562): WARNING **: 17:08:37.589: Could not make bus activated clients aware of XDG_CURRENT_DESKTOP=GNOME environment variable: Failed to execute child process ?dbus-launch? (No such file or directory)
xinit: connection to X server lost
waiting for X server to shut down (II) Server terminated successfully (0). Closing log file.
我不知道我是否在尝试做正确的事情,如果是的话,我不知道为什么我不能startx
没有错误。
问题
为了能够从具有 VNC 客户端的另一个系统连接到安装了最少软件包的 Linux 服务器并启动 XFCE 桌面环境,正确的设置步骤是什么?
答案1
您可以尝试直接运行 X 应用程序,而不是 VNC。 Linux 机器将执行应用程序,但所有图形命令将发送到您的桌面。
您的桌面上需要有一个“X 服务器”。如果您有 Mac,请尝试https://www.xquartz.org/
拥有 XQuartz 后,打开与 Linux 计算机的 ssh 连接并运行任何 X 应用程序。xclock
例如,因为它几乎总是作为 X11 软件包的一部分安装。
如果它没有立即运行 - 尝试通过 ssh 启用 X11 转发:
- 转到主 ssh 配置
/etc/ssh/sshd_config
或您的个人~/.ssh/config
. - 取消注释或添加:
X11Forwarding yes
X11UseForwarding yes
然后只需运行您需要的应用程序即可。
如果您坚持使用 VNC - 首先将服务器变成普通工作站(添加键盘、显示器)会更容易。安装您需要的所有应用程序和 VNC 服务器。完毕。