如何从 Windows 启用并连接到远程 RHEL 6 服务器上的 GUI/桌面?

如何从 Windows 启用并连接到远程 RHEL 6 服务器上的 GUI/桌面?

我正在尝试在 RHEL 服务器之上设置一个图形桌面,因此当我连接到它时,它不仅仅是 CLI,它将是一个完整的 GUI。

(即我现在的设置是,我在 Windows 上使用 Putty 连接到我的各种 Linux 远程服务器,对于我们的 Windows 远程服务器,我们使用 RDP,这是一个完整的 GUI)。本质上,我正在寻找 RDP 的等效项,但适用于 Linux 远程服务器。因此,如果我在 Windows 客户端上,我会使用类似的某种类型的程序登录(而不是 Putty),但可以显示完整的 GUI。

VNC 或 freeNX 是我的最佳选择吗?我尝试过 x-11,但速度慢得令人痛苦。我希望我能做一些类似于我使用的 Windows RDP 的事情 - 无延迟、完整的桌面 GUI。

我对完全设置它感到困惑。我已经看到了我的研究指南yum groupinstall <packagename>(以及使用“桌面”或“KDE 桌面”“GNOME 桌面”)等,以及看到了安装 VNC 服务器yum install vncserver(然后配置它)并尝试使用 VNC Viewer 或 Tiger 的指南VNC 从 Windows 端连接到它。

我的困惑就在于这些。它们是独立的还是相关的过程?即,如果我安装“桌面”或“KDE”,似乎我只需更改一些设置并将其从 CLI 启用为 GUI - 这是否意味着我不需要 VNC 程序?我觉得我仍然需要 Windows 端的 VNC Viewer 程序(代替 Putty 来连接它,但希望能够显示 GUI 而不仅仅是 CLI)

我所需要的顺序/步骤完全错误吗?最后,我希望能够在 Windows 端打开某些内容(putty 或 vnc 查看器等)并登录到我的服务器(通过主机名或 IP),就像我使用 Putty 所做的那样,但拥有完整的图形体验 -如果可能的话。

我在 Linux 端运行 RHEL 6.8,而我的客户端计算机是 Windows 7。

编辑:关于评论,编辑以添加我的netstat命令输出。

编辑 2:将 netsat -l 切换为 netstat -nlp

rr83008@LAB2138:~> netstat -nlp
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:8060                0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:56765             0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:445                 0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:3838                0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:8000                0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:2049                0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:801                 0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:9121              0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:8001              0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:9090              0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:3939                0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:9187              0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:36196               0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:5989                0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:44678               0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:6311                0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:44075               0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:875                 0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:139                 0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:37419             0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:9100              0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:40590             0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:4750                0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:6000                0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:9168              0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:8080              0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:8081              0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:6001                0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:35218               0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:49522               0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:8787                0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:34421             0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:47830             0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:45207               0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:4151                0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:8888                0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:6010              0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:51002             0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:6011              0.0.0.0:*                   LISTEN      -
tcp        0      0 0.0.0.0:443                 0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:43451             0.0.0.0:*                   LISTEN      -
tcp        0      0 127.0.0.1:46043             0.0.0.0:*                   LISTEN      -
udp        0      0 0.0.0.0:47968               0.0.0.0:*                               -
udp        0      0 0.0.0.0:58978               0.0.0.0:*                               -
udp        0      0 0.0.0.0:875                 0.0.0.0:*                               -
udp        0      0 0.0.0.0:111                 0.0.0.0:*                               -
udp     9160      0 0.0.0.0:631                 0.0.0.0:*                               -
udp        0      0 0.0.0.0:760                 0.0.0.0:*                               -
udp        0      0 10.XXX.XX.65:123            0.0.0.0:*                               -
udp        0      0 127.0.0.1:123               0.0.0.0:*                               -
udp        0      0 0.0.0.0:123                 0.0.0.0:*                               -
udp        0      0 0.0.0.0:2049                0.0.0.0:*                               -
udp        0      0 10.XXX.XX.255:137           0.0.0.0:*                               -
udp        0      0 10.XXX.XX.65:137            0.0.0.0:*                               -
udp        0      0 0.0.0.0:137                 0.0.0.0:*                               -
udp        0      0 10.XXX.XX.255:138           0.0.0.0:*                               -
udp        0      0 10.XXX.XX.65:138            0.0.0.0:*                               -
udp        0      0 0.0.0.0:138                 0.0.0.0:*                               -
udp        0      0 127.0.0.1:659               0.0.0.0:*                               -
udp        0      0 0.0.0.0:43291               0.0.0.0:*                               -
udp        0      0 0.0.0.0:40353               0.0.0.0:*                               -
udp        0      0 0.0.0.0:47924               0.0.0.0:*                               -
udp        0      0 0.0.0.0:54209               0.0.0.0:*                               -
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node PID/Program name    Path
unix  2      [ ACC ]     STREAM     LISTENING     12310  -                   @/var/run/hald/dbus-pfcv2kTrVT
unix  2      [ ACC ]     STREAM     LISTENING     36108297 -                   @/tmp/dbus-O9QGf8R8Zc
unix  2      [ ACC ]     STREAM     LISTENING     6556269 -                   /tmp/rstudio-rserver/session-server-rpc.socket
unix  2      [ ACC ]     STREAM     LISTENING     6556128 -                   /tmp/rstudio-rserver/rserver.socket
unix  2      [ ACC ]     STREAM     LISTENING     6556314 -                   /tmp/rstudio-rserver/rserver-monitor.socket
unix  2      [ ACC ]     STREAM     LISTENING     6556330 -                   /tmp/rstudio-rserver/rserver-launcher.socket
unix  2      [ ACC ]     STREAM     LISTENING     6569731 -                   /tmp/shiny-server/rserver-monitor.socket
unix  2      [ ACC ]     STREAM     LISTENING     30610346 -                   /tmp/connect-server/rserver-monitor.socket
unix  2      [ ACC ]     STREAM     LISTENING     31607547 -                   @/tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     31607326 -                   @/tmp/.X11-unix/X1
unix  2      [ ACC ]     STREAM     LISTENING     31607327 -                   /tmp/.X11-unix/X1
unix  2      [ ACC ]     STREAM     LISTENING     12258  -                   /var/run/acpid.socket
unix  2      [ ACC ]     STREAM     LISTENING     31607548 -                   /tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     27487395 -                   /var/opt/gitlab/postgresql/.s.PGSQL.5432
unix  2      [ ACC ]     STREAM     LISTENING     128344874 28107/gconfd-2      /tmp/orbit-rr83008/linc-6dcb-0-25c293a147828
unix  2      [ ACC ]     STREAM     LISTENING     128344889 28108/gnome-keyring /tmp/orbit-rr83008/linc-6dc9-0-434569cf4e5ef
unix  2      [ ACC ]     STREAM     LISTENING     14370  -                   /var/run/tog-pegasus/cimxml.socket
unix  2      [ ACC ]     STREAM     LISTENING     128344856 28108/gnome-keyring /tmp/keyring-L2uzmu/socket
unix  2      [ ACC ]     STREAM     LISTENING     10459  -                   /var/run/vmware/guestServicePipe
unix  2      [ ACC ]     STREAM     LISTENING     128344893 28108/gnome-keyring /tmp/keyring-L2uzmu/socket.ssh
unix  2      [ ACC ]     STREAM     LISTENING     128344895 28108/gnome-keyring /tmp/keyring-L2uzmu/socket.pkcs11
unix  2      [ ACC ]     STREAM     LISTENING     12305  -                   @/var/run/hald/dbus-EnsWjU8vSp
unix  2      [ ACC ]     STREAM     LISTENING     7401   -                   @/com/ubuntu/upstart
unix  2      [ ACC ]     STREAM     LISTENING     27496827 -                   /var/opt/gitlab/gitlab-rails/sockets/gitlab.socket
unix  2      [ ACC ]     STREAM     LISTENING     27484394 -                   /var/opt/gitlab/redis/redis.socket
unix  2      [ ACC ]     STREAM     LISTENING     128444503 -                   /var/opt/quest/vas/vasd/.vasd_11406
unix  2      [ ACC ]     STREAM     LISTENING     27498254 -                   /var/opt/gitlab/gitaly/gitaly.socket
unix  2      [ ACC ]     STREAM     LISTENING     10834  -                   /var/run/rpcbind.sock
unix  2      [ ACC ]     STREAM     LISTENING     27498301 -                   /var/opt/gitlab/gitlab-workhorse/socket
unix  2      [ ACC ]     STREAM     LISTENING     33632870 -                   /var/nmbd/unexpected
unix  2      [ ACC ]     STREAM     LISTENING     11093  -                   /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     42567568 -                   @/tmp/dbus-XpphHBjGKs
unix  2      [ ACC ]     STREAM     LISTENING     11300  -                   /var/opt/quest/vas/vasd/.vasd40_ipc_sock
unix  2      [ ACC ]     STREAM     LISTENING     11303  -                   /var/opt/quest/vas/vasd/.vasd_2000
unix  2      [ ACC ]     STREAM     LISTENING     11306  -                   /var/opt/quest/vas/vasd/.vasd_2003
unix  2      [ ACC ]     STREAM     LISTENING     11313  -                   /var/opt/quest/vas/vasd/.vasd_2002
unix  2      [ ACC ]     STREAM     LISTENING     14161  -                   /var/run/abrt/abrt.socket
unix  2      [ ACC ]     STREAM     LISTENING     11315  -                   /var/opt/quest/vas/vasd/.vasd_2001
unix  2      [ ACC ]     STREAM     LISTENING     128344845 28103/dbus-daemon   @/tmp/dbus-Qrg0vIDr4c

编辑3:这是我从“vncserver -list”中得到的

rr83008@LAB2138:~> service vncserver start
rr83008@:LAB2138:~> vncserver -list

TigerVNC server sessions:

X DISPLAY #     PROCESS ID

答案1

是的,在服务器上安装 GUI 与安装和配置 VNC 服务器是分开的。最有可能的是,您需要首先在服务器上安装桌面环境,并确保其正常工作,然后配置 VNC 服务器。

一般来说,有很多方法可以设置对 Linux GUI 的远程访问;我将描述我的方法,从 Windows 系统访问 Red Hat 或 Fedora 桌面,我认为这相对简单。

安装桌面环境的最简单方法是使用默认包含 GNOME 桌面的组包:

# yum group install graphical-server-environment

安装并验证服务器上已拥有工作桌面环境后,继续安装和配置 VNC 服务器。安装 TigerVNC:

# yum install tigervnc-server tigervnc-server-module

如果两个系统都在 LAN 中,即在防火墙后面安全,那么您应该能够安全地打开服务器本地防火墙上的端口:

# firewall-cmd --permanent --add-service vnc-server && firewall-cmd --reload

否则,你会想要设置 SSH 隧道

现在,使用您想要访问桌面的常规用户帐户登录,并创建用于访问 VNC 服务器的密码。

$ vncpasswd

在另一个系统上,您需要一个 VNC 客户端,例如vncviewer,TigerVNC 客户端

当我实际想要远程访问 GUI 时,我使用 PuTTY 打开 SSH 会话,并发送命令(指定 VNC 的会话 ID,当我注销桌面会话时它将关闭会话):

$ vncserver :2 -autokill

(请注意,此 PuTTY 会话也可用于 SSH 隧道。)

然后,我打开 vncviewer 应用程序,并填写服务器的 IP 地址和会话 ID,例如 1.2.3.4:2

它应该提示您输入 VNC 密码,并将您连接到桌面。

答案2

我使用以下设置:

  • 小明(http://www.straightrunning.com/XmingNotes/) 安装在 Windows 上
  • Linux 上未启动 X11 服务器或显示管理器
  • 我使用 SSH 和 Putty 中的“启用 X11 转发”选​​项连接到 Linux
  • SSH 为我创建隧道并设置DISPLAY变量。
  • 然后我运行任何 X 客户端(例如xtermchromium),它会显示在我的 Windows 计算机上。

它的工作速度非常快。

相关内容