事情是这么个事情:
由于项目需要远程nanopi m4终端设备,客户端为Win 10,要实现如同teamviewer远程控制同等功能,通俗的说就是客户端远程访问服务端,两者事同一个桌面,并且能实现远程控制。
然而nanopi m4系统是ubuntu18.04,采用vnc远程一直不能实现客户端和服务端处于同一个桌面的功能,win10上vnc viewer登录的客户端是和服务端桌面处于不同的session。一般vncserver默认端口为5900,新开的服务端是5901、5902、5903…依次类推,客户端要想和服务端处于同一个会话应当连接5900这个端口,而我每次在win10上访问这个端口,都是被拒绝。
几经搜索,可以用x0vncserver来实现我想要的功能,
安装tightvnc 和vnc4server
1、安装tightvnc
sudo apt-get install tightvncserver
2、设置密码
运行vnc server一次,会生成配置文件,并提示你为VNC Server设置一个密码:
tightvncserver :1
设置密码后,为了方便接下来的操作,先退出Vnc server:
tightvncserver -kill :1
3、配置VNC server
编辑~/.vnc/xstartup文件,在尾部添加:
lxterminal &
/usr/bin/lxsession -s LXDE &
4、安装vnc4server
sudo apt-get install vnc4server
安装完vnc4server才有x0vncserver 这个模块,网上其他一下方法说安装tigervnc-server有这个模块,而且官方也这么说,可是我安装tigervnc后并没有这个功能,我是安装vnc4server后有这个功能的,可能是系统不同的问题。
5、配置x0vncserver,实现开机自启
进入当前用户的~/.config/autostart文件夹,新建一个名为 x0vncserver.desktop 的文件,文件内容如下:
[Desktop Entry]
Name=X0VNCServer
Comment=X0 VNC Server from TigerVNC
Exec=x0vncserver -PasswordFile=/home/Anyone/.vnc/passwd -AlwaysShared
Terminal=false
Type=Application
StartupNotify=true
其中Anyone需要替换为具体用户名
6、win10端测试连接
重启终端设备nanopi m4
服务端输入ifconfig 查询ip, 我的ip为10.0.0.123
为了验证客户端登录后和服务端显示同一个桌面,服务端任意打开一个文件夹。
客户端win10 上vnc viewer 地址栏中输入10.0.0.123访问,弹出的窗口中输入第2步设置的密码
达拉拉当!!!出现的界面和服务端一模一样。