自从开始使用Ubuntu20.04搭建深度学习服务器,就想到使用VNC远程桌面连接使用。可是之前一直使用的是Ubuntu18.04,心里想着设置应该不难,结果在配置的时候总出现无法连接的错误。下面我就分享一下我使用TigerVNC配置远程桌面连接过程中遇到的问题和解决方法。
本文使用的软件版本和使用Linux环境:
运行环境很重要,查看自己使用的Ubuntu版本和想要使用的桌面,并且准备好VNC软件。
安装Ubuntu的时候选择了GUI的安装,因为使用的是desktop版,默认为gnome桌面
Ubuntu使用命令:lsb_release -a 查看
VNC软件的选择
RealVNC和TigherVNC都是非常不错的VNC软件,本次选择使用TigherVNC是一个主动维护的高性能VNC服务器,因为能找到的成功经验很多。避坑点之一就是选择TigherVNC。TigerVNC的最新版本可以从GitHub发布页面下载。
在Ubuntu上安装TigherVNC服务器过程很简单,使用如下命令即可安装:
“apt install tigervnc-standalone-server”
安装完成后可以使用vncpasswd命令进行设置,第一次登陆会让你输一个密码,这个根据自己的需求来填写。
个人不建议在询问是否要设置一个“view-only”密码设置密码,因为使用“只看”密码登录后就只能看,不能修改。
启动VNCserveer启动命令和连接命令和Ubuntu18.04一样
“Windows 10 Poswershell 中 ssh User_Name@IP-address”
“Vncserver:num –localhost no #num is port number”
有个需要注意的地方,在创建VNC端口的时候
一定要加上 -localhost no, 否则只能本地连接,不能实现远程连接,那么vnc就毫无意义
“Example : vncserver :3 –localhost no” #3为端口号,no表示非局域网内账户也可访问
VNC Viewer也有很多的版本,避坑点之二,你是用TigherVNC就使用 TighVNC Viewer。所有配置完成后,可以VNC正常登录了,在更换比如 RealVNC Viewer。
打开Tigervnc-Viewer连接
因为我使用的是Windows 10,直接下载TigerVNC Viewer
新建用户和权限
避坑第三个地方,你当前登录的用户,一定要是使用adduser命令添加的。
其实这一步骤在安装完成Ubuntu就进行了,如果你已经安装完成,最好重新建立一个用户。
因为很多的资料都是要修改用户权限,但是对于不是太熟悉的朋友,建议使用adduser命令来添加新用户,这样你可以省略掉很多配置权限的麻烦。
连接遇到灰屏和鼠标变X
当你准备连接服务器的时候,一登录就出现出现灰色屏幕,而且在屏幕下面有2S时间出现。出现灰色屏幕和×型鼠标是因为vncserver找不到指定的图形化组件。
如下报错:
避坑点之四,遇到这个问题一定要先解决前面的问题,确认好你VNC的版本后,按照TigerVNC的方法解决:
[if !supportLists]1. [endif]排除桌面安装的问题,安装一遍gnome
sudo apt-get install gnome-panel
[if !supportLists]2. [endif]修改~/.vnc/xstartup文件,一定要修改你当前准备远程连接的用户目录。
我遇到在home下面没有.vnc文件夹的情况,这个时候你可以新建目录
“touch $HOME/.vnc/xstartup”
关于 xstartup文件的修改值得注意的是:如果你是多用户登录,比如这个深度学习的服务器有很多人同时使用,那么每个新建的用户,都必须修改一次xstartup文件,以确保每个用户都能正常登录,当然你也可以直接将可以正常登录用下home/.vnc下的xstartup文件直接复制到新用户home/.vnc下。
然后关闭当前打开的vnc:
vncserver -kill :num (你打开的端口号,可以用vncserver –list查看)
然后修改权限:
chmod +x ~/.vnc/xstartup
重新启动VNC
vncserver :2 -localhost no (#2为端口号,no表示非局域网内账户也可访问)
VNC 锁屏之后无法输入密码解锁
直接用SSH登录服务器,然后kill用户进程,重新启动VNCserver登录。
为了下次不会出现锁屏,登录桌面后可以按照以下步骤修改。
1.点右上角的下拉按钮小箭头。
2.在下拉屏幕中点【设置】。
3.在【设置】中点【隐私】。
4.在【隐私】中点左侧的【锁屏】。
先用loginctl list-sessions
查看有多少用户,
指定ID解锁会话,或者直接解锁所有会话,依据自己的需求来定。
sudo loginctl unlock-session [ID…]
我看见网上有很多关于Ubuntu20.04和18.04哪个更好的讨论。个人认为一般来说新的系统肯定比老的系统功能更多,包含的软件库也更全面。但是遇到的BUG也多,而且通过网络也不容易找到解决BUG的文章,这个时候就需要自己不断的去尝试。
有关Linux的命令,新手不熟悉可以查看《Linux就该这么学》。
以上就是我分享的关于Ubuntu使用TigerVNC进行远程桌面连接的经验分享,全是自己安装过程分享,如果有不够详细的地方请各位指教,谢谢。