我正在尝试在 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 客户端(例如
xterm
或chromium
),它会显示在我的 Windows 计算机上。
它的工作速度非常快。