前言
该系列博客主要记录使用ubuntu,ROS,PX4等遇到到各种小问题以及解决方案,作为自己的笔记保留下来,每有新的问题都会作记录,实时更新。
ubuntu
1.开机屏幕黑屏
这种情况主要是由于独立显卡驱动造成的,解决步骤如下:
-
- 我们在grub引导的ubuntu选项下,按E建,进入系统的启动命令中,在quite splash 后加入 nomodeset, 禁用开源的nouveau驱动。然后按下F10,从而保存并启动系统。(这样只是让你当前可以正常进入系统,却不能永久生效,为了永久生效,我们来进行下面的两步操作)
-
- 进入系统后,
sudo vi /etc/default/grub
或sudo gedit /etc/default/grub
,编辑打开的文件,找到GRUB_CMDLINE_LINUX_DEFAULT,在后面加上(在quiet splash后打一个空格) nomodeset,然后保存退出。
- 进入系统后,
-
- 输入命令
sudo update-grub
会自动更新/boot/grub/grub.cfg ,使得grub修改永久生效,问题也得以解决。你可以重新开机的时候按E进入启动命令中检查,会发现nomodeset出现在quite splash后面。
- 输入命令
2.nvidia驱动安装
根据我自己的无数遍折腾,使用ubuntu系统自带的 Software&Updates 中的Additional Drivers 都是可以很好的安装上的。我当时死活安装不上,在大量尝试和搜索中发现我笔记本屏幕(Y9000P 2021H)可能有问题(如果你是高刷屏幕的笔记本,自己检查在独显以及核显下能否正常切换到高刷新率,如果不能要么立刻退货,要么送去3C服务中心检修),送去检修也确实是如此。最后换屏幕后,用 Software&Updates 顺利安装nvidia驱动。(输入nvidia-smi
来检查)
3.屏幕亮度调节
我用的ubuntu18.04都有拖动屏幕亮度调节滑块没有反应,都是最大亮度的情况。如果你屏幕亮度本来就一般,那么或许这个问题完全可以忽略。但是如果你的屏幕亮度很高,那这就很伤眼睛了。目前我采用的解决方案如下:
sudo add-apt-repository ppa:apandada1/brightness-controller
sudo apt-get update
sudo apt-get install brightness-controller
然后你就可用这个小工具来调节屏幕亮度了。
4.触摸板右键没有反应
sudo apt install gnome-tweaks
安装完后,启动这个小工具,在Keyboard&Mouse 中,将Mouse Click Emulation的模式更改为Area.
5.不想要桌面的那个垃圾桶图标
同样也是用gnome-tweaks,在Desktop中即可进行设置。
6.自己安装的软件生成快捷图标
cd /usr/share/applications# 所有的快捷图标都在这里
ls
sudo gedit xxxx.desktop #chose one you like
打开一个后我们照虎画猫,自己写一个给我们安装的软件配置上即可。
7.添加桌面快捷方式
gnome-desktop-item-edit --create-new ~/Desktop
如果报错说明没有这个东西,那么按照提醒的信息安装即可
8.触摸板失效
如果你的电脑很新,那么这种情况出现的概率还蛮大的。有以下两种解决办法:
- 最简单的方法是安装最新版本的LTS,那么基本上驱动都是OK的。
- 由于最新的LTS不太好用(源和库不够丰富)你不想用,那么你可以手动升级内核到最近的稳定版本。(这个就自行搜索吧)不过,你很有可能升级完后遇到另外一个尴尬的局面,那就是升级完内核后,你发现自己的nvidia驱动无了。我就遇到了这个情况,试了好久,最后我找到了万能淘宝一家叫Linux virt的店,老板技术很好,我描述清楚我的问题后,他给我编译了一个内核,安装上后就ok了。
9.QQ和微信的安装
这个东西,之前有试过挺多办法的,但是感觉都不方便,而且老是出各种问题。于是在一些大佬的回复中,和自己的实际摸索,我给我自己给出如下的解决方案。
- QQ安装,直接采用官方QQ linux 版本。虽然它的界面十分古老,但是作为通讯工具,聊天和一般的文件传输都是可以的。虽然没有群文件,但是问题不大。
- 微信的安装,采用优麒麟给出的微信安装包下载地址。下载和安装都很方便,唯一的bug是,它会把系统/etc/lsb-release文件中的内容改掉,如下所示:
DISTRIB_ID=Kylin
DISTRIB_RELEASE=V10
DISTRIB_CODENAME=kylin
DISTRIB_DESCRIPTION="Kylin V10 SP1"
DISTRIB_KYLIN_RELEASE=V10
DISTRIB_VERSION_TYPE=enterprise
DISTRIB_VERSION_MODE=normal
一般来说,软件的使用都是不受什么影响的。但是在px4仿真的时候会出现问题第7条。为了方便使用,我写了一个简单的脚本,便于切换文本内容(不需要重启)。启动微信前,运行脚本输入2,正常运行后可切换回1。(注:不论是微信还是px4仿真,都之在启动时需要读取lsb-release的信息,正常运行后这里的内容不再起作用)
#!/bin/bash
echo -e "Ubuntu for gazebo -- 1 \nKylin for wechat -- 2 "
a=1
read choice
if [ $choice -eq $a ]
then
echo -e "Ubuntu \n " && cd /etc && echo -e "DISTRIB_ID=Ubuntu \nDISTRIB_RELEASE=18.04 \nDISTRIB_CODENAME=bionic \nDISTRIB_DESCRIPTION=\"Ubuntu 18.04.6 LTS\"" >lsb-release
else
echo -e "Kylin \n " && cd /etc && echo -e "DISTRIB_ID=Kylin \nDISTRIB_RELEASE=V10 \nDISTRIB_CODENAME=kylin \nDISTRIB_DESCRIPTION=\"Kylin V10 SP1\"" >lsb-release
fi
- 其他替代方案:不管是微信还是QQ,他们在ubuntu下的效果都是不完美的,所以我最后又采用了飞书作为linux办公的通讯工具,这样一来我想应该是万无一失了吧。
10. 英文输入法自动补全
安传ubuntu时选用英文版本。
后续安装sudo apt-get install fcitx-googlepinyin
详见这里
如果之前安装了中文版本的ubuntu, then you need to remove Chinese input source in Region & Language firstly.
1.激活到并且进入Fcixt的英文输入状态,点击任意输入框.
2.按 ctrl+alt+H ,以激活 spell hint状态.
3.输入几个英文字母,即可弹出候选单词(即自动补全功能),可以按alt加数字,以选取候选单词.
注:为了令补全功能更贴心,可以在Fcitx设置里的找到"Enlish"(输入法)一栏,双击,进入可有更多设置. 比如把 "choose key modifier"由 alt 改成 none ,作用是选词时免按alt.
11. nvidia jeston 系列 ubuntu20.4 Vscode 无法使用
最新版本的vscode(1.78.2)在jeston上的适配貌似有问题,安装旧版本(1.65.0)就可以正常使用了!
下载链接:https://update.code.visualstudio.com/1.65.0/linux-deb-arm64/stable
12. jeston 系列usb_wifi 驱动编译
有些驱动可能出现编译安装完成后依旧不启动的情况,可以sudo insmod xxx.ko
先试试(xxx.ko
为编译出来的wifi驱动)。如果ok的话,可以创建如下脚本,把它添加到开机自动启动项中:
echo "your password" | sudo -S insmod /home/your_fold/xxx.ko