本文章全程使用root用户进行操作

  1. 配置前准备

    • 升级更新(可选)
      更新资源,避免资源过旧出现问题
    # yum update
    
    • 安装额外yum源
    # yum install epel-release
    
  2. 安装Xfce

    1. 安装
      • 安装Xfce
      # yum groups install Xfce
      
    2. 配置Xfce(可选)
      • 安装中文字体
      # yum install wqy*
      //也可以安装其他字体
      
      # yum install cjkuni-ukai-fonts
      
      • 安装中文输入法
        安装ibus中文输入法
      # yum install ibus.x86_64
      # yum install ibus-libpinyin.x86_64
      
      安装输入法选择器
      # yum install im-chooser.x86_64
      
      • 设置Xfce中文显示
      # vim /etc/locale.conf
      
      LANG=en_US.UTF-8
      
      改为
      LANG=zh_CN.UTF-8
      
      • 配置xfce为默认桌面
        打开用户目录下的.Xclients文件
      # vim ~/.Xclients
      
      把下面内容写入文件
      #!/bin/bash
      XFCE="$(which xfce4-session 2>/dev/null)"
      exec "$XFCE"
      
      增加权限
      # chmod +x ~/.Xclients
      
      重启xrdp
      # systemctl restart xrdp
      
      此时,通过远程桌面登录后,默认显示的就是Xfce桌面了。
  3. 安装XRDP

    1. 安装
      # yum install xrdp
      
    2. 安装与配置TigerVNC
      安装
      # yum install tigervnc tigervnc-server
      
      <font color=red>详见步骤4</font>
    3. 配置
      • 配置xrdp.ini文件
        <font color=red>需配置xrdp.ini,否则远程连接可能无法成功</font>

        # vim /etc/xrdp/xrdp.ini
        

        把max_bpp===32== 改为max_bpp===24==

      • 配置SELinux
        <font color=red>需配置SELinux , 否则可能无法启动xrdp服务,或者启动出错</font>

        # chcon -t bin_t /usr/sbin/xrdp
        # chcon -t bin_t /usr/sbin/xrdp-sesman
        
    4. 启动xrdp服务
      • 启动服务
        #  systemctl start xrdp
        
      • 设为开机启动
        #  systemctl enable xrdp
        
    5. 额外内容
      • 查看xrdp服务是否正常启动
        <font color=red>如果看到Active则说明正常</font>
        #  systemctl status xrdp.service
        
        <font color=red>看xrdp和xrdp-sesman是否正常启动</font>
        #  netstat -antup|grep xrdp
        
      • 设置防火墙(二选一)
        • 关闭防火墙
          #  systemctl stop firewalld.service
          #  systemctl disable firewalld.servie
          
        • 打开3389端口
          #  firewall-cmd --permanent --zone=public --add-port=3389/tcp
          #  firewall-cmd --reload
          
      • 客户端配置

        使用服务 Windows 自带的<font color=red>远程桌面连接</font>程序进行连接。

  4. 安装TigerVNC

    1. 安装

      # yum install tigervnc tigervnc-server
      
    2. 设置vnc密码

      # vncpasswd
      

      如需为其他用户配置密码

      # vncpasswd user
      

      其中<font color=red>user</font>为用户名,如 <font color=red>root</font>

    3. 配置

      • 拷贝配置文件

        # cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
        

        其中 vncserver@:==1==.server 的 ==1== 为服务实例编号。
        VNC服务可以设置多个服务实例。
        一个服务实例编号代表一个服务端口,VNC服务端口从5900开始。
        而 vncserver@:1.server 对应服务端口5901,以此类推 vncserver@:10.server 对应的服务端口为5910

      • 修改配置文件

        # vi /etc/systemd/system/vncserver@:1.service
        

        将 vncserver@:1.service 中

        ExecStart=/sbin/runuser -l <USER>-c "/usr/bin/vncserver %i"
        PIDFile=/home/<USER>/.vnc/%H%i.pid
        

        的<font color=red> <USER> </font>改为你所需要通过VNC登陆的服务的用户名。

      • 刷新服务、设置自启、启动服务

        • 刷新服务
        # systemctl daemon-reload
        
        • 设置自启
        # systemctl enable vncserver@:1.service
        
        • 启动服务
        # systemctl start vncserver@:1.service
        

        若此处出现

        Job for vncserver@:1.service failed because a configured resource limit was exceeded. See "systemctl status vncserver@:1.service" and "journalctl -xe" for details.
        

        错误,请查看<font color=red>错误解决方案</font>

      • 设置防火墙(如果开启了防火墙)

        # firewall-cmd --permanent --add-service vnc-server
        # systemctl restart firewalld.service
        
      • 客户端配置

        使用<font color=red> Tightvnc viewer</font> 或 <font color=red>Realvnc viewer</font> 等客户端进行连接。 如若配置了XRDP,则需要开设多个服务实例,否则无法进行连接。

      • 额外操作
        如若VNC连接后,只能看到一个空白的桌面并且不能操作,此时需要进行额外的操作。

      # vim /root/.vnc/xstartup
      

      将文件内容替换为

      #!/bin/sh
      # Uncomment the following two lines for normal desktop:
      unset SESSION_MANAGER
      #exec /etc/X11/xinit/xinitrc
      [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
      xsetroot -solid grey
      vncconfig -iconic &
      startxfce4 &
      
      • 错误解决方案
        1. 错误 1
          执行设置自启

          # systemctl enable vncserver@:1.service
          

          时出现错误

          <font color=red>解决方法:</font>
          将 vncserver@:1.service 中

          Type = forking
          

          改为

          Type = simple
          

          刷新服务

          # systemctl daemon-reload