目录
个人学习笔记资料记录
资料来源:轮趣科技
链接: https://pan.baidu.com/s/1uj8VXx5b91FlwoSGqKoncQ
内容纯属是个人学习笔记资料记录,资料来源轮趣科技。在这里非常感谢轮趣科技的资料开源分享。如有侵权,请联系本人删除,谢谢。
1.VMware与Ubuntu虚拟机的使用
...资料链接查看
2.Ubuntu的文件结构及常用命令介绍
1、文件结构
/bin --重要的二进制应用程序
/boot --启动配置文件(开机所需要的一些文件,树莓派显示屏的分辨率设置文件)
/dev --设备文件(以文件形式存放设备与接口)
/etc --配置文件、启动脚本等(比如Ubuntu的软件源文件存放在/etc/opt目录下)
/home --本地用户主目录(与home文件区分)
/lib --系统库文件
/mnt --挂载文件系统
/opt --提供一个可选应用程序安装目录
/usr/local --用户自行安装的软件
2、Ubuntu中的用户权限
linux对用户和权限分的很细。系统会有一个root用户,这个用户可以对系统进行任意的操作,但系统还会有一些其他的用户,一般ubuntu在安装时会让你创建一个用户,这个用户就是你自己的用户
linux系统中每个文件都有三组保护权限
依次为:
用户 user --适用于该文件打所有者
组 group --适用于该文件所属的组
其他 other --适用于所有用户
这三组权限每一组又含有一下三种读写控制,分别是读 read 写 write和可执行 execute
在ros文件系统中,常常要对.launch文件或者py文件进行权限的修改。
修改权限的方式有两种:
第一种是:文件所有者直接编辑文件授权等级:右键>属性>权限
第二种方式是使用chmod命令对文件或者文件夹进行权限的更改,普通用户也可以执行。
3、常用命令
在普通用户下,需要对文件进行修改的时候,如果发现没有权限,那就需要用到sudo命令来暂时提高用户权限去执行指令。
sudo命令:sudo既为Super user do的意思,表示暂时切换到超级用户模式以超级用户权限执行命令。
为了频繁的执行某些只有超级用户才能执行的命令,不需要每次输入密码,可以使以下命令。没有时间限制。
在普通文件目录中不需要太大的权限,比如在
sudo -i 运行结果是加载用户变量 结果是 root 环境。
sudo su 加载用户变量,运行结果在当前用户的主目录下。
#开头——root用户身份
$开头——普通用户身份,不是root用户身份
退出超级用户模式:ctrl+d 或者输入exit
mkdir 新建文件夹
touch 新建文件
在用户自己的文件下可以不需要sudo来提升权限执行指令,但如果在根目录下的文件进行操作,是需要权限的。
cd :change directory 改变目录
这里涉及到一个绝对路径与相对路径的问题,绝对路径是从跟目录开始的,如/home/wheeltec01,相对路径是相对于当前路径来说的。
cd .. 返回上一层目录 ,不加路径参数时,默认切换到用户主目录。
在我们调试机器人的时候还有一个常用到的切换目录的命令是roscd
roscd 在ros文件系统中用于进入功能包所在的目录
mv 移动/重命名文件 mv -r 移动文件夹
cp 复制文件 cp -r 复制文件夹
rm 删除文件 rm -r 删除文件夹
pwd 显示当前目录所在的路径
ip a显示系统网卡的ip地址
apt update获取软件列表
apt upgrade 升级软件
apt install 安装软件包
pip install 安装python包
apt install ./安装当前目录下的软件包
apt install -f 修复软件的依赖项
5、换源
由于刚装好Ubuntu系统时,Ubuntu自带的软件源文件是国外的,在国内使用网络的时候网速会很慢,这个时候需要对系统中的软件源文件进行更改,改成国内的源。
首先对系统的源文件进行备份
源文件存放: /etc/apt/sources.list
然后点击浏览器,搜索“清华源”
将源文件中的内容更换成阿里云的源,再次更新软件列表,更新完成之后,就换源成功了。
3.ubunru中常用文本编辑器的介绍
常在命令行中使用的编辑器:nano[迷你编辑器]、vim[vi 的升级版]。图形界面gedit
1. Nano
nano 编辑器的使用方法:nano 编辑器与 vim 编辑器不同,进入 nano 编辑器
后是可以直接修改文本内容的,修改完之后需要保存,按下“ctrl+o”,这时会
显示文件名字,如果不修改文件名字就按下回车,这时文件已经保存好了,退出
编辑器按“ctrl+x”。
2. Vim
Vim 编辑器的使用方法:在 vim 编辑器中,一开始进入 vim 编辑器是不能直
接修改文本内容的,需要按下“i”切换成“insert”(文档的右下角),然后才
可以输入,按下“Esc”又切换回只读模式。在更改完文本需要退出时,切换回
只读模式,然后输入:(这里是需要输入一个冒号),然后再输入指令,其中
“:q”是退出,“:wq”是保存然后退出,如果更改了内容但是想不保存退出
是“:q!”,如果是正在使用的文件想强制保存退出是“:wq!”。
4.远程命令行控制:SSH
1. 打开终端并输入
sudo service ssh status
如果 SSH 已安装,你将看到服务的运行状态。如果未安装,你会收到一条
提示,指示 SSH 服务未运行。
2. 如果未安装 SSH,执行下面的指令进行安装
sudo apt update
sudo apt install openssh-server
3. 接下来启动 SSH 服务并设置自启动
sudo service ssh start
sudo systemctl enable ssh
客户端安装
Ubuntu 电脑和虚拟机中自带 SSH 客户端,无需安装,如需安装,安装命令
为:
sudo apt-get install openssh-client
正常登录流程
在 Ubuntu 电脑或虚拟机中连接小车 Wifi打开终端、输入:ping 192.168.0.100
如果可以 ping 通,代表可以使用 SSH 进行远程登录,打开终端并输入:服务端用户名@服务端 ip 地址;正常情况下,终端中会提示输入 服务端用户的登录密码,我们在终端中输
入密码并按回车即可正常登录(注意密码是密文,看不见是正常的,输入后回车即可)。
如果出现了不能 ping 通小车 IP 的情况资料链接查看
5.远程桌面控制:VNC(Remmina)
1. VNC 客户端在 Ubuntu 的使用
在 Ubuntu 虚拟机或笔记本中如果需要使用 VNC 可以下载 VNC 客户端工具
本文以 remmina 这款工具为例进行讲解:
Remmina 网址:https://www.remmina.org/how-to-install-remmina/#ubuntu
选择 Ubuntu 并按照流程执行下载:
sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
sudo apt update
sudo apt install remmina remmina-plugin-rdp remmina-plugin-secret
sudo killall remmina
执行完成之后可以通过 ubuntu 的应用菜单找到下载好的 remmina
连接好设备wifi 后打开 remmina 选择 VNC 登录 并在右侧方框内填入需要连接的设备(服务端)的 IP 地址,之后输入密码即可登录到小车桌面。
2.VNC 客户端在 Windows 的使用
在 Windows 操作系统中使用 VNC 推荐使用 Mobaxterm 。
网址:https://mobaxterm.mobatek.net/download-home-edition.html
可自行选择需要的版本下载
跟windows远程桌面一样,需要在ubuntu中开启远程服务,并且设置密码。参考:MobaXterm使用VNC方式登录Ubuntu - 知乎 (zhihu.com)
打开Mobaxterm:
在弹出的窗口中选择 VNC 并在下方填入需要连接的设备(服务端)IP 地址,确保电脑(客户端)已经连上设备 wifi 后点击 ok,输入密码即可登录到小车桌面。
3. 注意事项
1.VNC 远程登录后,如果出现画面卡顿导致无法正常使用,可通过降低画质
的方式进行优化。
2.需注意大部分 VNC 工具是无法在登录到小车桌面后使用 ctrl+alt+t 打开终端
的,使用鼠标右键选择终端可正常打开使用。
6.远程文件挂载:NFS
很多时候我们需要对设备(服务端)上的文件进行修改,此刻可以用 nfs 服务将设备(服务端)上的文件挂载到 Ubuntu 虚拟机或电脑(客户端)的指定路径中,这样就可以方便的对小车上的文件进行查看、修改、替换等操作。
在Ros主机上搭建NFS服务器
1.服务端安装及配置
1、安装必备包
在机器人中安装nfs服务端
sudo apt-get install nfs-kernel-server
2、创建要共享的目录文件夹
sudo -p mkdir /mnt
3、编辑配置文件
①添加NFS共享目录
安装好 nfs 服务端后还需在服务端进行配置,需要在/etc/export 中添加 nfs
共享目录,执行:
sudo gedit /etc/export
打开文件后在文件的最后添加“需要共享的目录 *(rw,sync,no_root_squash)
/home/共享的目录 *(rw,sync,no_root_squash)
②给挂载的目录设置权限以及修改文件用户
sudo chmod -R 777 /home/共享的目录
sudo chown -R 777 nobody /home/共享的目录
4、最后启动 nfs 服务使之生效
sudo /etc/init.d/nfs-kernel-server start
sudo /etc/init.d/nfs-kernel-server restart
先启动NFS再重启NFS
2.客户端安装
1、安装nfs-utils和portma包
sudo apt-get install nfs-common portmap
2、创建一个提供挂载的目录
sudo mkdir /mnt/mount_nfs
3、挂载
sudo mount -t nfs -o nolock 192.168.0.100:/home/共享的目录 /mnt
3.在ROS主机中设置开机自启动程序
1.制作脚本(实际使用根据自己的目录替换)
cd /home/wheeltec
nano nfs.sh
2. 在nfs.sh文件中输入以下内容:(实际使用根据自己的目录替换)
#!/bin/sh
sudo mount -t nfs 192.168.0.100:/home/wheeltec/wheeltec_robot /mnt
3.给脚本添加执行权限
sudo chmod 777 nfs.sh
4.测试脚本功能
./nfs.sh
#!/bin/bash
5.在末尾添加(实际使用根据自己的目录替换)
/home/wheeltec/nfs.sh
6.将脚本文件写入rc.local文件中
sudo nano /etc/rc.local
7.在末尾添加(实际使用根据自己的目录替换)
/home/wheeltec/hello.sh
8.重启测试
reboot
7.ROS程序开机自启动教程
具体设备可能有所差异,....资料链接查看
8.Ubuntu创建热点与切换wifi教程
具体设备需要具体查看
Ubuntu 下常见的设置方式有两种,一种是直接在顶部状态栏打开网络设置相关的图形化界面;另一种是通过命令行或者是系统设置来进行。
1.通过命令行/系统设置配置网络
1.创建热点步骤
终端,输入指令nm-connection-editor
nm-connection-editor
之后点击左下角加号,新建网络连接。
类型选择 WiFi ,点击“create”创建。
2.设置 WiFi 名、模式、频段、网卡
(1)点击 Wi-Fi 选项卡。
(2)SSID 对应 WiFi 名称,可自由设置。(注:此处 connection name 仅为网络连接配置的名称,并不是 WiFi 名)。
(3)Mode 选择 Hotspot 选项,代表热点模式。
(4)Band 代表频段,选择默认的 Automatic(代表系统自动选择 2.4GHz 或者 5GHz判断)即可。如果后续使用过程中感觉 WiFi 卡顿,建议重新配置频段固定为2.4GHz 或者 5GHz,可能是当前环境下同频段 wifi 太多导致的卡顿。注意切换判断后需要关闭、重开热点生效。
(5)Device 代表网卡,如果系统接入了多个网卡,需要在此指定使用哪个网卡。
3.设置 Wifi 密码
选择 Wi-Fi Security 选项卡,安全性选择 WPA&WPA2 Personal 选项,
在 Password 处输入要设置的密码即可。
4.设置静态 IP 地址
选择 IPv4 选项卡,点击 Add 后进行配置,分别输入静态 IP 地 址、
子网掩码和网关。
最后是 IPv6 选项卡,这个我们只要选择忽略就可以,四个选项卡的内容均配置完毕即可保存
此时可以用手机、电脑搜索到名称为 WU_YDD(对
应图 的SSID)的 wifi。
2.热点模式与 WiFi 模式的互相切换
暂时略
3.如何设置开机默认开启热点或者连接 wifi
开机默认是开启热点还是连接 wifi 是由对应热点、wifi 在网络配置中的优先级决定的,设置优先级即可。
打开对应网络配置,选择 General 栏,可以看到 Connect automatically withpriority 选项,这个就是优先级,数值越小,优先级越高。如果希望开机默认连接 wifi,就需要确保 wifi 网络配置的优先级数值比热点网络配置的优先级数值小。反之亦然。