0%

Ubuntu 相关配置

一、前言

这是我在若干次重装 Ubuntu-22.04-LTS 时遇到的普遍性问题,遂志之。

二、配置

1. 无法连接校园网的问题

在重装完系统之后出现无法连接校园网,但却可以连接手机热点的问题。

原因是 iwlwifi 驱动未加载,查看:

1
$ lsmod | grep iwlwifi

发现并无输出,说明驱动并没有启动。重新加载模块:

1
$ sudo modprobe iwlwifi

加载后即可顺利连接校园网。

2. 修改配置文件后无法进入系统的问题

在修改完配置后无法顺利进入系统,黑屏仅右上角有光标闪烁。

开机选择 ubuntu develop 模式启动,选择 root,输入密码后即可以 root 进入命令行模式,定位错误信息修改后即可。

3. 开机自动挂载硬盘

因为我 Ubuntu 和 Windows 系统会共用一些文件(没错就是这个 blog),每次开机需要打开磁盘挂载,比较麻烦,所以需要实现开机自动挂载。

手动挂载后,查看分区信息:

1
2
3
4
5
6
7
8
$ df - h

文件系统 大小 已用 可用 已用% 挂载点
tmpfs 1.4G 2.4M 1.4G 1% /run
/dev/nvme1n1p8 73G 25G 45G 36% /
...
/dev/nvme0n1p1 806G 482G 325G 60% /media/lg/新加卷

可以看见最后一个就是目标挂载盘。查询挂载盘 UUID:

1
2
3
4
$ sudo blkid /dev/nvme0n1p1 

/dev/nvme0n1p1: LABEL="M-fM-^VM-0M-eM-^JM- M-eM-^MM-7" BLOCK_SIZE="512" UUID="1210A22E10A218AD" TYPE="ntfs" PARTUUID="50ec242e-01"

打开文件 /etc/fstab 文件:

1
$ sudo vim /etc/fstab

添加挂载条目:

1
2
3
4
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
...
# /dev/nvme0n1p1
UUID=1210A22E10A218AD /media/lg/新加卷 ntfs defaults 0 2

第一个数字:0表示开机不检查磁盘,1表示开机检查磁盘;
第二个数字:0表示交换分区,1代表启动分区(Linux),2表示普通分区

4. IDEA 运行内存设置

这几天在系统运行过程中,出现了三种卡顿情况:Webstorm 崩溃,IDEA 崩溃,以及输入框崩溃。经过内存监听,初步推断是内存问题。新买的两根 16G 的内存条还没发货,先看看能不能从软件层面入手。

顶部菜单 > help > Edit Custom VM options,输入

1
2
3
4
-Xmx5000m  最大堆内存大小为 5000MB
-Xms1000m //初始堆内存大小,随着应用程序的需求逐渐增加堆内存大小,最终不会超过 -Xmx 指定的最大值.
-XX:ReservedCodeCacheSize=512m 设置保留代码缓存的大小为 512MB。代码缓存用于存储已编译的代码,以提高程序的执行效率。
-XX:+UseG1GC 指示 JVM 使用 G1 (Garbage-First) 垃圾收集器

顺便清除下 IDEA 的缓存。

顶部菜单 > Invalidate Caches > 二三项 > Invalidate and Restart.

5. 更换输入源

经过调查,发现了输入区集体严重延迟的源头是 ibus-pinyin 输入法。

由于读取 sqlite 词库时有大量的IO操作,ibus-pinyin 在系统高负载时输入时有卡住的现象。

查找到的解决方法几乎全部都是治标不治本,遂决定更换输入法。

目前没有找到特别合适的替代,暂时先更新原输入法吧,崩溃后再继续折腾。

1
2
3
$ sudo apt update
$ sudo apt install --reinstall ibus ibus-gtk ibus-gtk3 ibus-clutter ibus-pinyin
$ ibus restart

最终解决办法是重新更换 fcitx5 输入法,更换皮肤后使用体验极佳。

image-20240422133508858

6. 系统容灾备份 (Clonezilla)

设备准备:2 枚 U盘,一枚作为引导盘(容量 4G 即可),一枚作为备份盘(需要较大容量,视备份数据量而定,我使用的是 64GB U盘)。其中引导盘需要先格式化(可以选择任意设备通用),并在其上建立一个分区。

在 Clonezilla 官网上下载 zip 包,并解压到引导盘。

1
2
3
4
5
$ sudo lsblk
$ sudo unzip clonezilla-live-20240116-mantic-amd64.zip -d /usb-boot

$ cd /usb-boot/utils/linux/
$ sudo bash makeboot.sh /dev/sdaX

这里的 /dev/sdaX 是引导盘,注意不能填错!!!

然后插入引导盘,进入 BIOS 界面设备选择将其置顶,再启动即可进入 Clonezilla 界面。

备份的操作逻辑比较简单,这里就不多讲了。

7. 系统异常时

到目前为止系统异常甚至崩溃的原因有如下几点:

  • nvidia 驱动:解决方案是通过 liveCD / 旧版内核,选择附加驱动安装推荐选项。(未尝试过 liveCD)
  • 分区挂载异常:livdCD 启动,挂在原系统根目录后修改 /etc/fstab 文件。
  • 引导程序异常:liveCD 启动,使用 boot-repair 推荐选项修复引导。
8. fuse 安装

Ubuntu 22.04 及以上版本直接使用 apt install fuse 会导致与 gnome 冲突,删除相关包甚至影响系统。因此需要更改安装命令,对于 Ubuntu ($\geq 22.04$),以下命令可安全安装 fuse

1
2
sudo add-apt-repository universe
sudo apt install libfuse2
9. 代理配置

目前订阅的是 SpeedCat 的配置,支持链接导入 Clash。

根据学长的文章(见参考资料)安装 clash-linux 并成功导入配置。

更好的图形界面支持?

Release Clash Verge v1.3.8 · zzzgydi/clash-verge

以后有时间打算自建节点,采用 Shadowsocks 部署服务器,因此需要一个方便配置 shadowsocks 的客户端。

目前计划 windows 和 ubuntu 采用 Qv2ray。

Release Qv2ray 2.7.0 - The End · Qv2ray/Qv2ray

Android 采用 v2rayNG。(Google Play 里可以直接下载)

IOS 和 IPad OS 采用 Quantumult X。(App Store 10 刀)

10. figlet

一个很有意思的小玩具,可以输出终端横幅。安装很方便

1
2
$ sudo apt update
$ sudo apt install figlet

查看所含字体

1
$ ls /usr/share/figlet

推荐直接到官网预览

FIGlet - hosted by PLiG

可以使用 -c 选项来居中文本,并使用 -f 选项指定字体。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
lg@ubuntu:~$ figlet -c -f isometric3 "Hello World!"
___ ___ ___
/__/\ / /\ / /\
\ \:\ / /:/_ / /::\
\__\:\ / /:/ /\ ___ ___ ___ ___ / /:/\:\
___ / /::\ / /:/ /:/_ /__/\ / /\ /__/\ / /\ / /:/ \:\
/__/\ /:/\:\ /__/:/ /:/ /\ \ \:\ / /:/ \ \:\ / /:/ /__/:/ \__\:\
\ \:\/:/__\/ \ \:\/:/ /:/ \ \:\ /:/ \ \:\ /:/ \ \:\ / /:/
\ \::/ \ \::/ /:/ \ \:\/:/ \ \:\/:/ \ \:\ /:/
\ \:\ \ \:\/:/ \ \::/ \ \::/ \ \:\/:/
\ \:\ \ \::/ \__\/ \__\/ \ \::/
\__\/ \__\/ \__\/
___ ___ ___ _____
/__/\ / /\ / /\ / /::\
_\_ \:\ / /::\ / /::\ / /:/\:\
/__/\ \:\ / /:/\:\ / /:/\:\ ___ ___ / /:/ \:\
_\_ \:\ \:\ / /:/ \:\ / /:/~/:/ /__/\ / /\ /__/:/ \__\:|
/__/\ \:\ \:\ /__/:/ \__\:\ /__/:/ /:/___ \ \:\ / /:/ \ \:\ / /:/
\ \:\ \:\/:/ \ \:\ / /:/ \ \:\/:::::/ \ \:\ /:/ \ \:\ /:/
\ \:\ \::/ \ \:\ /:/ \ \::/~~~~ \ \:\/:/ \ \:\/:/
\ \:\/:/ \ \:\/:/ \ \:\ \ \::/ \ \::/
\ \::/ \ \::/ \ \:\ \__\/ \__\/
\__\/ \__\/ \__\/

11. Conky 安装与配置
12. 隐藏 grub 引导

由于没有找到很好的办法来随时调出 grub,因此已弃用。

在启动时跳过 grub 选择系统界面,修改 /etc/default/grub

1
2
3
4
5
6
7
8
9
$ sudo vim /etc/default/grub

# GRUB_DISABLE_OS_PROBER=false
GRUB_DISABLE_OS_PROBER=true #值为true时,开机时忽略ubuntu外其他系统
# GRUB_TIMEOUT=10
GRUB_TIMEOUT=0 #grub等待时间设为0
:wq

$ sudo update-grub # 更新grub引导
13. 配置 grub 主题

参考链接:Linux Grub引导界面(启动界面)美化 - 知乎

三、参考资料

Ubuntu 磁盘挂载——开机自动挂载_ubuntu2204如何设置开机挂载硬盘-CSDN博客

ubuntu之制作再生龙(Clonezilla)启动盘_再生龙压缩包-CSDN博客

FUSE · AppImage/AppImageKit Wiki

Ubuntu 22.04 安装 Clash | EagleBear2002 的博客