对于需要图形化界面的情况,仅仅ssh登录是不够的,需要桌面登录。VNC提供了linux桌面登录的解决方案。使用VNC首先要在需要登录的host上安装、启用服务,然后在本地的windows、linux环境使用VNC view客户端登录到服务器上。本文的示例均为centos上的小白操作。
操作步骤
-
希望VNC能够访问远程桌面,那么系统首先要有桌面;如果没有,进行安装,这一步需要的时间比较长。
yum groupinstall GNOME Desktop
-
希望服务器提供VNC服务,自然需要在服务器端安装VNC服务;
yum install -y tigervnc tigervnc-server
-
希望在远程访问服务器的桌面,即使用vnc服务,相应的,需要在本地(客户端)安装vnc客户端软件,我这里安装的是realvnc view,百度下载正常安装即可;
-
通过ssh连接开启vnc服务
# 可以直接vncserver,不使用:index,服务会分配一个index给服务请求,需要在桌面上使用图形界面,需要把$DISPLAY环境变量设置成这个序号 vncserver :13
在客户端使用ip:index进行连接。如果不是使用realvnc,比如使用xmanager,index是5900+index,因为vnc服务使用的端口是从5900开始的。
到这里,我们已经可以歪歪扭扭的用上远程桌面连接了。
实用命令/操作
- 调整远程桌面分辨率,开启vnc的时候使用- geometry命令
vncserver -geometry 2000x1200
- 查看vncserver服务列表
vncserver -list
- 关闭vncserver服务
vncserver -kill :indx
- vncserver密码忘记了
删除服务器home下的./vnc目录 - 希望对vncserver进行配置
参看服务器home下的./vnc/config文件,这个文件是对vncserver服务的默认配置。
使用中遇到的问题
连不上
我这边是用vnc去连接云服务器的,第一次vnc可以连上,第二次连不上了,然后在云服务器上把防火墙关了又可以了连上了。关闭防火墙命令:
systemctl stop firewalld
远程桌面卡
VNC吃内存严重,入门的轻量云服务器吃不消,打开一个firefox CPU就拉满了。如果要使用VNC,需要选用高级一些的云服务器。
远程桌面打开GUI应用报错
可以看一下环境变量DISPLAY环境变量的设置是不是正确的。DISPLAY环境变量的格式:IP:vnc_session_port.0
IP为空,表示运行于本机。
用到的其它命令
# 查看vnc端口
netstat -aon| grep vnc
# 查看vnc线程
ps -ef | grep vnc
# 管理系统服务
systemctl start/stop/status/enable xxx
# 查看vnc安装情况
rpm -qa | grep vnc
# 查看本机系统版本
cat /etc/redhat-release
参考
https://developer.aliyun.com/article/974020