zoukankan      html  css  js  c++  java
  • 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--. 1 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


  • 相关阅读:
    AndroidManifest.xml详细分析
    GoogleMap-------解决不能使用问题
    GoogleMap-------manifest文件配置
    GoogleMap-------Google Play services SDK的下载和配置
    css_兼容IE和FF的写法
    dede如何新建一个ajax服务端输出文件
    js用ajax和不同页面的php互相传值的方法
    js获取多个标签元素的内容,并根据元素的内容修改标签的属性
    网页上记录鼠标的点击次数和一段有用的php代码,自己学习使用
    PHP弹出提示框并跳转到新页面即重定向到新页面
  • 原文地址:https://www.cnblogs.com/ztguang/p/12645907.html
Copyright © 2011-2022 走看看