Ubuntu以及ROS的一些方便设置及使用

目录

增加环境变量

取消终端sudo密码

关闭开机密码

编写sh文件

虚拟环境的启用与关闭

launch文件小技巧


增加环境变量

1.在home目录下按ctrl+h打开隐藏文件,打开.bashrc直接修改即可

2.输入gedit/vim ~/.bashrc修改即可

对于source ~/.bashrc这条指令只是适用于当前终端,如果修改完bashrc文件后可以关闭所有终端重新打开即可自动刷新环境变量,所以改完直接关更方便。

取消终端sudo密码

输入

复制代码
sudo visudo

划到下面 %sudo ALL=(ALL:ALL)

此图是修改好的,按照此图修改即可关闭密码 验证

该界面如何操作,直接跳到要输入位置,输入后按ctrl+o写入 ,回车确定,然后ctrl+x退出

关闭开机密码

打开设置,详细信息

点击右上角解锁输入密码,然后打开自动登录(都则按钮是暗的)

编写sh文件

配合上一篇文章SSH

新建文档名称为 **.sh

第一行输入

复制代码
#!/bin/bash

之后一行一句指令

sleep 1s表示等待1s,这样写所有的指令都会在同一终端输入,像ros的话会冲突,所以这里提供另外一种写法

复制代码
gnome-terminal -t "ssh" -x bash -c "ssh -X uas@uas;exec bash;"

表示重新打开一个终端并输入""里的指令,第一个""里的是终端的名称, 可相同

第一次编写完成后需要赋予权限

复制代码
sudo chmod 777 **.sh

虚拟环境的启用与关闭

默认退出base环境

复制代码
#修改默认配置
conda config --set auto_activate_base false	# 默认不进入base环境
conda config --set auto_activate_base true	# 默认进入base环境

默认进入指定环境

在bashrc文件最后添加

复制代码
conda activate env_name  # env_name就是你的虚拟环境名称

launch文件小技巧

对于ros繁琐的节点我们都会使用一两个launch文件来启动各个节点,或者用launch启动launch

如果多个节点同一launch启动也会占用一个终端,不太容易发现哪个掉了(报错)

所以在launch文件里添加参数

复制代码
launch-prefix="gnome-terminal -x"

会自动生成一个终端进行ros节点启用

方便调试

例如:

复制代码
 <!-- Start darknet and ros wrapper -->
  <node pkg="darknet_ros" type="darknet_ros" name="darknet_ros" output="screen" launch-prefix="gnome-terminal -x">
    <param name="weights_path"          value="$(arg yolo_weights_path)" />
    <param name="config_path"           value="$(arg yolo_config_path)" />
    <remap from="camera/rgb/image_raw"  to="$(arg image)" />
  </node>

我修改的为darknet的launch文件,找到node句,然后再最后面添加参数即可。

开机自启

对于开机自启有很多种方法,这里说明一种本人用过的方法

打开启动应用程序首选项

或者输入

复制代码
 gnome-session-properties

如上图所示

点击添加,在指令行输入

复制代码
 gnome-terminal -x fish /home/**.sh

意为开机自启一个终端并输入""内指令

名称和注释随意编写。

上述为自身经历获得的经验,如有补充欢迎评论,感谢阅读

2024.9.22

相关推荐
NamoAmitabha1283 小时前
libpng12-0 1.2.54-1ubuntu1.1 (amd64 binary) in ubuntu xenial
linux·ubuntu20.4
Madison-No74 小时前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌5 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
悠悠121385 小时前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
xiaoye-duck6 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
zx_741484817 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS7 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿7 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
wdfk_prog8 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
做运维的阿瑞8 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python