远程桌面登录Ubuntu

  通过teamviewer可以实现远程登录Ubuntu系统,这很常见,但是本文是关于teamviewer登录无显示器的Ubuntu。

  正常情况下,Ubuntu未接显示器时,teamviewer连接过去是黑屏,这时候只需要安装一款虚拟显示器用来欺骗Ubuntu输出显示内容即可。当然,网上还有说可以花个十元买个显卡欺骗器,但是能不花钱,那就不花呗,还不用占用一个接口。

  注意,实现这个操作还是需要有显示器的,只不过成功以后可以拔掉显示器。另外还有缺点,Ubuntu关机以后,再重启,登录时,teamviewer会显示正在初始化显示参数。

teamviewer初始化显示参数_远程桌面_无显示器Ubuntu

  这时候还需要通过ssh连接,将这个虚拟显示器进程杀掉(该进程会自动重启),然后就可以登录进去正常使用了。也就是说,目前来讲,想要完全拔掉显示器,还需要进行ssh的配置才可以。

  下面开始进入正题。

初步准备

  首先,两端都要安装teamviewer,Ubuntu安装的是teamviewer host版本,只能被连。为什么不装正经版本,因为太麻烦,官网的安装包不能直接安装在20.04上,缺少依赖,host既然够用,那么就选host版本的了。

  安装好后进行一次初次连接,然后将设备都绑定到账号,下次就不用了ID登录了。

  自己去官网下啦~

SSH的配置

  有关SSH的配置,详见我的另一篇文章:自建本地服务器汇总篇(Ubuntu Server),不过并不是教程,而是流程,但里面贴了教程链接,请自行寻找。

安装虚拟显示器

  我参考的方法是这篇文章的,非常简洁明了,大家可以自行观看。

  不过为防止链接失效,我会把原文贴出。除了配置文件是别的地方CP来的,其他都是原文贴出。偷懒就不重新编排了哈哈。

问题说明

  当连接Ubuntu的显示器关闭时,即无显示器接入,通过Teamviewer和Anydesk等远程控制软件无法正常访问该Ubuntu系统。

解决方案

  使用虚拟显示器,而后就能正常访问。

  1.安装Ubuntu虚拟显示器的软件(xserver-xorg-video-dummy):

1
2
3
sudo apt-get install xserver-xorg-core

sudo apt-get install xserver-xorg-video-dummy

  or

1
sudo apt-get install xserver-xorg-video-dummy  --fix-missing

  2.修改/创建配置文件(慎用,默认就会使用虚拟显示器,而不是显示连接好的外接屏幕):这里我插两句,这个意思就是说,这里配置文件配好,保存后,可能显示屏就直接黑屏了,所以在这之前一定要将SSH配置好,或者你要确定teamviewer一定能够连接上。

1
sudo gedit /etc/X11/xorg.conf

  or

1
sudo gedit /usr/share/X11/xorg.conf.d/xorg.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Section "Device"
Identifier "DummyDevice"
Driver "dummy"
VideoRam 256000
EndSection

Section "Screen"
Identifier "DummyScreen"
Device "DummyDevice"
Monitor "DummyMonitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1080_60.0"
EndSubSection
EndSection

Section "Monitor"
Identifier "DummyMonitor"
HorizSync 30-70
VertRefresh 50-75
ModeLine "1920x1080" 148.50 1920 2448 2492 2640 1080 1084 1089 1125 +Hsync +Vsync
EndSection

  注释:

  • Section “Device” # 显卡信息
  • Section “Monitor” # 显示器的信息
  • Section “Screen” # 显卡和显示器

  3.重启电脑即可。注意:重启之后,即使接入了显示器,也不会输出信号到显示器上。

解决思路:

  • 1)不需要虚拟显示器时,把/etc/X11/xorg.conf移动到桌面;
  • 2)需要虚拟显示器时,从桌面移动到/etc/X11/xorg.conf;

命令:

1
2
3
sudo mv /etc/X11/xorg.conf /home/shalom/Desktop/xorg.conf

sudo mv /home/shalom/Desktop/xorg.conf /etc/X11/xorg.conf

尝试连接

  使用teamviewer尝试连接,成功后,重启Ubuntu,这时候应该无法连接显示器了。

尝试ssh远程登录,杀掉进程,再次连接。

1
ps -aux | grep X
1
2
passioki     844  0.0  1.8 1370128 64256 tty2    Sl+  22:33   0:01 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3
passioki 2750 0.0 0.0 17672 736 pts/0 S+ 23:08 0:00 grep --color=auto X
1
kill 844

  这时候再尝试登陆桌面,不出意外,你会看到一只ubuntu豹子

teamviewer-Ubuntu桌面图像

  如果是有两个屏幕那就很爽了,一个屏幕主机,另一个屏幕远程桌面;然后还能拖放东西,共享一套鼠标键盘。生产力upupup~