当前位置: 首页 > news >正文

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

相关文章:

  • H.264与H.265
  • Protobuf vs Thrift: 高性能序列化框架的对比与分析
  • 消息队列常见面试题总结
  • Linux复习--系统管理类(权限优化、备份策略、RAID、资源查看、启动流程、系统优化)
  • 灵当CRM index.php接口SQL注入漏洞复现 [附POC]
  • [uni-app]小兔鲜-02项目首页
  • 菱形继承、菱形虚拟继承、菱形继承中多态问题、菱形虚拟继承中多态问题
  • 2024外研社综合能力大赛第一场真题
  • 【redis-02】深入理解redis中RBD和AOF的持久化
  • 数据科学基石:解析属性类型体系——从标称到比率,全面洞察数据分类机制
  • 快速开发拍卖平台,成品源码如何满足你的需求?
  • python测试开发---前后端交互Axios
  • Apache Iceberg构建高性能数据湖
  • 软件开发人员需要了解的知识
  • 代码随想录算法训练营第十四天|递归 226.翻转二叉树 101. 对称二叉树 104.二叉树的最大深度 111.二叉树的最小深度
  • 【技术性】Search知识
  • nfs客户端进程变D,延伸linux的lock
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • passportjs 源码分析
  • python学习笔记 - ThreadLocal
  • React Native移动开发实战-3-实现页面间的数据传递
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • SpingCloudBus整合RabbitMQ
  • Spring-boot 启动时碰到的错误
  • storm drpc实例
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 闭包,sync使用细节
  • 第2章 网络文档
  • 如何在 Tornado 中实现 Middleware
  • 通过npm或yarn自动生成vue组件
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • ​Spring Boot 分片上传文件
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • (24)(24.1) FPV和仿真的机载OSD(三)
  • (4)事件处理——(7)简单事件(Simple events)
  • (5)STL算法之复制
  • (BFS)hdoj2377-Bus Pass
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (Windows环境)FFMPEG编译,包含编译x264以及x265
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (排序详解之 堆排序)
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)C#调用WebService 基础
  • (转)VC++中ondraw在什么时候调用的
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .Net Remoting(分离服务程序实现) - Part.3
  • .Net环境下的缓存技术介绍
  • .net网站发布-允许更新此预编译站点
  • @JsonFormat 和 @DateTimeFormat 的区别
  • @Validated和@Valid校验参数区别