内容转载自个人博客android
在ubuntu桌面发行版打开屏幕共享
功能,步骤以下:ubuntu
设置-->共享-->屏幕共享 打开总开关 容许链接控制屏幕 须要密码(本身设置密码,最多8位) 网络打开 设置-->共享-->远程登陆 打开总开关
查看当前用户占用的共享桌面端口lsof -i:5900
windows
zfb@my-Server:~/build$ lsof -i:5900 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME vino-serv 4308 zfb 11u IPv6 12350285 0t0 TCP *:5900 (LISTEN) vino-serv 4308 zfb 12u IPv4 12350286 0t0 TCP *:5900 (LISTEN)
本用户只能看到本身占用的端口,通常从5900
开始,一个用户占用一个,只有开启共享的用户才占用。例如,用户root1
和用户zfb
都开启了共享,则用户zfb
执行命令lsof -i:5900
、lsof -i:5901
和lsof -i:5902
,只有一个命令有返回结果,即本身占用的那个端口。可是,使用命令ss -lnt
能够看到5900-5902
端口都在被占用,只是没法看到具体进程和用户安全
打开软件remmina
,选择VNC
协议,输入要链接的机器的地址192.168.10.11:5900
(附带端口),而后会提示输入密码,这里要输入5900
端口对应的那个用户的密码(共享桌面密码,不是用户密码),便可成功看到桌面。服务器
下载vnc viewer并安装,打开软件,根据提示输入ip地址192.168.10.11:5900
,若是提示加密策略不一致。那么须要回到开启桌面共享的ubuntu机器上,输入如下命令关闭加密便可
gsettings set org.gnome.Vino require-encryption false
或者安装dconf-editor
工具进行配置,输入如下命令便可安装:
sudo apt-get install dconf-editor
而后桌面搜索dconf-editor
打开,依次展开org->gnome->desktop->remote-access
,而后取消requlre-encryption
的勾选便可网络
下载安装Microsoft Remote Desktop
软件,打开软件添加Desktop
,设置PC name
为192.168.10.11:5900
,Additional Options
根据须要设置,而后保存,单击便可链接ssh
前提:tcp
56.78.12.34
,这台内网服务器的frpc.ini
文件中配置的远程ssh端口为7001
)使用以下代码经过公网云主机ssh远程链接到内网的ubuntu服务器,而且把服务器的5901端口映射到用户本地的8080端口
ssh -p 7001 -NL localhost:8080:localhost:5900 zfb@56.78.12.34
此命令无回显输出,用户直接使用支持vnc的软件在本地打开便可,远程地址填写为127.0.0.1:8080
,根据提示输入密码(内网ubuntu机器开启桌面共享时设置的密码)
特色: 此方法可使用zfb
的用户名和密码查看其余用户(例如root
)的远程桌面,命令以下
ssh -p 7001 -NL localhost:8080:localhost:5901 zfb@56.78.12.34
相比上一条命令,只是修改成5901端口(root
用户的监听端口)工具
使用frp转发此端口(远程桌面监听的端口,通常从5900开始),具体方法为:ui
frps.ini
不须要任何变化frpc.ini
文件,在文件中添加如下内容:[rdp] type = tcp local_ip = 127.0.0.1 # 假如只须要转发占用5901端口的用户的桌面 local_port = 5900 # 能够任意设置公网云主机的端口,不要与其余服务冲突便可 remote_port = 9901
用户直接使用支持vnc的软件在本地打开便可,远程地址填写为56.78.12.34:9901
,根据提示输入密码(内网ubuntu机器开启桌面共享时设置的密码)
注意: 二、3和4都只能在用户登陆以后(显示屏上的桌面为该用户时)才能显示画面,不然不行
根据教程,下载压缩包解压获得脚本,(最好在root
用户)执行便可。而后登出桌面环境,此时便可经过3389端口利用rdp协议登陆xorg桌面,多个用户均可以登陆,且能够同时登陆,可是物理机器要保留在登陆界面
注意: 同一个用户,本地和远程同时只能登陆一个
此步骤与前面不冲突,是一种新的方法(也许依赖第一步),VNC仍然须要登陆才可用
使用frp对本地3389端口进行内网穿透,只须要修改frp客户端配置
[rdp] type = tcp local_ip = 127.0.0.1 # 假如只须要转发占用3389端口的用户的桌面 local_port = 3389 # 能够任意设置公网云主机的端口,不要与其余服务冲突便可 remote_port = 6689
在远程桌面遇到终端报错Transport endpoint is not connected
,且看到桌面有thinclient_drives
驱动器时的解决办法
可使用代码sudo umount -f thinclient_drives
来解决,可是此时共享剪切板和跨设备复制粘贴文件就不能用了 最好能够从新登录一次,也许就正常了