2022.03.31

centos服务器中若要配置anaconda,不能在 /etc/bashrc 里面添加配置,否则会vnc会和anaconda产生冲突,目前由于什么原因产生的冲突尚未可知。

前提在服务器上已经安装好桌面。

以下为在CentOS7.6服务器上安装VNC远程连接工具的步骤:

第一步:安装VNC服务软件,使用root用户执行以下命令:

yum install tigervnc-server -y

等待安装完毕。安装后可以使用如下命令来验证是否安装成功:

第二步:创建用户,配置vnc密码。 

        创建用户后,su进用户,使用 vncpasswd 来设置连接密码,以后使用VNC Viewer 远程密码输入的就是这个。务必记住,不要出错。

第三步:复制vnc的启动操作脚本。其中/vncserver@:1.service中 1 代表--桌面号。那么启动的端口号就是 5901,如果是/vncserver@:2.service,那么对应启动的端口就是 5902。以此类推。

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

第四步:编辑 /etc/systemd/system/vncserver@:1.service 文件。

vim /etc/systemd/system/vncserver@:1.service

当时我在这一步出错了很久,因为参考网上很多,他们可能写法是

但是,这种不合适我的情况,我的service文件中是 

 只需要修改图中黄色框内的 <USER>用户名称 即可。最后 ESC + :wq 保存推出。

第五步:启动vnc服务。

        首先重新加载:

systemctl daemon-reload            # 重新加载
systemctl start vncserver@:1.service    # 开启vnc服务
systemctl status vncserver@:1.service    # 查看vnc服务状态,防止出错
systemctl enable vncserver@:1.service    # 将vnc服务设置为每次开机启动

   

第六步:设置防火墙。因为vnc需要的590+端口可能被防火墙挡住。所以开放这个端口:

firewall-cmd --add-port=5901/tcp    # 开放5901端口
firewall-cmd --add-port=5901/tcp --permanent    #永久开放
firewall-cmd --reload    #重新加载使之生效

第七步:在windows上安装 CNC Viewer 。官网 上下载,直接按照步骤按照即可。我的版本是6.20 。之后使用   IP:590+ 也就是 ip地址:5901来连接。

之后提示输入密码,输入 上面设置的vncpasswd的密码

 成功连接。

后续所遇 Error 总结:

1. 当服务器出现异常,重启后连接时出现错误:

A VNC server is already running as :9

 具体错误忘记截图,下次遇到再补上

[root@*** ***]# systemctl status vncserver@:14.service
● vncserver@:14.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:14.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since 四 2022-10-06 16:52:39 CST; 31s ago
  Process: 53226 ExecStop=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
  Process: 53161 ExecStart=/usr/bin/vncserver_wrapper yzh8 %i (code=exited, status=2)
  Process: 53155 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
 Main PID: 53161 (code=exited, status=2)

10月 06 16:52:39 *** systemd[1]: Starting Remote desktop service (VNC)...
10月 06 16:52:39 *** systemd[1]: Started Remote desktop service (VNC).
10月 06 16:52:39 *** vncserver_wrapper[53161]: Warning: ***:14 is taken because of /tmp/.X11-unix/X14
10月 06 16:52:39 *** vncserver_wrapper[53161]: Remove this file if there is no X server lsq:14
10月 06 16:52:39 *** vncserver_wrapper[53161]: A VNC server is already running as :14
10月 06 16:52:39 *** vncserver_wrapper[53161]: FATAL: 'runuser -l ***' failed!
10月 06 16:52:39 *** systemd[1]: vncserver@:14.service: main process exited, code=exited, status=2/INVALIDARGUMENT
10月 06 16:52:39 *** systemd[1]: Unit vncserver@:14.service entered failed state.
10月 06 16:52:39 *** systemd[1]: vncserver@:14.service failed.

注意,这是根据错误提示:Warning: ***:14 is taken because of /tmp/.X11-unix/X14。删除对应文档即可.

这时根据提示删除对应文件即可解决。

rm -f /tmp/.X11-unix/X14

2. vnc与anaconda的环境冲突问题

在开启vnc服务时出现以下错误:

 即

 Could not make bus activated clients aware of XDG_CURRENT_DESKTOP=GNOME 
environment variable: Could not connect: Connection refused

        经百度查询得知,问题根源在于vnc与anaconda的环境冲突,遂解决办法主要在调和双方在linux环境中的设置。

        解决过程中在网上看过许多方法,多数为先注释anaconda的环境设置,再连接vnc,最后在将注释去掉。通过这种间接方法解决这个问题。下次再连接时还需重复相同操作,着实麻烦。

        通过查阅相关博文,得知主要方法都是改动anaconda的环境配置,这里需要提醒一下大家,须知linux中设置环境变量的方法有多种,包括以下:

1. export PATH=/usr/local/mongodb/bin:$PATH
2. vim ~/.bashrc 
3. vim /etc/environment
4. vim /etc/profile

        经测试,若将 anaconda 环境设置在 /etc/profile 中,vnc与其不会产生冲突,而在 ~/.bashrc 中设置则冲突,其中细节之处尚未深究。故非必要不在 ~/.bashrc 中配置anaconda环境即可

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐