本次实验是RHEL 7.3平台
第1步、安装RHEL+tiger server
要求:RHEL 系统得安装Server with GUI 服务组件,如果是最小化安装,得安装这个组件包:yum groupinstall "Server with GUI "
# yum install tigervnc-server tigervnc
同时关闭防火墙
# systemctl stop firewalld
# systemctl disable firewalld
关闭selinux
# cat /etc/selinux/config
SELINUX=disabled #设置为disabled 并重启系统
第2步、配置vncserver配置文件
为每个用户配置vncserver配置文件
#cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service #这是给tengqing的配置文件 #cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service #这是给oyyf用户的配置文件
新增用户和设置开机登陆密码
# useradd tengqing -G wheel # useradd oyyf -G wheel
# passwd tengqing #设置开机登陆密码
# passwd oyyf #设置开机登陆密码
设用用户vnc远程连接密码
# su - tengqing #从root切换到tengqing环境 $ vncpasswd #设置tengqing 的vnc连接密码,至少6位 $ exit # su - oyyf $vncpasswd 完成用户的vnc 连接密码设置,一定要注意,只能su - 切换到用户的环境才能设置密码,否则服务启动不起来,报错。
VNC连接密码设置完后,会保存在用户的家目录:/home/tengqing/.vnc/passwd 文件中。
修改配置文件
# vim /etc/systemd/system/vncserver@:1.service
[Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking #User=tengqing # Clean any existing files in /tmp/.X11-unix environment ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :' #为分配的端口号 ExecStart=/usr/sbin/runuser -l tengqing -c "/usr/bin/vncserver :1" #修改2处 PIDFile=/home/tengqing/.vnc/%H%i.pid #服务进程文件 ExecStop=/bin/sh -c '/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :' #修改1处 [Install] WantedBy=multi-user.target
按以上格式修改其它用户。
但是如果要为root用户配置vncserver , 以上的配置文件有一处需要注意:PIDFile=/home/tengqing/.vnc/%H%i.pid 。
特殊之处就是root的家目录在:/root下,只需要把此处修改为:PIDFile=/root/.vnc/%H%i.pid。
第3步、启动用户的vncserver 服务
重新加载配置文件
# systemctl daemon-reload
启动服务,其中 vncserver@:1.service 代表tengqing,vncserver@:1.service 代表oyyf ,具体看配置文件,我前面是这么配置的;
# systemctl start vncserver@:1.service # systemctl enable vncserver@:1.service #设置开机自启动 # systemctl start vncserver@:2.service # systemctl enable vncserver@:2.service
有时启动服务失败,可以先切换到用户环境:# su - tengqing ,再执行:$ vncserver :1 , 这是另外一种启动vnc服务的方法,但一定要先切换到用户的环境下;
第4步、vnc 客户端连接
用户连接时,需要带上端口号,默认从:5901 开始分配,也就是用户配置文件里面写的 :1 表示的是端口号,后面依次类推;
连接时,需要输入VNC Password ,进去后,就会看到桌面,此时还要输一次用户登陆桌面的密码;
第5步、简单维护
# vncserver -list #列出当前用户的vnc连接
$ vncserver -kill :1 #关闭当前用户下的:1 ,也就是停止服务
关于分辨率
默认连接到server上是1024*768分辨率,可以在server的桌面设置分辨率
在vncserver@:2.service配置文件中设置-geometry 1280*720 -depth 24没有什么效果:
ExecStart=/usr/sbin/runuser -l shichunda -c "/usr/bin/vncserver :2 -geometry 1600*900"