VNC远程桌面连接Ubuntu16.04及灰屏、仅桌面背景无图标问题解决方案

您所在的位置:网站首页 非全日制考研报名时间 VNC远程桌面连接Ubuntu16.04及灰屏、仅桌面背景无图标问题解决方案

VNC远程桌面连接Ubuntu16.04及灰屏、仅桌面背景无图标问题解决方案

2023-09-09 12:40| 来源: 网络整理| 查看: 265

最近想调试Faster-rcnn.pytorch, 发现笔记本的GPU已经无法承受如此大量的数据及运算,因此只能在服务器上调试。但服务器目前只能通过SSH连接,这样跟踪调试就需要pdb,在命令行下进行,麻烦。于是想通过vnc图形化连接ubuntu桌面,没想到这一想法直接让我入了好几个坑...看官请对坑入座。(网上其它方法如vnc4server+xfce4等在你的环境下未必不可行,如果你解决了灰屏等问题,最终成功了,恭喜,如果用尽所有方法还是在坑内,希望该篇能给你启发)

我的环境:ubuntu16.04。其它:cuda8.0

先说最终的解决方案:

1.放弃VNC类方法,改用Teamviewer通过内网(IP方式)访问。

2.如果非要较劲,可尝试以下方法(时间久远,其实非常不赞成用):

使用x11vnc做服务器端,客户端可用vncviewer,或者其他vnc客户端。仅此而已...(这里也有坑,别急着试,注意本文最后坑3)

下面说一下坑,因为配置过程很焦虑,并没有做记录,下面描述可能不精确,但足以提示你该怎么做...

坑1. vnc4server+Gnome灰屏、仅背景无图标

一开始分不清什么Unity,Gnome, Xfce4, Xubuntu。于是按照网上教程,一个一个试。回顾过程,首先使用的是gnome桌面,配置过程类似https://blog.csdn.net/u014389734/article/details/79513517。

一开始没有改~/.vnc/xstartup文件,于是出现灰屏问题,接着各种搜索,基本上说是gnome缺少配件之类的,于是输入上面链接中的命令:

apt-get install --no-install-recommends ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal -y

 并修改配置文件为:

#!/bin/sh # Uncomment the following two lines for normal desktop: # unset SESSION_MANAGER # exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & x-window-manager & gnome-panel & gnome-settings-daemon & metacity & nautilus &

重启vncserver,尝试链接,奇迹似乎出现了,看到了蓝色背景的屏幕和一个开启的文件浏览器,其它的什么都没有,ctrl+alt+t,无法打开terminal...网上各种搜索,各种各种各种各种(不解气呀)修改xstartup文件,均无效!!!这一方案不可行。

坑2 vnc4server+xfce4无法直接登陆桌面无法彻底卸载XUbuntu

通过xfce4链接的,过程类似于http://www.cnblogs.com/EasonJim/p/7529156.html 仍然无效...直接登陆服务器桌面也失败...

这篇https://www.cnblogs.com/xuliangxing/p/7642650.html博客介绍要配置允许远程桌面等操作,想去试试,结果发现服务器登陆界面变成了一只老鼠背景的图案(xfce4),输入密码后,只有桌面背景,其它图标,panel都没有了,悲剧...

既然如此,也只有先恢复原样了。于是按照方法https://blog.csdn.net/weixin_39278265/article/details/83089231卸载XUbuntu。但是发现,不论怎么卸载,那只死老鼠始终在,就算登陆后背景变成Unity,开机登陆,关机界面都是XUbuntu。

又是各种搜搜,中间安装过compiz,gdm等等,均不见效。

插曲:不知从哪里搜索的,不小心将lightdm切换为gdm,结果开机卡住,输出大概为:Slice User Slice of gdm....user id 123。此时莫慌,你是可以ssh登陆的,再切换回lightdm就可以了。

可能的解决方案

后来在这篇文章,和这篇中看到些猫腻,进入目录/usr/share/xsessions/ (可能有误,具体请研读文章)发现居然有xfce4*.desktop,果断删除. 重启死耗子终于不见了。

坑3 x11vnc反复提示密码验证失败

配置过程相对简单,可参考https://blog.csdn.net/gubenpeiyuan/article/details/82229520

注意:

1. x11vnc服务端开启命令如下:

sudo x11vnc -display :0 -auth /var/run/lightdm/root/:0 -forever -bg -o /var/log/x11vnc.log -rfbauth ~/.vnc/passwd -shared -noxdamage -xrandr "resize" -capslock -nomodtweak -rfbport 5900

其中 -auth /var/run/lightdm/root/:0 需要根据自己的电脑情况配置。可用如下命令查询

sudo ps wwwwaux | grep auth

如,输出为 -auth /var/run/lightdm/root/:1,则将开启命令作相应更改。提醒一下,该命令需要主机连接显示器才能有类似-auth /var/run/lightdm/root/:0的输出。如果你没有发现相关输出,可以留意一下主机是否连接显示器。

关于-auth /var/run/lightdm/root:0 参数的含义,有一段英文解释:

x11vnc -auth $XAUTHORITY starts a VNC server where you authenticate with an X cookie. A cookie is a byte sequence that is randomly generated when the X server starts and which (under most setups nowadays) any application that wants to connect to the X server must provide. The cookie is typically stored in a file called ~/.Xauthority or indicated by the XAUTHORITY environment variable. You can manipulate cookie files with the xauth command. You would not normally type X cookies manually; rather, you'd copy them with judicious use of cp (and commands such as ssh may copy them automatically). A common use case is x11vnc -auth guess, which says to use the same cookie when going through the x11vnc channel as when connecting to the X server directly.

2. 如果验证密码始终失败。可能的解决方案

按照配置,端口号似乎默认使用5900,但是通过该端口链接,验证密码始终失败。一气之下,删除自启动配置,重启服务器,通过图形界面,启用端口5901,并设置了密码,再通过vncviewer,顺利登陆。这是什么鬼,欲哭无泪...

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

后记:

楼里停电,服务器需要关机重启,但是重启后弹出“the system is running in low-graphics mode”的提示。

百度google一圈,可能通过命令“sudo cp /etc/X11/xorg.conf.failsafe /etc/X11/xorg.conf”解决。

试后确实可以进系统,但是分辨率有问题,且应速度慢。

最后去服务器那边看了一下,没有连接显示器。连接显示器后恢复正常。

猜测在没有显示器的时候新版又缺失/etc/X11/xorg.conf文件,系统不知道如何显示

Nvidia显卡可用命令nvidia-xconfig生成xorg.conf为文件

其它:

重启X11VNC的方法:可以通过 命令

ps -aux | grep x11vnc

查看x11vnc进程id,然后 sudo kill id即可。如果有其它更稳妥的方法欢迎留言。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3