RHEl 配置多用户登陆(tiger vnc server)

本次实验是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"

原文地址:https://www.cnblogs.com/reachos/p/14523214.html