电脑调试
小电脑的选择
入门级nano
中级AGX Xavier 作为现在AI计算的扛把子
超高级Jetson TX2
高级Xavier NX
算力性能区别
英特尔的NUC迷你电脑有什么特点?NUC适合什么样的用户群(黑苹果)?
由于nuc用的是英特尔的集显,所以没有办法使用cuda
ssh远程连接
如何判断网线是否连上
1.直接看ui,
2.通过ifconfig
主要看网卡那一栏,如果没有具体的ipv4地址那一般就是没有连接上
这是一个网络接口的信息列表,通常用于诊断和配置网络连接。以下是每个接口的意思和说明:
enp57s0:flags=4099:表示接口的状态标志。这个接口是启用的(UP),可以广播数据(BROADCAST),支持多播(MULTICAST)。mtu 1500:表示最大传输单元,即可以在一次数据包中传输的最大字节数。ether c8:7f:54:ca:bf:31:表示接口的物理地址(MAC地址)。txqueuelen 1000:表示发送队列的长度。RX packets 0:表示接收到的数据包数量。RX bytes 0:表示接收到的字节数。RX errors 0:表示接收错误的数量。dropped 0:表示丢弃的数据包数量。overruns 0:表示接收缓冲区溢出的次数。frame 0:表示帧错误的数量。TX packets 0:表示发送的数据包数量。TX bytes 0:表示发送的字节数。TX errors 0:表示发送错误的数量。dropped 0:表示丢弃的数据包数量。overruns 0:表示发送缓冲区溢出的次数。carrier 0:表示载波错误的数量。collisions 0:表示冲突的数量。
lo:flags=73:表示接口的状态标志。这是一个本地环回接口,用于本地通信。mtu 65536:表示最大传输单元。inet 127.0.0.1:表示IPv4地址,用于本地回环。netmask 255.0.0.0:表示子网掩码。inet6 ::1:表示IPv6地址,用于本地回环。prefixlen 128:表示IPv6地址的前缀长度。scopeid 0x10<host>:表示IPv6地址的范围标识。loop txqueuelen 1000:表示发送队列的长度。RX packets 33900:表示接收到的数据包数量。RX bytes 37335873:表示接收到的字节数。RX errors 0:表示接收错误的数量。dropped 0:表示丢弃的数据包数量。overruns 0:表示接收缓冲区溢出的次数。frame 0:表示帧错误的数量。TX packets 33900:表示发送的数据包数量。TX bytes 37335873:表示发送的字节数。TX errors 0:表示发送错误的数量。dropped 0:表示丢弃的数据包数量。overruns 0:表示发送缓冲区溢出的次数。carrier 0:表示载波错误的数量。collisions 0:表示冲突的数量。
wlp58s0:flags=4163:表示接口的状态标志。这个接口是启用的(UP),可以广播数据(BROADCAST),正在运行(RUNNING),支持多播(MULTICAST)。mtu 1500:表示最大传输单元。inet 192.168.1.105:表示IPv4地址,用于网络通信。netmask 255.255.255.0:表示子网掩码。broadcast 192.168.1.255:表示广播地址。inet6 fe80::95ea:e6b3:e5c6:8387:表示IPv6地址。prefixlen 64:表示IPv6地址的前缀长度。scopeid 0x20<link>:表示IPv6地址的范围标识。ether 14:75:5b:a8:a2:37:表示接口的物理地址(MAC地址)。txqueuelen 1000:表示发送队列的长度。RX packets 33238:表示接收到的数据包数量。RX bytes 28568691:表示接收到的字节数。RX errors 0:表示接收错误的数量。dropped 0:表示丢弃的数据包数量。overruns 0:表示接收缓冲区溢出的次数。frame 0:表示帧错误的数量。TX packets 23791:表示发送的数据包数量。TX bytes 8331850:表示发送的字节数。TX errors 0:表示发送错误的数量。dropped 0:表示丢弃的数据包数量。overruns 0:表示发送缓冲区溢出的次数。carrier 0:表示载波错误的数量。collisions 0:表示冲突的数量。
寄录
切忌进行过什么操作要进行记录,血的教训。。。。。
在一开始的时候进行静态ip的设置,参考了这篇文章
光更着进行了操作没有思考酿成大火
文章里配置的是网卡,也就是说文章中的作者是通过有线网络进行连接,而我们应该配置的无线网卡,错误配置了有线通道的静态ip,导致在后续通过网线和小电脑建立连接无法识别有线网络。

把这个跟网卡相关的直接删掉就好了
这块其实还有一个比较难受的问题,由于我的网卡型号是ax201,这个型号的网卡ubuntu20.04不识别,所以驱动得自己手动安装,同时有线图标也没有(所以我后来直接把电脑网卡更换成了ax210

用到的命令
Ubuntu下查看实时网络流量的几种方法_ubuntu查看网络流量_Nick_Spider的博客-CSDN博客
sudo service network-manager restart重启网络服务(
<font style="color:rgb(77, 77, 77);">sudo systemctl restart NetworkManager.service</font>
/etc/init.d/ restart networking
sudo netplan apply
-sn
这个主要是用来扫描这个网段下面的所有主机是否开机,查找在这个网段下面的主机ip
图形化界面传输
新电脑不能忘记给自己的电脑添加xhost
这个命令是添加在本地主机上的,也就是你自己的电脑上的。后面的ip是需要远程连接的小电脑上面的。
1 | xhost +10.42.0.101 |
xhost 是用来控制X server访问权限的。
通常当你从hostA登陆到hostB上运行hostB上的应用程序时,做为应用程序来说,hostA是client,但是对图形来说,是在hostA上显示的,需要使用hostA的Xserver,所以hostA是server。因此在登陆到hostB前,需要在hostA上运行xhost +来使其它用户能够访问hostA的Xserver。
远程连接图像化界面显示

xclock

出现了一个很奇怪的问题
dji@manifold2:~/projects/XJM/linuxSDK_V2.1.0.32/demo/GTK_Demo$ sudo ./GTK_demo
iCameraCounts =1
num =0 MV-SUA33GC MV-SUA33GC#0
input 0-0:0
E0913 09:20:00.208146 5707 MVCAMAPI.cpp:350] CameraInit Failed, err:-18,Version:2.1.0.32,FriendlyName:MV-SUA33GC#0,SN:049080710031
CameraInit Failed: -18
显示为相机检测到了,但是初始化有问题
看了井智的文档,之后发现这个是usb接口有问题。重新插拔就好了。。。。。

clion远程调试
在clion远程连接中又遇到了-18那个报错,又是usb接口有问题,重新插拔解决问题
同时因为cmake和c++标准不同,对待代码进行了小部分修改。


疑惑
部署cmake-build-debug
这个文件是干什么用的
是光把可执行文件移动过来了么
vscode远程调试
回到家的感觉

ForwardX11 yes 是SSH配置文件中的一项选项,用于启用X11转发。让我们更详细地解释X11转发以及这个配置选项的作用。
X11 转发简介:
X11是一种用于图形用户界面(GUI)的协议,允许在一个计算机上运行的程序的图形界面在另一个计算机上显示。在SSH连接中,X11转发允许你在远程服务器上运行图形应用程序,并将它们的图形界面显示在本地计算机上。这对于远程管理和运行图形应用程序非常有用,特别是当你需要在远程服务器上进行图形工作时。
**ForwardX11 yes**** 的作用:**
ForwardX11是SSH客户端的配置选项之一。yes是其参数,表示启用X11转发。
当你在SSH客户端配置文件中将 ForwardX11 设置为 yes 时,它告诉SSH客户端在建立与远程服务器的连接时启用X11转发功能。这意味着,如果你运行了一个需要图形界面的应用程序,它将在远程服务器上运行,并且其图形界面将通过SSH连接传输到你的本地计算机,以便你可以在本地看到和操作该应用程序的图形界面。
举例来说,如果你在远程服务器上运行了一个图形编辑器,启用了X11转发后,你可以在本地计算机上看到该编辑器的窗口,就好像它是在你的本地计算机上运行的一样。
请注意,X11转发可能会带来一些安全风险,因此应仔细考虑是否启用它,特别是在与不信任的远程服务器建立连接时。如果不需要图形界面,建议禁用X11转发以增加安全性。要禁用X11转发,可以将 ForwardX11 设置为 no 或者注释掉该行(在SSH配置文件中使用 # 符号)。

clion和vscode区别
我认为vscode 各个方面都比clion好(bushi
也能直接拖拽文件,完成文件的导入
出现的问题

和这个是想和github建立连接,然后一直在加载,等一段时间加载失败之后恢复正常了

实车调试

GTK_demo:4201): Gtk-WARNING **: 20:07:49.566: cannot open display: localhost:10.0
由于之前使用的是nuc,没遇到这个问题,所以直接忽略了文档中这部分命令
车上使用的是妙算。出现了这个问题,查了半天美差出来,也忘了文档里面有。最后在井智的提示下解决问题
与x11有关。
重点了解的命令
TOP命令参数详解—10分钟学会top用法_top参数详解_江湖人称小青年的博客-CSDN博客
linux kill命令参数及用法详解 - etwits - 博客园
每天一个linux命令(41):ps命令 - peida - 博客园

最后成功杀死
root 972 940 0 21:36 ? 00:00:00 bash /home/dji/projects/hero2023/herocv2023-dev-standard_dev/scripts/new_watchdog.sh
dji 2107 1931 0 21:37 pts/2 00:00:00 grep –color=auto –exclude-dir=.bzr –exclude-dir=CVS –exclude-dir=.git –exclude-dir=.hg –exclude-dir=.svn –exclude-dir=.idea –exclude-dir=.tox new_watchdog.sh
我最开始疑惑怎么两个这个名字的文件
后来发现下面这个是用来查找的的命令
根据提供的命令输出,看起来您正在查看正在运行的进程列表,并且您似乎希望使用中文解释这些信息。
- 第一行:
- 用户:root
- 进程ID:972
- 父进程ID:940
- CPU使用率:0
- 启动时间:21:36
- 终端类型:?
- 进程状态:00:00:00
- 命令:bash /home/dji/projects/hero2023/herocv2023-dev-standard_dev/scripts/new_watchdog.sh
- 第二行:
- 用户:dji
- 进程ID:2107
- 父进程ID:1931
- CPU使用率:0
- 启动时间:21:37
- 终端类型:pts/2
- 进程状态:00:00:00
- 命令:grep –color=auto –exclude-dir=.bzr –exclude-dir=CVS –exclude-dir=.git –exclude-dir=.hg –exclude-dir=.svn –exclude-dir=.idea –exclude-dir=.tox new_watchdog.sh
第一行中的进程由root用户启动,其目的是运行一个名为“new_watchdog.sh”的脚本。第二行中的进程由dji用户启动,它是一个grep命令,用于搜索包含“new_watchdog.sh”的文件,并进行颜色高亮显示。