美文网首页想法简友广场
动手实现Linux远程控制

动手实现Linux远程控制

作者: 89d6d5102c8a | 来源:发表于2019-11-28 21:50 被阅读0次

    ​小糖豆在工作中有时需要将深度学习算法和模型部署到Jetson TX2嵌入式开发板。Jetson TX2 模块采用 NVIDIA Pascal™ 架构,性能强大,且外形小巧,节能高效,非常适合机器人、无人机、智能摄像机和便携医疗设备等智能边缘设备。

    但是在平时部署代码的时候,经常需要给TX2外接显示屏、鼠标键盘,操作起来极其不方便,于是小糖豆这几天捣鼓了下远程控制,在局域网下直接远程部署代码,非常方便。

    总结了两种方式,供大家参考(PS:下文中将主动实施远程控制的机器称为用户端,被远程控制的机器称为服务端)。

    SSH远程控制

    使用SSH的好处是配置方便,一步到位,而且速度非常快。远程部署代码时使用SSH省缺了不少麻烦。配置SSH的方式如下:

    服务端安装OpenSSH

    在服务端安装开源工具OpenSSH,将其配置成服务器,这样就可以像访问网页一样去访问该服务端。

    终端输入

    sudo apt-get install openssh-server

    服务端获取IP

    现在该服务端处于可以被SSH登录的状态,但是在用户端控制需要知道服务端的IP地址。在服务端输入如下指令获取IP。

    ifconfig

    如果系统提示没有安装,按照提示就可以。

    sudo apt install net-tools

    确保ifconfig能用后,获取IP地址。比如小糖豆的tx2 ip地址是192.168.8.112。

    用户端远程控制

    在用户端输入指令,格式为

    ssh username@ip

    sshtx2@192.168.8.112

    输入指令后,密码为服务端密码,连接成功后会出现类似如下信息:

    现在可以在用户端开心的操作服务端了。随便输个指令测试下:

    传输文件时使用scp命令,格式为

    【文件】scp xxx  username@ip:xxx

    【文件夹】scp -r xxx  username@ip:xxx

    举个栗子:

    VNC远程控制

    SSH只能用来命令行控制,如果想要看到服务端的桌面,可以使用VNC远程控制。具体方式如下:

    服务端安装Xrdp

    终端输入命令

    sudo apt-get install xrdp vnc4server xbase-clients

    服务端设置桌面共享

    在/usr/share/applications目录下打开Desktop Sharing

    可能会有小伙伴在这一步发现Desktop Sharing打不开(事实上小糖豆也没打开),可以按如下操作解决该bug。

    首先终端命令行输入

    sudo vim /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml

    在末尾两个介绍标签之前添加一个key

    可以参考小糖豆添加key后的结果:

    继续在终端输入指令使其编译生效:

    sudo glib-compile-schemas /usr/share/glib-2.0/schemas

    现在可以正常打开Desktop Sharing了,桌面共享选项中开启共享,远程连接的密码根据需要自己设定,可参考小糖豆的配置,如下图:

    服务端安装dconf-editor

    终端输入指令

    sudo apt-get install dconf-editor

    安装完成后运行dconf-editor,注意前面不要加sudo

    dconf-editor

    出现如下界面后,将"promotion-enabled"选项和"requre-encryption"选项关闭

    服务端设置开机启动

    打开Startup Applications

    打开后点击Add添加一个新的启动项,在Command一栏中填写如下指令:

    /usr/lib/vino/vino-server

    配置完毕,重启服务端。

    用户端远程控制

    打开Ubuntu自带的软件Remmina Remote Desktop Client

    点击加号新建一个连接

    name一栏根据喜好设置,Protocol一栏里面选择VNC-Virtual Network Computing

    在Server一栏中点击最右边三个点,选择要连接的服务端,对于IPV4和IPV6随便选一个就行。

    Password一栏中填入设置服务端时候的远程连接密码,然后点击Connect就大功告成了(速度有点感人)。

    相关文章

      网友评论

        本文标题:动手实现Linux远程控制

        本文链接:https://www.haomeiwen.com/subject/swuiwctx.html