1.从面对面,走向“远程连接”

没有出现通信工具之前,人们想和远方的人沟通,必须面对面(本地化)。。

即使是邮差,也是通过他人传达。那是一个被时空束缚的时代。

因此他们开始寻求改变,后来,出现了烽火,飞鸽传书,通信灯塔等。(当然工具也要使用得当,不然就会出现“烽火戏诸侯”的悲剧。。。)

但那依然是“家书抵万金”的短程通信时代。

而后,基于电和电磁波等媒介,诞生了电话,手机,互联网等,彻底改变了通信方式,人与人,人与物,物与物之间,能够进行远程互联。

从此,人们打破时空束缚,“远在天边”的万物又“近在咫尺”。让人们更加灵活高效,便捷地进行合作,从而创造更加辉煌的人类事业!

2.同样的困惑

由于现在要在一台Ubuntu工控板(同时搭载众多传感器)上开发应用,但其他事项又需要在另一台WIN10电脑上操作,所以我要为两台电脑配置各自的硬件,如显示器,鼠标键盘,设备成本直接double,还得占用办公桌空间。。更关键的是,操作其中一个系统,必须“面对面”。比如从WIN10转向操作Ubuntu,我必须换到另一套显示屏,鼠标键盘进行操作。。

至此,如果你觉得这样来回切换没啥问题,不嫌麻烦,那么全文到此结束;如果有问题,请继续往下看。

我们的困惑是一致的:

因搬砖需要,增加一台Ubuntu电脑,就增加了我们的设备,空间等成本,同时,增加“面对面”操作的麻烦,冗余,不便。

那么该如何解决这一困扰呢?合二为一?

几种设想:

  1. 在win10上创建Ubuntu虚拟机,开发程序后,移植到Ubuntu上测试,其中需要同步系统环境配置,解决传感器硬件接入,执行器输出等问题。
  2. 两台电脑通过有线连接,在任意一台电脑上,可以同时显示并实时切换操作两个系统。显示屏,键盘,鼠标等硬件实现共用。
  3. 两台电脑通过远程连接,实现“合二为一”。

结合功能条件和可行性,我将采取第三种设想-远程连接,来解决困扰。

3.实现远程连接

win10与Ubuntu的远程连接,有如下主流方案可供大家参考:

  1. 通过配置ssh和xshell/putty,实现远程连接。
    评估
    优点:配置快速便捷。
    缺点:是命令行操作,需要了解更多终端命令。
    操作
    网上已有教程众多,不再赘述,可参考:https://developpaper.com/linux-configuration-ssh-and-xshell-connect-server-tutorial-illustration
    结束:即可在xshell,通过终端命令远程操作Ubuntu。
    异常诊断
    无法连接:
    ssh服务是否开启,port是否打开?
    登入Ubuntu的用户名和账号是否正确?
    用于xshell登入Ubuntu的IP地址,是否能够被win10的网络访问到?在win10,按下(WIN+R),ping下IP地址,查看连接状态。
  2. 通过配置xrdp和远程桌面连接应用
    评估:
    优点:win10系统自带“远程桌面连接应用”,直接搜索即可;图形化界面
    缺点:Ubuntu的远程桌面有点卡顿
    操作:网上已有教程众多,不再赘述,可参考:
    https://blog.csdn.net/ZhangRelay/article/details/119831788
    https://linuxconfig.org/ubuntu-20-04-remote-desktop-access-from-windows-10
    结束:可通过远程桌面连接Ubuntu,实现图形化界面操作。
    异常诊断:
    黑屏
    Ubuntu自动登入账号:参考上面博文,在远程桌面连接选择“LOCAL ACTIVE SESSION”进行登入。
    Ubuntu开机需要手动输入密码登入账号,注销当前Ubuntu用户。
  3. 通过teamviewer,实现远程连接
    评估:
    优点:易于设置,较流畅的图形化界面
    缺点:需要上网;固定密码;安全等级不高
    操作:
    Ubuntu需要设置成开机自动登录
    win10和Ubuntu分别按照对应teamviewer.下载地址:https://www.teamviewer.com/en/
    下载安装完成,打开teamviewer。两台电脑桌面上都有ID和密码:
    在win10的teamvierw里,输入Ubuntu电脑的ID和密码即可远程连接。

再往下的步骤是,实现开机重启后,自启动连接teamview。

  1. 打开teamviewer的选项,勾选start teamviewer with system ,即可开机进入桌面后自启动:
  2. 在选型里,点击security,勾选 grant easy access。即可避免每次重启teamviewer,密码都会更改。
  3. 结束:完成teamviewer远程连接Ubuntu
  4. 异常检查:
    win10端连接失败/超时
    启动项?
    系统是否自动登录账号?
    网络是否正常?
    win10端未出现桌面或黑屏
    Ubuntu的电脑是否检测到显示端口?

补充:
可用终端命令,远程对Ubuntu桌面进行锁屏和解锁,前提是已经进入过桌面。

锁屏:gnome-screensaver-command -l

解锁:gnome-screensaver-command -d

设置开机启动的方式:

startup application preferences

systemd

crontab

写在最后:

在此过程中,也遇到了一些仍未解决的问题,分享给大家,希望互相学习探讨!
  1. Ubuntu开机需要手动登入时,如何在WIN10端远程操作,使其登入界面?
  2. 如何在Ubuntu开机登入的界面,运行teamviewer?
  3. 开机到登入界面,在登入账号的界面,进入界面后,这三个阶段的启动项?如何设置?
Logo

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

更多推荐