咱们都知道,做为一个系统管理员,大多数时间是经过网络管理服务器的。在管理服务器的过程当中,大多数状况下咱们只是用 SSH 来完成咱们的管理任务。VNC 容许咱们开启一个远程图形会话来链接咱们的服务器,这样咱们就能够经过网络远程访问服务器的图形界面了。linux
VNC 服务器是一个自由开源软件,它可让用户能够远程访问服务器的桌面环境。另外链接 VNC 服务器须要使用 VNC viewer 这个客户端。服务器
一些 VNC 服务器的优势:网络
那么,让咱们开始安装 VNC 服务器之旅吧。咱们须要按照下面的步骤一步一步来搭建一个可用的 VNC。session
首先,咱们须要一个可用的桌面环境(X-Window),若是没有的话要先安装一个。ssh
注意:如下命令必须以 root 权限运行。要切换到 root ,请在终端下运行“sudo -s”,固然不包括双引号(“”)。curl
1. 安装 X-Window编辑器
首先咱们须要安装X-Window,在终端中运行下面的命令,安装会花费一点时间。ide
# yum check-update # yum groupinstall "X Window System"
#yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts
### 设置默认启动图形界面 # unlink /etc/systemd/system/default.target # ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
# reboot
在服务器重启以后,咱们就有了一个工做着的 CentOS 7 桌面环境了。工具
如今,咱们要在服务器上安装 VNC 服务器了。url
2. 安装 VNC 服务器
如今要在咱们的 CentOS 7 上安装 VNC 服务器了。咱们须要执行下面的命令。
# yum install tigervnc-server -y
3. 配置 VNC
而后,咱们须要在 /etc/systemd/system/目录里建立一个配置文件。咱们能够将 /lib/systemd/sytem/vncserver@.service拷贝一份配置文件范例过来。
# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
接着咱们用本身最喜欢的编辑器(这儿咱们用的 nano)打开/etc/systemd/system/vncserver@:1.service,找到下面这几行,用本身的用户名替换掉。举例来讲,个人用户名是 linoxide 因此我用 linoxide 来替换掉 :
ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i" PIDFile=/home/<USER>/.vnc/%H%i.pid
替换成
ExecStart=/sbin/runuser -l linoxide -c "/usr/bin/vncserver %i" PIDFile=/home/linoxide/.vnc/%H%i.pid
若是是 root 用户则
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i" PIDFile=/root/.vnc/%H%i.pid
好了,下面重启 systemd 。
# systemctl daemon-reload
最后还要设置一下用户的 VNC 密码。要设置某个用户的密码,必需要有能经过 sudo 切换到用户的权限,这里我用 linoxide 的权限,执行“su linoxide”就能够了。
# su linoxide $ sudo vncpasswd
备注:确保你输入的密码多于6个字符
4. 开启服务
用下面的命令(永久地)开启服务:
$ sudo systemctl enable vncserver@:1.service
启动服务。
$ sudo systemctl start vncserver@:1.service
5. 防火墙设置
咱们须要配置防火墙来让 VNC 服务正常工做。
$ sudo firewall-cmd --permanent --add-service vnc-server $ sudo systemctl restart firewalld.service
如今就能够用 IP 和端口号(LCTT 译注:例如 192.168.1.1:1 ,这里的端口不是服务器的端口,而是视 VNC 链接数的多少从1开始排序)来链接 VNC 服务器了。
6. 用 VNC 客户端链接服务器
好了,如今已经完成了 VNC 服务器的安装了。要使用 VNC 链接服务器,咱们还须要一个在本地计算机上安装的仅供链接远程计算机使用的 VNC 客户端。
你能够用像Tightvnc viewer和 Realvnc viewer的客户端来链接到服务器。
要用更多的用户链接,须要建立配置文件和端口,请回到第3步,添加一个新的用户和端口。你须要建立 vncserver@:2.service, 并替换配置文件里的用户名和以后步骤里相应的文件名、端口号。请确保你登陆 VNC 服务器用的是你以前配置 VNC 密码的时候使用的那个用户名。
VNC 服务自己使用的是5900端口。鉴于有不一样的用户使用 VNC ,每一个人的链接都会得到不一样的端口。配置文件名里面的数字告诉 VNC 服务器把服务运行在5900的子端口上。在咱们这个例子里,第一个 VNC 服务会运行在5901(5900 + 1)端口上,以后的依次增长,运行在5900 + x 号端口上。其中 x 是指以后用户的配置文件名vncserver@:x.service里面的 x 。
在创建链接以前,咱们须要知道服务器的 IP 地址和端口。IP 地址是一台计算机在网络中的独特的识别号码。个人服务器的 IP 地址是96.126.120.92,VNC 用户端口是1。
执行下面的命令能够得到服务器的公网 IP 地址(LCTT 译注:若是你的服务器放在内网或使用动态地址的话,能够这样得到其公网 IP 地址)。
# curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
其余命令:
关闭 VNC 服务。
# systemctl top vncserver@:1.service
禁止 VNC 服务开机启动。
# systemctl disable vncserver@:1.service
关闭防火墙。
# systemctl stop firewalld.service
总结
好了,如今咱们已经在运行 CentOS 7 / RHEL 7 的服务器上安装配置好了 VNC 服务器。VNC 是自由开源软件中最简单的一种能实现远程控制服务器的工具,也是一款优秀的 Teamviewer Remote Access 替代品。VNC 容许一个安装了 VNC 客户端的用户远程控制一台安装了 VNC 服务的服务器。
免费提供最新Linux技术教程书籍,为开源技术爱好者努力作得更多更好:http://www.linuxprobe.com/