( Virtual Network Computing)VNC允许Linux系统可以类似实现像Windows中的远程桌面访问那样访问Linux桌面。本文配置机器是兴宁市网络信息中心的一台Centos 7 HP服务器环境下运行。
首先试试服务器装了VNC没
[[email protected] ~]# rpm -q tigervnc tigervnc-server
没安装的话会直接出现
package tigervnc is not installed package tigervnc-server is not installed
如果没有安装X-Windows 桌面的话要先安装Xwindows
[[email protected] ~]# yum check-update [[email protected] ~]# yum groupinstall "X Window System" [[email protected] ~]# yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts [[email protected] ~]# unlink /etc/systemd/system/default.target [[email protected] ~]# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target [[email protected] ~]# reboot
第一步,安装VNC packages:
[[email protected] ~]# yum install tigervnc-server -y
第二步,修改配置信息,在/etc/systemd/system/下建立文件夹[email protected]:1.service 把example config 文件从/lib/systemd/system/[email protected]复制到里面
[[email protected] ~]# cp /lib/systemd/system/[email protected] /etc/systemd/system/[email protected]:1.service
然后打开这个配置文件/etc/systemd/system/[email protected]:1.service替换掉默认用户名
找到这一行
ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i" PIDFile=/home/<USER>/.vnc/%H%i.pid
这里我直接用root 用户登录,所以我替换成
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i" PIDFile=/root/.vnc/%H%i.pid
如果是其他用户的话比如linoxide替换如下
ExecStart=/sbin/runuser -l linoxide -c "/usr/bin/vncserver %i" PIDFile=/home/linoxide/.vnc/%H%i.pid
第三步,重加载 systemd
[[email protected] ~]# systemctl daemon-reload
第四步,为VNC设密码
[[email protected] ~]# vncpasswd
第五步,由于我这边的Centos 7 是用iptable防火墙的所以
vim /etc/sysconfig/iptables
在合适位置加上
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5900:5903 -j ACCEPT
重启iptable
service iptables restart
如果是用Centos 7 默认防火墙的可能需要
[[email protected] ~]# firewall-cmd --permanent --add-service vnc-server [[email protected] ~]# systemctl restart firewalld.service
如果还是有问题可以试试关闭防火墙
-
停止并禁用防火墙; systemctl stop firewalld.service systemctl disable firewalld.service
第六步,设默认启动并开启VNC
[[email protected] ~]# systemctl enable [email protected]:1.service [[email protected] ~]# systemctl start [email protected]:1.service
如果出现如下错误
Job for [email protected]:1.service failed. See ‘systemctl status [email protected]:1.service’ and ‘journ
alctl -xn’ for details.
把 [email protected]:1.service 中的 Type 參數設置為 simple
再執行 systemctl daemon-reload和启动开启VNC
这样基本上Centos 端就设好了,Windows 端要去下一个VNC Viewer 的软件。连接一下试试看着有点简陋但是上去了的