-
vino & dconf-editor
该方式适用于ubuntu desktop 18.04 及以后版本,非常地方便。注意是官方发行的桌面版本!如果是这些版本就不要使用后面
3
的vncserver方式了,不灵的!-
安装vino & dconf-editor
sudo apt-get install vino dconf-editor
-
运行
dconf-editor
取消requlre-encryption
选项
这一步是必要的,不然无法访问
在桌面找到该程序或命令行输入dconf-editor
,打开该软件。
在org->gnome->desktop->remote-access
页面找到equlre-encryption
选项并关闭它。如图:
-
启用屏幕共享
在设置>共享>屏幕共享
,将它打开。勾选允许屏幕共享
&需要密码
并设置密码。如图:
-
连接
使用vnc远程软件连接5900端口即可,如果不能连接,看看端口是否被开放,这里不再赘述。一般没有问题。
-
-
x11vnc
通过x11vnc远程控制ubuntu桌面,是共享的同一个屏幕,它和
1
的vino是类似的,不过官方的桌面发行版对vino提供了GUI支持。- 安装
sudo apt install x11vnc
- 设置密码
x11vnc -storepasswd
- 启动
注意看输出的信息是监听哪个端口,一般是5900,随后连接该端口即可。x11vnc -forever -shared -rfbuath ~/.vnc/passwd #注意若是ssh登录的用下面的指令 x11vnc -forever -shared -rfbauth ~/.vnc/passwd -display :0 -auth ~/.Xauthority
远程软件和ubuntu是共享同一个屏幕的,两边的操作是同步的。 - 设置开机启动(一般情况下没有必要)
#若不存在就创建 sudo touch /etc/init/x11vnc.conf #修改权限为可运行 sudo chmod a+w /etc/init/x11vnc.conf
sudo vi /etc/init/x11vnc.conf #修改为以下内容 start on login-session-start script x11vnc -forever -shared -rfbauth ~/.vnc/passwd -rfbport 5900 -display :0 -auth ~/.Xauthority -bg -o /var/log/x11vnc.log end script
- 安装
-
vnc4server / tigervnc / tightvnc
其实这几种vnc软件差别不大,安装后用法都是一样的。
vnc4server
在ubuntu 20版本的apt源中是没有的,用后两个之一就行了。tigervnc
是tightvnc
的一个分支。注意:使用vncserver方式远程桌面,被控端务必不要登录桌面,若登录了就注销,否则vnc远程软件会出现灰屏。反之,远程软件控制了桌面,被控端也无法通过display manager 方式或startx方式登录桌面,需要在vnc软件注销桌面登录。
- 安装
sudo apt install vnc4server
或sudo apt install tigervnc-standalone-server tigervnc-common
或sudo apt install tightvncserver
- 启动vncserver并修改配置
- 先启动一次
初次运行会要求设置密码,随后会生成配置文件vncserver
- 修改配置
以下取消注释vi ~/.vnc/xstartup
末尾替换要启动的桌面,如xfce4unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
- 重新启动vncserver
kill掉初次运行打开的会话,重新运行,如
注意kill后面有空格。查看输出的信息,监听哪个端口,连接它。vncserver -kill :1 vncserver -geometry 1366x768
- 先启动一次
- 安装
-
使用ssh tunnel 加密vnc会话
vnc会话是不加密的,它是明文传输内容的。如果就这样远程作业那是非常地不安全。通过ssh本地转发地方式可以达到加密的效果。
注意,如果远程机器在国外不要这样做,容易被g…f…w阻断你机器的ip。- 打开一个本地ssh会话,登录远程ssh时配置本地转发
格式是这样的:ssh -L 1234:localhost:5900 username@ipAddress:port
ssh -L 本地地址:本地端口:目的地址:目的端口 跳转机用户@跳转机地址
在这里省略了本地地址,本地端口可以是任意没有被占用的端口,比如搞成和远程机器一样的5900啥的。
由于我想要远程桌面的机器与我登录ssh的机器是同一台,所以目的地址是localhost
,当然也完全可以再加一个跳板机(登录ssh的那台机器),但是没那个必要。 - 使用vnc客户端连接本地端口
如果本地机器开了防火墙,记得开放端口。
这样我们的vnc会话经过ssh隧道传输数据,就安全多了。
- 打开一个本地ssh会话,登录远程ssh时配置本地转发
-
xrdp远程
vnc是未加密的连接方式,不安全,还要ssh转发加密一次,怪麻烦的。
而xrdp是加密的,但它不是独立工作的,需要vncserver配合。-
安装xrdp & xorg & tigervnc(或其他vncserver软件)
sudo apt install xrdp xorg tigervnc-standalone-server tigervnc-common
-
修改配置
vi /etc/xrdp/startwm.sh
注释掉末尾两行,添加你要启动的桌面的session
如xfce4
是xfce4-session
,lxde
是lxsession
,gnome
是gnome-session
。 -
启动并连接
windows自带的远程桌面连接软件就可以。Win+R > mstsc 即可打开。会话选xorg,输入用户名和密码连接即可。 -
出现的问题及解决方案
不显示桌面,远程桌面连接软件蓝屏- 想要xorg会话方式远程桌面,那远程机器是不能登录桌面的(这里和
3
vnc的问题是一样的),若登录了桌面,注销它再由远程软件访问。 - 若还不能访问,首先查看远程机器用户目录下
.Xauthority
&.ICEauthority
的用户&用户组,如果是root
,就改成要登录的用户:
造成这个问题的原因是在启动某些桌面服务时使用了sudo,导致以上文件权限被更改。比如在上面3启动sudo chown user:usergroup .Xauthority sudo chown user:usergroup .ICEauthority
vncserver
时若使用了sudo会导致vnc软件无法连接,display manager无法登陆,解决方案也是修改文件权限。
- 想要xorg会话方式远程桌面,那远程机器是不能登录桌面的(这里和
-
-
其他远程软件TeamViewer、Nomachine等
这些软件安装使用方便,但是速度不如xrdp
方式,如果机器距离比较近,用这个就行,省事儿。
Ubuntu 远程桌面的方式
于 2020-09-24 20:01:47 首次发布
本文介绍了在Ubuntu Desktop 18.04及更高版本上设置远程桌面的方法,包括使用vino、x11vnc、vnc4server/tigervnc/tightvnc和xrdp。重点讲解了如何安装、配置、设置密码以及解决可能出现的问题,如灰屏和权限问题。同时,提到了VNC的不安全性及通过SSH隧道加密会话的安全措施。
摘要由CSDN通过智能技术生成