简介

 我们在使用Ubuntu系统有时可能需要看Ubuntu上的仿真界面和可视化数据,可能会有这样一个需求:使用Windows系统接入Ubuntu,本文章提供一种方法,使用Windows自带的远程桌面+Ubuntu安装VNC解决问题。

Ubuntu上的配置

1.下载配置dconf

sudo apt-get install xrdp vnc4server xbase-clients dconf-editor

 注意上面红框的路径,把下面两项设为OFF。

2. 设置Ubuntu系统

 在Sharing里面打开屏幕分享,如果是无线连接的话还要打开下面的网络

  1. 安装vnc4server
sudo apt-get install vnc4server tightvncserver

两种连接方式

1. 无线局域网

 这种方式需要主机(Windows)和远程桌面(Ubuntu)连到同一个局域网。可以是同一个WIFI,也可以相互开热点。这种情况下只要能找到Ubuntu的IP地址就可以。

2. 有线局域网

 用网线直接连接两个电脑的连接速度更快更稳定,操作体验更上一层楼。

WARNING

 VNC有线网连接实测还是要开着无线网,不然如果远程操作把无线网断开了,桌面连接就断开了。但SSH还是正常连接,只能用SSH来操作。

 需要注意Windows和Ubuntu的以太网配置,只要配置好IP和子网掩码在同一局域网就可以。因为我用的时候是直接连接,所以双方都自定义IP和子网掩码,下面是其中一种示例:

 其他都不需要操作了,到此就可以开始进行连接。不管是有线还是无线,都只需要输入对方的IP地址就可以开始接入:

 进入界面后选择vnc-any,再输入一次IP地址,端口默认,密码是在Ubuntu上设置的屏幕分享的密码。

 连接成功后成功显示出同步画面:

3. 提升使用体验

 虽然经过上面的操作后可以进行远程桌面操作,但是默认情况下,如果不外接显示器的话,Ubuntu是不会启动GNOME环境的, 所以。为此我又查了一波资料,在一篇博客里找到简单的解决方法,主要步骤如下:

安装dummy monitor:

sudo apt install xserver-xorg-video-dummy

编辑文件xorg.conf:

sudo gedit /usr/share/X11/xorg.conf.d/xorg.conf

 写入下面的内容并重启,其中分辨率改倒数第三行,改之前需要先在https://arachnoid.com/modelines/这个网站上生成替代对应(Modeline)的两句话。如果是21寸屏幕,建议分辨率给1920x1080,但会因为有边框等原因显示不完。

Section "Monitor"
 Identifier "Monitor0"
 HorizSync 28.0-80.0
 VertRefresh 48.0-75.0
 # https://arachnoid.com/modelines/
 # 1024x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 64.11 MHz
 Modeline "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795 -HSync +Vsync
EndSection
Section "Device"
 Identifier "Card0"
 Driver "dummy"
 VideoRam 256000
EndSection
Section "Screen"
 DefaultDepth 24
 Identifier "Screen0"
 Device "Card0"
 Monitor "Monitor0"
 SubSection "Display"
   Depth 24
   Modes "1024x768_60.00"
 EndSubSectio
  • 配置自动登陆,详细百度,有问题看博客的FAQ就可以。

 但是配置完后,我发现此时只能在远程桌面显示,再接入显示屏就不会显示了。为了方便使用,我写了两个脚本,桌面打开终端输入以下命令:

mkdir VNC_NoScreen_Display
touch reboot_local_display.sh reboot_remote_display.sh xorg.conf
chmod a+x reboot_local_display.sh reboot_remote_display.sh
gedit .bashrc

 在.bashrc的最后一行加上刚刚新建的文件夹的路径,如

export PATH=$://home/infantry/VNC_NoScreen_Display:$PATH

 向xorg.conf写入本文前面提到的那部分内容,分别向两个.sh文件写入以下内容:

  • reboot_local_display.sh
#!/bin/sh
 
rm -rf /usr/share/X11/xorg.conf.d/xorg.conf
 
touch /usr/share/X11/xorg.conf.d/xorg.conf
 
reboot
  • reboot_remote_display.sh
#!/bin/sh
 
cp -r xorg.conf /usr/share/X11/xorg.conf.d/xorg.conf
 
reboot

 最后就可以在终端里面直接输入

sudo reboot_local_display.sh

 或者

sudo reboot_remotr_display.sh

 就可以重启并切换显示的屏幕。可以两者兼得的方法还没找到下,暂时可以用这个来简化一下切换的操作。

参考内容

WINDOWS mstsc 使用VNC和xorg-xrdp两种Session方式 远程桌面连接 Ubuntu 18.04

后续

 喜欢的话可以关注一下我的公众号技术开发小圈,尤其是对深度学习以及计算机视觉有兴趣的朋友,我会把相关的源码以及更多资料发在上面,希望可以帮助到新入门的大家!
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐