Centos7 安装vnc


http://blog.sina.com.cn/s/blog_6347780c0102v6ce.html


Centos7与Centos6.x有了很大的不同。

为了给一台服务器装上远程桌面,走了不少弯路。写这篇博文,纯粹为了记录,以后如果遇到相同问题,可以追溯。

1、假定你的系统没有安装vnc的任何软件,那么,首先安装vnc

 
yum  -y  install  tigervnc-server  tigervnc

2、Centos7之前的系统,如果安装vnc一般都需要配置

 
[root@localhost  ~]#  cat  /etc/sysconfig/vncservers 
THIS  FILE  HAS  BEEN  REPLACED  BY  /lib/systemd/system/vncserver@.service

但是,如上所述,Centos7需要配置的文件在

 
[root@localhost  ~]#  ll  /lib/systemd/system/vncserver@.service
-rw-r--r--.  root  root  1744  Jun  10  14:15  /lib/systemd/system/vncserver@.service

3、文件内有如下提示

 
Quick  HowTo:
1.  Copy  this  file  to  /etc/systemd/system/vncserver@:.service
2.  Edit    and  vncserver  parameters  appropriately
    ("runuser  -l    -c  /usr/bin/vncserver  %i  -arg1  -arg2")
3.  Run  `systemctl  daemon-reload`
4.  Run  `systemctl  enable  vncserver@:.service

 

4、复制一份文件,并改名为vncserver@:1.service

 
[root@localhost  ~]#  cp  /lib/systemd/system/vncserver@.service  /lib/systemd/system/vncserver@:1.service

5、将文件中的用你当前的用户替换,将%i替换为1

 
[Unit]
Description=Remote  desktop  service  (VNC)
After=syslog.target  network.target
[Service]
Type=forking
Clean  any  existing  files  in  /tmp/.X11-unix  environment
ExecStartPre=/bin/sh  -c  '/usr/bin/vncserver  -kill  :1  /dev/null  2>&1  ||  :'
ExecStart=/sbin/runuser  -l  root  -c  "/usr/bin/vncserver  :1  -geometry  1280x720  -depth  24"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh  -c  '/usr/bin/vncserver  -kill  :1  /dev/null  2>&1  ||  :'
[Install]
WantedBy=multi-user.target

6、更新systemctl

 
systemctl  daemon-reload

7、设置为自动启动

 
systemctl  enable  vncserver@:1.service

8、启动vnc服务

 
systemctl  start  vncserver@:1.service

9、在iptables中加入对应的端口5901(注意,如果有其他用户,那么也需要将端口加上。vnc的端口默认是5900 +n)

 
[root@localhost  system]#  cat  /etc/sysconfig/iptables
sample  configuration  for  iptables  service
you  can  edit  this  manually  or  use  system-config-firewall
please  do  not  ask  us  to  add  additional  ports/services  to  this  default  configuration
*filter
:INPUT  ACCEPT  [0:0]
:FORWARD  ACCEPT  [0:0]
:OUTPUT  ACCEPT  [0:0]
-A  INPUT  -m  state  --state  RELATED,ESTABLISHED  -j  ACCEPT
-A  INPUT  -p  icmp  -j  ACCEPT
-A  INPUT  -i  lo  -j  ACCEPT
-A  INPUT  -p  tcp  -m  state  --state  NEW  -m  tcp  --dport  22  -j  ACCEPT
-A  INPUT  -p  tcp  -m  state  --state  NEW  -m  tcp  --dport  5901  -j  ACCEPT
-A  INPUT  -j  REJECT  --reject-with  icmp-host-prohibited
-A  FORWARD  -j  REJECT  --reject-with  icmp-host-prohibited
COMMIT

注意:

1、如果你不配置和启用防火墙,此时用VNC Viewer连接的话,会报:"connect:Connection timedout(10060)"错误。

2、本文是以root用户为例,如果其他用户也需要登录,那么,还需要将文件复制为

 
cp  /lib/systemd/system/vncserver@.service  /lib/systemd/system/vncserver@:2.service

同时,将文件内的%i改为2,并建立对应用户的vncpasswd。

3、你可以通过UltraVNC,TigerVNC或者RealVNCViewer进行访问,我在win7下使用这3中工具均能连接


 5. 启用配置文件 systemctl enable vncserver@:1.service

 6. 设置登陆密码:vncpasswd

 7. 启动vncserver:systemctl start vncserver@:1.service

 8 . 启动状态查看:systemctlstatus vncserver@:1.service

 9.查看端口状态:netstat -lnt grep 590*

 10.查看报错信息:grep vnc /var/log/messages



关闭防火墙和SELinux后,仍然报错,最后通过修改vnc配置文件:type=simple后问题解决

本文出自 “Chase”博客,请务必保留此出处http://uchase.blog.51cto.com/880483/1545357


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值