遇见时光

Keep Looking , Don't Settle
Stay Hungry , Stay Foolish

CentOS7安装使用VNC远程桌面

1.在Linux服务器上安装配置VNC-server

1.1 配置vnc-server

1.1.1 安装VNC服务端并设置VNC连接密码

首先安装vnc的server(若没有安装的话);需要root权限

1
2
su
yum install tigervnc tigervnc-server

登录非root用户,如admin;设置vncpassword

1
2
3
4
vncpasswd 
#Password:!d0802
#Verify:!d0802
# 注意:would you like to enter a viwer-only password(y/n)? y

1.1.2 拷贝并修改配置文件

安装完成后开始配置, 将模板配置文件拷贝至配置文件目录下/etc/systemmd/system/, 如果是多用户,则每个用户拷贝一份,其中@:1.service中的数字1对应VNC服务端口5901,数字2对应端口5902根据自己的需求设置即可。

1
2
3
4
5
6
# 复制配置模板文件
# 需要root权限
su
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
# 编辑配置文件
vi /etc/systemd/system/vncserver@:1.service

进入service文件,按下面图片的方式更改:

zxk

1.1.3 重新加载配置文件

1
2
# 重新加载systemctl文件
systemctl deamon-reload

1.1.4 启动VNC并设置开机启动

1
2
3
4
# 启动VNC服务
systemctl start vncserver@:1.service
# 设置开机启动
systemctl enable vncserver@:1.service

1.1.5 添加防火墙例外

1
2
3
4
5
6
# 添加 VNC 服务例外
firewall-cmd --permanent --add-service vnc-server
# 添加 5901 端口例外
firewall-cmd --permanent --add-port=5901/tcp
# 重启防火墙
firewall-cmd --reload

1.1.6 创建VNC service

1
2
3
4
# 指定1920x1080分辨率的窗口
vncserver -geometry 1920x1080
# 查看vnc-server的状态
vncserver -list

2. 在Windows下安装配置VNC服务

https://www.realvnc.com/en/connect/download/viewer/windows/下下载Windows的客户端,然后按照指示完成安装:

zxk

3. 在Windows下远程连接服务器

  1. 打开VNC-Viewer,Files——>New Connection,输入VNC Server的IP地址,一个服务器上可以开启多个VNC服务,使用数字来标识,我们要连接第一个那就要输入例如:10.10.65.1:1,加密方式默认就可以了,Name的名字随意取即可。

    zxk

  2. 双击小电脑即可进行连接,弹出对话框,输入之前vncpasswd设置的密码即可;点击连接,就可以远程连接CentOS桌面,再输入系统密码进入,如下图所示:

    zxk

  3. 若远程桌面模糊,在Properties中设置Picture quality为Medium即可,此时需要较为稳定的网速,不然容易出现卡顿!

4. VNC与Anaconda冲突问题

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

查看用户services启动的错误日志:如,cat /root/.vnc/kevin:1.log

** (process:31798): WARNING **: 21:56:03.861: Could not make bus activated clients aware of XDG_CURRENT_DESKTOP=GNOME environment variable:
Could not connect: Connection refused

1
2
原因:dbus-daemon存在冲突。
因为root系统环境中装有anaconda,它的bin目录中的dbus-daemon会与系统自带的dbus-daemon冲突。
1
2
3
4
[root@kevin ~]# find / -name "dbus-daemon"
/usr/bin/dbus-daemon
/data/anaconda3/bin/dbus-daemon
/data/anaconda3/pkgs/dbus-1.13.6-h746ee38_0/bin/dbus-daemon

解决办法:vnc和anaconda冲突解决方法:could not make bus activated clients aware of XDG_CURRENT_DESKTOP=GNOME envi;

1、注释掉~/.bashrc中anaconda相关的环境变量设置;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/usr/local/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/usr/local/anaconda3/etc/profile.d/conda.sh" ]; then
. "/usr/local/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/usr/local/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<

2.执行source ~/.bashrc

3.重启一个xshell连接,启动VNC

4.还原~/.bashrc中的注释掉的anaconda相关的环境变量

5.再次执行source ~/.bashrc

大爷,赏点?