正常使用的vncserver突然就出现连接黑屏的问题,花了些时间终于搞定了,希望下面的内容能给遇到相同问题的人节省时间。Time is
Money!
调查过程
- 最开始怀疑是gnome桌面显示设置问题,一顿狂改~/.vnc/xstartup文件结果无效
- 后来去查vncserver启动log,发现log中报错如下:
(imsettings-check:1374): IMSettings-WARNING **: Could not connect: Connection refused
(imsettings-check:1374): GLib-GIO-CRITICAL **: g_dbus_proxy_call_sync_internal: assertion `G_IS_DBUS_PROXY (proxy)’ failed
- 然后一顿狂查这个错误后,得到结果是因为系统中安装了anaconda3,并且将anaconda3的路径添加在了PATH环境变量最前面导致dbus-daemon冲突(导致vncserver启动是采用的anaconda3目录下的dbus-daemon而没采用系统自带的),进而导致vncserver的启动报错。最终表现为vnc连接黑屏
解决方法
首先使用echo $PATH查看包含多少个anaconda3的路径(可能会存在多个)
找到系统中设置anaconda3的地方,将路径放在PATH最后。
检查/etc/profile, /etc/bashrc, ~/.bashrc这三个文件,
另外如果~/.bashrc中存在如下代码则需要全部注视掉,然后加上添加PATH的语句即可。如下:
#注释掉下面的内容,下面的内容执行会自动将anaconda3的路径添加至PATH最前面
# added by Anaconda3 5.3.1 installer
# >>> conda init >>>
# !! Contents within this block are managed by 'conda init' !!
#__conda_setup="$(CONDA_REPORT_ERRORS=false '/root/anaconda3/bin/conda' hook 2> /dev/null)"
#if [ $? -eq 0 ]; then
# \eval "$__conda_setup"
#else
# if [ -f "/root/anaconda3/etc//" ]; then
# . "/root/anaconda3/etc//"
# CONDA_CHANGEPS1=false conda activate base
# else
# \export PATH="$PATH:/root/anaconda3/bin"
# fi
#fi
#unset __conda_setup
# <<< conda init <<<
#添加卡面这一行
export PATH="$PATH:/root/anaconda3/bin"