无线远程调试的方法有很多,下面我分享几种:
SSH连接
在同一局域网下,ssh可以连接Windows和Linux,也可以连接Linux和Linux,从而控制对方的终端及数据传输。
Windows设置SSH:
打开“设置”,选择“应用”>“应用和功能”,然后选择“可选功能” 。
扫描列表,查看是否已安装 OpenSSH。 如果未安装,请在页面顶部选择“添加功能”,然后:
查找“OpenSSH 客户端”,再单击“安装”
查找“OpenSSH 服务器”,再单击“安装”
设置完成后,回到“应用”>“应用和功能”和“可选功能”,你应会看到已列出 OpenSSH 。
Linux安装SSH命令:
sudo apt-get install sshd
sudo apt-get install openssh-server
在终端输入 ifconfig 查看ip地址
SSH连接命令为:
ssh 用户名@主机名
或者 ssh 用户名@IP地址
例如:
ssh vision@vision-jqr1
ssh vision@192.168.1.112
要退出对方的终端,输入 exit 就可以退出
如果使用主机名来连接,建议将对方的主机名更改得好记一点,或者到路由器的登录网页查看对应的主机名。
SSH每次连接都需要密码,不方便,免输入密码的方法:
1.生成本地密钥对
本地计算机命令: ssh-keygen 连续回车默认
2.公钥上传
将本地密钥对上传到对方的系统保存
(1)ubuntu系统ssh连接ubuntu系统上传命令:
ssh-copy-id -i ~/.ssh/id_rsa.pub 账号@ip
(2)windows系统ssh连接ubuntu系统上传命令:
cat ~/.ssh/id_rsa.pub | ssh 账号@ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
SSH可视化
ssh -Y 用户名@IP地址
加参数-Y,这样在终端运行命令就可以查看对方的图片,视频等东西
如何要使用对方的文件系统,远程连接后,终端输入 nautilus 即可打开对方的文件系统,修改文件
SSH传输文件
注意:命令在主机的终端运行,注意传输者和被传输者的关系,注意在哪个终端执行命令
背公式:复制 什么文件 到对方主机 的什么路径
scp <本地文件路径> <用户名>@<Linux机IP地址>: 路径
复制 Windows 文件到 Linux 主目录
scp D:\ws\666.txt vision@192.168.1.109:~
或者: scp D:\ws\666.txt vision@vision-jqr2:~
复制文件夹、目录要加 -r 参数
scp -r D:\ws vision@vision-jqr1:~
复制 Linux 文件到 Windows,在windows终端执行
scp vision@192.168.1.109:~/555.txt D:\ws
复制 Linux 目录到 Windows(记得加 -r)
scp -r vision@192.168.1.109:var/apt/ D:\ws
复制 Linux 文件夹到 Linux ,同理
scp -r /path/ username@remote:/path/
终端调参
ssh连接后,可以控制对方的终端,那么我们就可以无线调参了。
退出脚本 ./killrun.sh
停止运行代码 pkill Vision_MY_new注意用户名及路径:
使用vim文本编辑, 进入文件修改代码
vim /home/Vision/Vision_MY_new/Vision_MY_new/Slove/Angle.cpp
写代码: 按 i 写完按Esc 输入:和wq, 保存退出编译命令:
cd /home/Vision/Vision_MY_new/build-Vision_MY_new-Desktop_Qt_5_14_2_GCC_64bit-Debug/
make clean && make -j
运行命令:
bash -c "./Vision_MY_new; exec bash;" //直接运行,不显示图像
如果Jetson的开发板NX,TX2, nano等不方便关机或者重启,使用ssh连接控制其终端,然后输入 sudo reboot 进行重启等
VNC远程连接
远程控制的时候,保证双方都连同一个WIFI,即双方都在同一个局域网内
客户端 (使用的计算机)
服务端(被控制的计算机)
在被控制的ubuntu22安装所需环境(服务端)
ubuntu系统设置 ,共享 ,远程登录开启 ,远程桌面开启。其中,需要打开远程控制开关,并设置用户名和密码
安装桌面环境所需的软件包,包括系统面板、窗口管理器、文件浏览器、终端等桌面应用程序
sudo apt install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal ubuntu-desktop gnome-session
安装 TightVNC 服务
sudo apt install tightvncserver
通过 vncserver 命令启动 VNC 服务
vncserver
系统将提示设置密码:(密码的长度必须介于六到八个字符之间)
验证密码:再输入一次设置的密码
OutputWould you like to enter a view-only password (y/n)?
密码仅供查看,不不不,所以输入 n
配置 xstartup 配置文件
在配置 xstartup 配置文件时,可以使用不同的窗口管理器和桌面环境。本教程使用的是 GNOME Flashback 桌面环境和 metacity 窗口管理器。如果希望使用其他的桌面环境和窗口管理器,需要相应地修改 xstartup 配置文件。
备份VNC的xstartup配置文件。
cp ~/.vnc/xstartup ~/.vnc/xstartup.bak
修改VNC的xstartup配置文件。
gedit ~/.vnc/xstartup
复制以下内容到文件下面:
#!/bin/sh
export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
export XDG_MENU_PREFIX="gnome-flashback-"
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check
保存退出
chmod 777 ~/.vnc/xstartup
输入下面命令重新启动 VNC。
vncserver -geometry 1920x1080 :1 -localhost no
geometry 选项指定窗口大小,localhost 选项设为 no 以开放连接。
关闭vnc再重新启动
vncserver -kill :1
vncserver :1
查看vnc端口情况
ps -ef | grep vnc
netstat -tuln | grep 5901
如果远程连接没有出现屏幕,或者是灰色的,不正常的,是 gedit ~/.vnc/xstartup 里面的配置造成的,上网解决,修改里面的参数
Ubuntu22远程控制ubuntu22
如果用的是ubuntu系统作为客户端,需要开启
系统设置 ,共享 ,远程登录开启 ,远程桌面开启
下载VNC客户端:
Download VNC Viewer | VNC® Connect
安装:sudo apt install ./VNC-Viewer-7.10.0-Linux-x64.deb
然后打开应用程序。选择使用VNC不要登录
打开VNC Viewer,在顶部菜单栏,选择File > New connection...。
在Properties对话框,配置Ubuntu桌面的登录信息,然后单击OK。
必须的配置项说明:
VNC Server:输入IP地址:端口号,例如:192.168.1.1:5901。
这里建议直接输入IP地址就行,暂时不用端口号
Name:输入自定义的Ubuntu桌面的名称。例如:test001。
双击Ubuntu桌面的卡片。
在Authentication对话框的Password文本框中,输入VNC登录密码,然后单击OK。
windows远程控制ubuntu22
通过VNC搭建Ubuntu 18 04和20 04图形界面_轻量应用服务器(SAS)-阿里云帮助中心
你喜欢的客户端连接到 VNC 服务器,我这里用的是 RealVNC 的 VNC Viewer。
下载: Download VNC Viewer | VNC® Connect
与上面的使用方法同理,输入对应的 IP:端口 回车即可连接。
静态IP
因为IP地址是DHCP服务动态分配的,有可能每次都不一样,所以用IP地址来连接的话建议将对方的IP地址设为静态IP地址
有时候我们并不知道对方的IP地址,因为IP地址是动态分配的,所以要设置静态ip
查看网络情况以及网卡名,记下来,后续用到
ifconfig
#输出示例(查看flags=4163前面的,这里wlp1s0是网卡名),192.168.5.45是ip地址wlp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.5.45 netmask 255.255.255.0 broadcast 192.168.5.255
inet6 fe80::6585:ea3f:6f47:8805 prefixlen 64 scopeid 0x20<link>
ether 14:5a:fc:22:2d:03 txqueuelen 1000 (以太网)
RX packets 78495 bytes 28153235 (28.1 MB)
RX errors 0 dropped 638 overruns 0 frame 0
TX packets 52717 bytes 19287110 (19.2 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
执行ip route 查看网关
# 进入网络配置目录
cd /etc/netplan
# 查看网络配置文件
ll
# 如果已有manger文件先备份
sudo cp 01-network-manager-all.yaml 01-network-manager-all.yaml.bak
修改配置文件,替换
sudo gedit 01-network-manager-all.yaml
填充以下配置
配置文件主要包含网卡名、DHCP配置、静态IP、网关、DNS,自己根据路由器或者虚拟机的NAT网络指定即可
需要注意的是,如果是在VMware虚拟机环境下,默认网关是192.168..2,而不是192.168..1
network:
ethernets:
wlp1s0: # 网卡名
dhcp4: no # 关闭IPV4 DHCP
dhcp6: no # 关闭IPV6 DHCP
addresses:
- 192.168.5.45/24 # IP
routes:
- to: default
via: 192.168.5.1 # 网关
nameservers: # DNS
addresses:
- 114.114.114.114
- 8.8.8.8
version: 2
应用设置
sudo netplan apply
如果出现红色报错,再执行一次sudo netplan apply
查看设置情况
# 查看网络
ifconfig
# ping测试
ping baidu.com
如果需要,给配置个service,让它可以开机自启动