Centos7安装和配置VNC服务器 - GNOME篇
Centos7安装和配置VNC服务器 - GNOME篇
如果你图形界面使用Xfce,看这里:
《Centos7安装和配置VNC服务器 - Xfce篇》
VNC简介
VNC
(Virtual Network Computing
),为一种使用RFB
协议的屏幕画面分享及远程操作软件。此软件借由网络,可发送键盘与鼠标的动作及即时的屏幕画面。
VNC
与操作系统无关,因此可跨平台使用,例如可用Windows
连线到某Linux的电脑,反之亦同。甚至在没有安装客户端程序的电脑中,只要有支持JAVA
的浏览器,也可使用。
VNC
由Olivetti
& Oracle
研究室所开发,此研究室在1999年并入美国电话电报公司(AT&T
)。AT&T
于2002年中止了此研究室的运作,并把VNC
以GPL
发布。
因为它是免费的,以及可用于数量庞大的不同操作系统,它的简单,可靠,和向后兼容性,使之进化成为最为广泛使用的远程控制软件,多平台的支持对网络管理员是十分重要的,这使得网络管理员可以使用一种工具管理几乎所有系统。
安装TigerVNC
sudo yum install tigervnc-server
注意! 为了系统安全不建议使用root
用户,所以创建专门用于vnc
的用户。
创建用户vncuser
sudo adduser vncuser
设置密码
sudo passwd vncuser
比如:我这里设置的密码是2021@vnc
创建 vncuser
并设置登录密码后,还需要为此用户设置唯一的 VNC
密码
su - vncuser
vncpasswd
比如:我这里设置的密码是2021@vncpass
Would you like to enter a view-only password (y/n)? n (您想输入一个仅供查看的密码吗?)我不需要,根据实际情况选择。
我的详细操作如下:
为 vncuser 创建一个 VNC 配置文件。
下面命令如果没有特别说明,默认使用root
用户执行。
su root
这样做的最快方法就是复制位于/lib/systemd/system/文件夹
中的共享 VNC模板文件
,然后更改它:
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
这里新文件中的数字1将用与此服务特定实例的显示编号,这一点很重要。因为它还将确定我们的 VNC
服务器将使用的 TCP
端口,等于 5900 + 显示编号
。第一个是5901
,然后是5902
,等等。
vim /etc/systemd/system/vncserver@:1.service
我的配置如下:
[Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=simple # Clean any existing files in /tmp/.X11-unix environment ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' ExecStart=/usr/bin/vncserver_wrapper vncuser %i ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' [Install] WantedBy=multi-user.target
完成操作后,可以重新加载 VNC
守护程序,然后使用以下命令运行 vncserver # 1
:
systemctl daemon-reload
systemctl start vncserver@:1
查询当前服务是否正常启动:
systemctl status vncserver@:1
设置开机启动
systemctl enable vncserver@:1
在尝试连接到服务器之前,您可以执行的另一个测试是使用ss
命令查看活动网络套接字:如果一切工作正常,您应该会看到 VNC
服务器工作正常并使用 TCP
端口 5901
。执行命令:
ss -tulpn| grep vnc
如果看到这一点,则所有内容都设置正确。
防火墙设置
由于我们的 VNC 服务正在 TCP 端口 5901 上侦听,所以防火墙必须放行。不建议直接简单粗暴的关闭防火墙。
firewall-cmd --add-port=5901/tcp
firewall-cmd --add-port=5901/tcp --permanent
可参考:《CentOS7防火墙管理与配置》
安装图形用户界面(GUI)
如果已经安装了GNOME
,KDE
或其他桌面环境,则可以跳过此步骤。否则,您需要安装其中之一:TigerVNC
服务器将为每个登录会话启动此桌面环境的并行实例,这意味着我们必须至少具有一个GUI
。
注意:下面我把GNOME 和 Xfce的安装方法把列出来了,这两个2选1 就可以了不需要两个都安装。
如果你不知道选择哪个桌面环境,如果你是日常办公,是自己的电脑个人觉得使用 GNOME
更好一些,因为它集成了很多好用的东西。
如果你只是给服务器安装一个简单的图形界面临时使用,比如只是安装oracle
用。我建议使用Xfce,因为它很小,很轻。
《Centos7安装和配置VNC服务器 - Xfce篇》
https://blog.csdn.net/lxyoucan/article/details/113205625
GNOME
安装 X Window System
yum -y groupinstall "X Window System"
安装 GNOME Desktop
yum -y groupinstall "GNOME Desktop"
修改配置文件(可忽略)
切换到vncuser
用户
su - vncuser
修改配置文件~/.vnc/xstartup
:
vim ~/.vnc/xstartup
GNOME
不用修改。
理论上这样就可以了,如果发现连接上去只有鼠标看不到别的,则重启一下VNC
服务。
关闭服务
systemctl stop vncserver@:1
开启服务
systemctl start vncserver@:1
VNC 客户端连接
现在,一切都已设置,我们可以尝试连接到我们的 VNC
服务使用 VNC
客户端,如 TightVNC
,UltraVNC
或 RealVNC
,VNC Viewer
。请记住指定 TCP
端口 5901
(如果您遵循我们的指南)。
个人使用的是VNC Viewer
:https://www.realvnc.com/en/connect/download/viewer/
地址栏输入172.16.184.5:5901
然后直接回车
效果如下:
关闭VNC服务
有些时候VNC
服务一年也使用不了几次,比如:我在安装oracle
的时间会开启 VNC
服务,安装完我就用不到了。开启反而浪费服务器资源。
关闭服务
systemctl stop vncserver@:1
开启服务
systemctl start vncserver@:1
查看服务状态
systemctl status vncserver@:1
设置开机启动
systemctl enable vncserver@:1
取消开机启动
systemctl disable vncserver@:1
参考文档
https://zh.wikipedia.org/wiki/VNC
《Installing and configuring a VNC server on CentOS 7》
https://serverspace.io/support/help/installing-and-configuring-a-vnc-server-on-centos-7/
《centos 7 安装xfce 4桌面环境》
https://blog.csdn.net/whatday/article/details/105053918