两台Ubuntu电脑之间 配置 远程桌面 ssh scp 时间同步等远程操作
- 远程桌面
- ssh
-
- 有线共享
- 无线共享
- scp
- 时间同步
-
- 安装工具
- 有网情况
- 无网情况
-
- 地面站笔记本配置
- TX2配置
远程桌面
参考我另外一篇博客,博客当中还讲了一些别的东西,如果没有那个问题可以跳过前面的解决问题部分从后面开始看。远程桌面配置
ssh
我们在大多数时候只需要控制远程计算机的终端,通常我们使用ssh
来完成这一个操作。
ssh
的使用方法如下:
ssh nvidia@10.42.0.152
@
符号之前的内容为用户名,后面为远程电脑的IP地址,我远程电脑TX2的用户名叫做nvidia,IP为10.42.0.152。
第一次连接的时候会弹出一些询问消息,输入yes即可,接下输入远程的用户密码就可以控制远程电脑的终端了。
有时候我们知道两台电脑处于同一个局域网之下,而且局域网之下又只有目标电脑和自己的电脑两台电脑,但是我们不知道它的IP,这种情况下我们可以通过下面的方式连接。
先安装一个工具nmap。
sudo apt install nmap
然后通过该工具扫描局域网。
nmap -sP 10.42.0.0/24
后面的地址为,要扫描的IP地址段,为自己电脑的IP把最后一个IP的值改为0
然后加上/24
。例如我的电脑输入ifconfig
查看IP的地址,这个命令会显示所有的上网方式的IP地址,得到的IP是10.42.0.1
,所以我的配置为10.42.0.0/24
。
我们建立局域网的方式有很多,最简单的方法是两台电脑通过WiFi和网线连接到同一个路由器。如果没有路由器我们可以通过主机共享网络给其他电脑实现局域网。
下面讲解一下这两种方式
有线共享
点击右上角的网络的图标,然后选择最下面的设置,之后点击ADD,添加一个新的网络,选择有线(默认即为有线),点击创建,之后在IPV4的设置里面的Method里面选择共享给其他计算机,保存退出即可,这个时候通过网线连接到目标电脑两台电脑之间就自动建立了局域网。接下来就可以通过后面的操作很轻松的获得目标电脑的IP地址,进而通过ssh连接到目标电脑的终端。
无线共享
和刚才操作差不多点击右上角的网络的图标,然后选择最下面的设置,之后点击ADD,添加一个新的网络,选择WiFi,然后创建,之后在WiFi一栏中的SSID设置WiFi的名字,然后在下面的Mode里面选择热点(Ad-hoc),在WiFi security一栏根据个人需求设置密码,通常密码选择WPA & WPA2 personal,设置完成过后保存后,再次点击右上角选择连接到隐藏的WiFi接下来选择刚刚创建的热点就OK了。然后就让让目标电脑连上WiFi即可,由于网卡和其他一些原因,WiFi并不太稳定。
scp
经常我们需要从远程拷贝文件,但是又没有U盘,或者根本没办法用U盘,这种情况下我们通过无线拷贝文件的命令进行文件的传输。scp的用法如下。
scp nvidia@10.42.0.152:~/test.sh ./
这个命令是在本地电脑上执行的,远程电脑是nvidia,输入这个命令过后会从远程上的home目录下拷贝一个test.sh的文件,输入远程端用户的密码过后就开始拷贝了。
命令的前一部分为远程的文件路径,远程路径的格式和ssh
类似,@
前面为用户,后面为IP地址,:
后面跟的是在远程的路径。命令第二部份为在本地存放的路径。
如果要拷贝文件夹加上-r
选项
时间同步
分布式电脑进行通讯的时候,两台电脑之间数据传输会带来较大的问题。最近发现无人机记载处理器TX2上由于没有电池导致时间混乱和地面站电脑之间时间相差很大。下面是我的解决办法。
安装工具
首先在每台电脑上都安装要用到的工具
sudo apt install ntpdate chrony
有网情况
在有网的情况下可以通过下面的命令让时间和网络时间同步。
sudo ntpdate cn.pool.ntp.org
无网情况
在室外做实验的时候,无人机和地面站通过WiFi连接到一个路由器的局域网内,在室外路由器没有网,所以时间同步的源选为地面站笔记本的时间。我们只需要对chrony
进行相关配置即可,下面是分别对地面站笔记本和TX2的操作。
地面站笔记本配置
更改chrony
配置文件
sudo vim /etc/chrony/chrony.conf
找到下面这一行
local stratum 10
取消掉这一行的注释,这样就让笔记本上的时间可以作为其它计算机做同步的服务器。
接下来添加允许进行同步的客户端的IP地址,找到下面有一堆allow
的地方,在最后添加下面一行。(虽然可以放在任何地方,不过放在该放在的地方看上去比较整洁)
allow 10.42.0.0/24
上面这个的意思是允许10.42.0
开头的局域网内的都可以进行时间同步,这个可以指定固定IP也可以对局域网内所有都可以同步,根据自己的需求进行配置。
如果希望局域网内都可以进行同步,首先用有限或者无线连接到局域网,然后输入ifconfig
查看IP的地址,这个命令会显示所有的上网方式的IP地址,得到的IP是10.42.0.1
,所以我的配置为10.42.0.0/24
。这个根据个人情况自行调整,总的来说就是把最后一个IP改为0
然后加上/24
。
在我电脑上配置的截图如下:
然后输入:wq
保存退出。
重启chrony
,让配置生效。
sudo invoke-rc.d chrony restart
至此地面站也就是服务器端就设置好了
TX2配置
在TX2也就是客户端的设计就相对简单的许多。
sudo vim /etc/chrony/chrony.conf
在第一个没有注释的地方下方添加上服务器的IP即可,这个IP地址就是刚才在地面站笔记本上通过ifconfig
查看得到的IP地址。
server 10.42.0.1 iburst
修改完成过后如下图所示:
可以同样的方式添加多个服务器地址,添加完成后,输入:wq
保存退出,重启chrony
,让配置生效即可。
sudo invoke-rc.d chrony restart
接下来我们就可以同步时间了。
sudo ntpdate 10.42.0.1
后面的IP地址改为需要地面站笔记本的IP地址即可。