学习无人机代码框架【第一天】---VMware 安装Ubuntu16.04时显示不全的解决方法

ros环境配置篇

    • 环境配置在vmware上安装ubantu16.04操作系统
    • 安装完成后显示界面太小解决办法
    • 其他遇到的一些ubantu问题
    • 最后一步是在ubantu16上安装ros-kinetic
    • 其他
      • 很重要的一个工具是安装vmware-tool,可以支持把外部的文件或文字传入到虚拟机中
      • 管理不同的终端的软件
      • 代码编辑器vscode
      • 安装中文输入法
        • 1.ibus简介
        • 2.安装ibus输入框架
        • 3.配置ibus的输入方式
        • 4.重启
        • 5.切换输入方式
    • 相关ros安装包的安装:
      • serial
      • ddynamic-reconfigure

环境配置在vmware上安装ubantu16.04操作系统

左手按住alt键右手鼠标往上拖动安装界面,即可显示完全内容。。。
就。。。挺无语的

安装完成后显示界面太小解决办法

修改屏幕分辨率:
https://blog.csdn.net/Dontla/article/details/120925234

其他遇到的一些ubantu问题

  1. apt未被正确安装
    当用户在Ubuntu系统下输入sudo apt时,实际上是执行一条叫做apt-get的命令。如果用户没有正确安装apt-get命令,即使输入了正确的sudo apt命令,系统也会提示找不到命令。

代码示例
sudo: apt-get: command not found

解决:

  1. apt未被正确安装
    在Ubuntu系统中,apt-get被默认安装,如果未安装,可以使用以下命令重新安装。

代码示例
sudo apt-get install apt

最后一步是在ubantu16上安装ros-kinetic

参考大佬文章,基本上很短时间就安装好了
https://blog.csdn.net/qq_45539458/article/details/106456408
(为了防止大佬文章没了,我复制过来一遍)

使用中科大的源

sudo sh -c '. /etc/lsb-release && echo "deb https://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

设置key

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

更新
sudo apt-get update
数字签名无效或者过期时参考,一般不会,注意尽量不要连校园网
https://www.cnblogs.com/lishanlei/p/10707819.html

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8C718D3B5072E1F5
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 58712A2291FA4AD5
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

安装kinetic完整版
sudo apt-get install ros-kinetic-desktop-full

安装中断时可以

sudo apt-get update
sudo apt-get install ros-kinetic-desktop-full

和校验失败可以

 sudo dpkg --configure -asudo apt-get install ros-kinetic-desktop-full

初始化rosdep

sudo rosdep init
rosdep update

若出现ERROR

sudo gedit /etc/hosts

添加

199.232.28.133 raw.githubusercontent.com

配置环境变量

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

或者

sudo gedit  ~/.bashrc

添加source /opt/ros/kinetic/setup.bash
安装依赖项

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

测试
三个窗口分别打开

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

在三个窗口打开以上命令,出现小乌龟,并可以在第三个窗口使用键盘控制乌龟移动,则成功
出现: 程序“roscore”尚未安装。 您可以使用以下命令安装:apt install python-roslaunch,参考[https://www.jianshu.com/p/bfbc833c719b],可能还是配置环境变量时有问题(https://www.jianshu.com/p/bfbc833c719b)
https://github.com/ros/catkin.git 下载kinetic-devel分支

mkdir build
cd build
cmake ..
sudo chmod +x Makefile
make -j8  
sudo make install
cd ..
python2 setup.py install

实在不行

 sudo apt-get install aptitude
sudo aptitude install python-roslaunch

不接受第一种方案,n
用第二种方案y

到这里,环境基本配置就没啥问题了

其他

安装一些比较实用的开发工具

很重要的一个工具是安装vmware-tool,可以支持把外部的文件或文字传入到虚拟机中

管理不同的终端的软件

sudo apt install terminator

常用快捷键:
Alt+Up //移动到上面的终端
Alt+Down //移动到下面的终端
Alt+Left //移动到左边的终端
Alt+Right //移动到右边的终端
Ctrl+Shift+O //水平分割终端
Ctrl+Shift+E //垂直分割终端
Ctrl+Shift+Right //在垂直分割的终端中将分割条向右移动
Ctrl+Shift+Left //在垂直分割的终端中将分割条向左移动
Ctrl+Shift+Up //在水平分割的终端中将分割条向上移动
Ctrl+Shift+Down //在水平分割的终端中将分割条向下移动
Ctrl+Shift+S //隐藏/显示滚动条
Ctrl+Shift+F //搜索
Ctrl+Shift+C //复制选中的内容到剪贴板
Ctrl+Shift+V //粘贴剪贴板的内容到此处
Ctrl+Shift+W //关闭当前终端
Ctrl+Shift+Q //退出当前窗口,当前窗口的所有终端都将被关闭
Ctrl+Shift+X //最大化显示当前终端
Ctrl+Shift+Z //最大化显示当前终端并使字体放大
Ctrl+Shift+N or Ctrl+Tab //移动到下一个终端
Ctrl+Shift+P or Ctrl+Shift+Tab //Crtl+Shift+Tab 移动到之前的一个终端
F11 //全屏开关
Ctrl+Shift+T //打开一个新的标签
Ctrl+PageDown //移动到下一个标签
Ctrl+PageUp //移动到上一个标签
Ctrl+Shift+PageDown //将当前标签与其后一个标签交换位置
Ctrl+Shift+PageUp //将当前标签与其前一个标签交换位置
Ctrl+Plus (+) //增大字体
Ctrl+Minus (-) //减小字体
Ctrl+Zero (0) //恢复字体到原始大小
Ctrl+Shift+R //重置终端状态
Ctrl+Shift+G //重置终端状态并 clear 屏幕
Super+g //绑定所有的终端,以便向一个输入能够输入到所有的终端
Super+Shift+G //解除绑定
Super+t //绑定当前标签的所有终端,向一个终端输入的内容会
自动输入到其他终端
Super+Shift+T //解除绑定
Ctrl+Shift+I //打开一个窗口,新窗口与原来的窗口使用同一个进程
Super+i //打开一个新窗口,新窗口与原来的窗口使用不同的进程

代码编辑器vscode

ubuntu16.04安装vscode遇到的code 依赖于 libnss3 (>= 2:3.30)解决:
不要用最新版的,换成2022年七月份的就可以了

安装中文输入法

使用ibus框架
参考自文章(跟了好几篇文章,只有这篇文章成功了):
http://t.csdnimg.cn/QrN4n

1.ibus简介

IBUS(英文全称为Intelligent Input Bus),是GNU/Linux和类UNIX操作系统下的以GPL协议分发源代码的开源免费多语言输入法框架。
因为它采用了总线(Bus)式的架构,所以命名为Bus。IBus支持多种输入法,如拼音输入法(包括全/简/双拼),并支持基于码表的输入法,如五笔、郑码、二笔和仓颉等输入法,是多个流行的GNU/Linux发行版(如Debian,RedHat等)的默认非英文输入法平台。

2.安装ibus输入框架
sudo apt-get install ibus ibus-pinyin
3.配置ibus的输入方式
sudo ibus-setup

默认的 “General”(常规)设置应该可以用,但是最好点击 “Input Methods”(输入法),在下拉式列表框中选择你的输入法,点击 “Add”(添加)。
在这里插入图片描述

4.重启
sudo reboot
5.切换输入方式

用组合键:

<Super>space即Windows+空格键

若有多种输入语言,可按住Windows键不动调节空格键来选择你的输入语言。

相关ros安装包的安装:

serial

作为ROS与下位机通讯的功能包,可以很方便的供我们与我们的下位机通信。
安装 ros-kinetic-serial 包

// 安装
sudo apt install ros-kinetic-serial

ddynamic-reconfigure

sudo apt-get install ros-kinetic-ddynamic-reconfigure

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/151163.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[C/C++] 数据结构 LeetCode:用队列实现栈

题目描述: 请你仅使用两个队列实现一个后入先出&#xff08;LIFO&#xff09;的栈&#xff0c;并支持普通栈的全部四种操作&#xff08;push、top、pop 和 empty&#xff09;。 实现 MyStack 类&#xff1a; void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元…

基于Springboot+Vue家电维修预约系统

需求&#xff1a; 登录后用户选择所在地区 1.日常事务工作人员预约&#xff08;进行分类筛选 如清洁、烹饪等&#xff0c;至少6个&#xff09;每天晚上22:00前预约 第二天起可上门 需要有时段的选择。 2.家电维修预约&#xff08;分类筛选 如&#xff1a;冰箱、空调、网络、电饭…

为什么 Intent 不能传递大数据

Intent 传递不同大小数据时的问题&#xff1a; 传 512k 以下的数据是可以正常传递的&#xff1b;传 512k&#xff5e;1024k 的数据会出错&#xff0c;闪退&#xff1b;传 1024k 以上的数据会报错&#xff1a;TransactionTooLargeException&#xff1b;考虑到 Intent 还包括要启…

kubernetes集群编排——etcd

备份 从镜像中拷贝etcdctl二进制命令 [rootk8s1 ~]# docker run -it --rm reg.westos.org/k8s/etcd:3.5.6-0 sh 输入ctrlpq快捷键&#xff0c;把容器打入后台 获取容器id [rootk8s1 ~]# docker ps 从容器拷贝命令到本机 docker container cp c7e28b381f07:/usr/local/bin/etcdc…

使用人工智能自动测试 Flutter 应用程序

移动应用程序开发的增长速度比以往任何时候都快。几乎每个企业都需要移动应用程序来保持市场竞争力。由于像 React Native 这样的跨平台移动应用程序开发框架允许公司使用单一源代码和单一编程语言构建 iOS 和 Android 应用程序&#xff0c; Flutter是 Google 支持的另一个热门…

【前端知识】Node——使用fs模块对文件、文件夹的操作

一、fs的三种读取文件内容的方式 const fs require(fs);// 1.同步读取 const res1 fs.readFileSync(../test.txt, {encoding: utf-8 }); console.log(res1);// 2.异步读取&#xff1a;回调函数 fs.readFile(../test.txt, {encoding: utf-8 }, (err, data) > {if(err){con…

二十三种设计模式全面解析-深入解析模板方法模式的奇妙世界

在软件设计的奇妙宇宙中&#xff0c;有一种设计模式如一颗流星般划过&#xff0c;留下绚丽的光芒&#xff0c;它就是——模板方法模式&#xff08;Template Method Pattern&#xff09;。这个模式不仅令代码更加灵活&#xff0c;而且蕴含了一种设计哲学&#xff0c;本文将深入研…

最大子段和(分治法+动态规划法)

求最大子段和 此类问题通常是求数列中连续子段和的最大值&#xff0c;经典的股票问题就是考察的这个思想及拓展。 例题&#xff1a; AcWing:1054. 股票买卖 Leetcode:53. 最大子数组和 分治法O(nlogn) 此类问题时分适合采用分治思想&#xff0c;因为所有子区间 [ s t a r t …

要事第一:如何通过6个步骤确定项目的优先级

当收到很多项目请求并且每个请求都是重中之重时&#xff0c;该怎么办&#xff1f;从最易完成的开始&#xff1f;还是先解决最大的问题&#xff1f; 实际上两种做法都不对。确定项目优先级的更好方法是评估以下内容&#xff0c;而不是关注项目规模或完成时长&#xff1a; ● 每…

【计算机网络】P2 性能指标

性能指标 性能指标1 - 速率性能指标2 - 带宽性能指标3 - 吞吐量性能指标4 - 时延性能指标5 - 时延带宽积性能指标6 - 往返时延 RTT性能指标7 - 利用率 性能指标1 - 速率 速率&#xff0c;即数据率&#xff0c;或称数据传输率或比特率&#xff0c;指连接在计算机网络上的主机在…

DBeaver连接本地MySQL

原文&#xff1a; DBeaver21.3.0安装与连接本地MySQL_dbeaver创建本地数据库_傅大胖的博客-CSDN博客 其他&#xff1a; mysql 的驱动下载地址&#xff1a; Central Repository: mysql/mysql-connector-java ​​​​​​​

二十三种设计模式全面解析-职责链模式的高级应用-日志记录系统

在软件开发领域&#xff0c;职责链模式&#xff08;Chain of Responsibility Pattern&#xff09;是一种强大而灵活的设计模式&#xff0c;它能够将请求的发送者和接收者解耦&#xff0c;提高代码的灵活性和可维护性。本文将深入探讨职责链模式的优点和缺点&#xff0c;并提供更…

学习Opencv(蝴蝶书/C++)代码——2.OpenCV初探

文章目录 0. 图像读取与显示1. 视频文件读取与操作1.1 示例代码1.1 OpenCV支持的视频格式2. 加入滑动条2.1 示例代码2.2 报错/Warning2.3 关于toolbar3. 简易视频播放器3.1 OpenCV检测方向键被按下3.1.1 Windows下3.1.2 linux下3.1 方向键控制视频变化4. 简单的变换5. 写视频5.…

三相异步电机动态数学模型及矢量控制仿真

文章目录 三相异步电机动态数学模型及矢量控制仿真1、异步电机三相方程2、坐标变换3、磁链3/2变换推导4、两相静止坐标系下的方程5、两相旋转坐标系下的方程6、以 ω-is-Ψr 为状态变量的状态方程7、矢量控制及 matlab 仿真 原文链接需要仿真的同学请关注【Qin的学习营地】 三相…

JMeter基础

JMeter工具基础使用 JMeter的三个重要组件线程组HTTP请求查看结果树 JMeter参数化用户定义的变量用户参数CSV数据文件设置函数四种参数化方式的不同 JMeter断言JMeter关联正则表达式XPath提取器JSON提取器 JMeter属性JMeter录制脚本JMeter直连数据库JMeter逻辑控制器JMeter定时…

百云齐鲁 | 云轴科技ZStack成功实践精选(山东)

山东省作为我国重要的工业基地和北方地区经济发展的战略支点&#xff0c;在“十四五”规划中将数字强省建设分为数字基础设施、数字科技、数字经济、数字政府、数字社会、数字生态六大部分&#xff0c;涵盖政治、经济、民生等多个方面&#xff0c;并将大数据、云计算、人工智能…

【错误记录】Uncaught TypeError: m.nodeName.toLowerCase is not a function

描述&#xff1a;在控制台输出上述错误~ 原因&#xff1a;在页面中&#xff0c;使用jQuery 开发时&#xff0c;命名不能和jQuery一起方法属性冲突&#xff0c;比如这里的nodeName&#xff0c;这里换一个不冲突的名字&#xff0c;就解决问题了。

统一身份认证平台之SSO建设

前言 上篇说道Passwordless无密码技术&#xff0c;也提到了数字时代密码管理的难度&#xff0c;其实在日常的生活中&#xff0c;很多用户也会因为忘记某些网站的登录密码而烦恼。为了方便记忆&#xff0c;很多人都在不同的站点使用相同的用户名和密码&#xff0c;虽然也可以减少…

uvm环境获取系统时间的方法和使用案例

背景&#xff1a; 有时候我们想统计一下验证环境中某个步骤总共花费了多少时间&#xff0c;有什么比较方便的方法呢&#xff0c;利用$realtime理论上也是能做到的&#xff0c;不过这个和timescale绑定起来了&#xff0c;需要手动换算成单位是秒的数&#xff0c;现在提供一种利用…

未来之路:互联网技术驱动汽车行业的创新浪潮

在互联网迅猛发展的今天&#xff0c;它的触角已延伸至各行各业&#xff0c;其中最引人注目的莫过于汽车行业。随着互联网技术的融合&#xff0c;汽车正变得越来越智能&#xff0c;预示着一场关于出行方式的革命。 首先&#xff0c;自动驾驶技术的发展正日益成熟。依托先进的传感…