centos7安装桌面和vnc

首先看看自己的服务器装了VNC了么

1
2
3
4
5
6
7
8
9
10
11
rpm -q tigervnc tigervnc-server
#没安装的话会显示
package tigervnc is not installed
package tigervnc-server is not installed
#就先安装XWindow
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

安装&配置vncserver

1
2
3
4
5
6
7
8
9
10
11
12
yum install tigervnc-server -y
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
vim /etc/systemd/system/vncserver@:1.service
#替换用户名,找到下面这两行
ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid
#<USER>替换成你的用户名,如果是root的话
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
#如果用户名是xxx的话
ExecStart=/sbin/runuser -l xxx -c "/usr/bin/vncserver %i"
PIDFile=/home/xxx/.vnc/%H%i.pid

重加载systemd & 设置vnc登录密码

1
2
systemctl daemon-reload
vncpasswd

然后是端口的放行

1
2
3
4
5
6
#如果是iptable
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 5900:5903 -j ACCEPT
service iptables restart
#如果是firewalld的话
firewall-cmd --permanent --add-service vnc-server
systemctl restart firewalld.service

设置开机启动vnc

1
2
3
systemctl enable vncserver@:1.service
systemctl start vncserver@:1.service
reboot

查看启动状态和vnc端口

1
2
systemctl status vncserver@:1.service
netstat -lnt | grep 590*

如果你没有出现奇怪的问题,做到这一步就可以用了
链接方法就是ip:port 端口就是最后查找的
不一定是5900的

=================================

可惜很不幸的就是,我就是这样开不起来,总会出现奇怪的问题
status报错

1
Process: 2342 ExecStart=/sbin/runuser -l root -c /usr/bin/vncserver %i(code=exited, status=98)

就是这个(code=exited, status=98)奇怪的错误
经过度娘等发现还要修改一些东西

1
2
3
4
5
vim /etc/systemd/system/vncserver@:1.service
#从[Service]内找到这一行Type=forking,然后改成
Type=simple 
#然后保存退出
reboot

就这样就可以用了

添加评论