笔者要为学生开通深度学习实验实训,购置了4台服务器,每台服务器安装了CentOS系统,同时配置了每台机器配置了4块RTX2080Ti的显卡。
为了让每个老师和学生可以登录服务器,我们计划采用TigerVNC作为开设多个VNS服务,为每个老师和学生开设账号,让他们登录服务器,使用深度学习的框架进行训练。
由于平时业务工作也忙,寒假里试了一试,发现厂家已经帮我们安装了TigerVNC,但是只能开通单个人用户,多个人的就是无法开通。昨天晚上决定,一定要把多用户使用VNCserver的问题解决。说干就干。
于是开始浏览知乎和百度关于这方面的帖子。有些帖子给我帮助很大,比如以下两个:
我把安装的步骤写下来:
1、添加多个配置文件:
在/etc/systemd/system下面,原先有一个vncserver@:1.service的文件;只能支持一个用户登录vncserver;如果3个用户同时登录,需要再建立两个文件,文件名为:
vncserver@:2.service
vncserver@:3.service
注意,只需要从vncserver@:1.service文件copy生成vncserver@:2.service和vncserver@:3.service就可以了。
cp vncserver@:1.service vncserver@:2.service
cp vncserver@:1.service vncserver@:3.service
2、编辑vncserver@:2.service;vncserver@:3.service
gedit vncserver@:2.service,可以看到以下内容:
[Service]
Type=simple
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver_wrapper centos %i
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
请注意加粗的“centos”就是需要修改的地方,我的第二个用户是ling,把这个改为ling;同样,第三个用户是liang,就把vncserver@:3.service对应的地方改为liang。
3、启动对应的VNC服务
systemctl enable vncserver@\:1.service
systemctl enable vncserver@\:2.service
systemctl enable vncserver@\:3.service
还可以重新加载服务:
systemctl daemon-reload
4、配置多个用户的VNC客户端
以ling的账户登录,可以用putty或者ssh,登录后执行:
vncserver
5、打开防火墙相应的端口
这一步折磨了我很长时间,我完成以上配置之后,第二个用户怎么也连不上vncserver,最后才发现是防火墙的端口没开。
vncserver@\:1.service的端口号是5901;
vncserver@\:1.service的端口号是5902;
vncserver@\:1.service的端口号是5903;
我使用:
firewall-cmd --list-port
可以查到端口号,发现只有5901端口打开了;于是:
firewall-cmd --zone=public --add-port=5902/tcp --permanent
firewall-cmd --zone=public --add-port=5903/tcp --permanent
在使用一下语句重新加载:
firewall-cmd --reload
然后分别用VNC viewer链接对应的Vncserver,一起OK
本文链接:https://www.kinber.cn/post/4781.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝: