Ubuntu Configuration Diary

Ubuntu Configuration Diary

Falling_Sakura HaHa

Pre-Info

一年前在移动硬盘上安装了 Ubuntu22.04,但也仅仅是安装,并没有使用,吃灰了几个月后被我清理。

最近有移动使用的需求,哪怕是在 100W PD充电的低功耗模式情况下,Windows11 的资源调度也是相当激进的,在同时打开 Edge、Vscode、Obsidian 和网易云音乐时风扇还是会转(图书馆里有点小吵),温度五六十度吧。

听说 Linux 负载小,那就换来试试,正好我也爱折腾这些。

于是三天过去了……

先看成果:

在这个过程中,有几个能力是必不可少的:

  • 阅读文档
  • Google 英文搜索
  • ChatGPT 的辅助
  • 看报错信息

没办法,如此一个不算热门的领域,想要找到高质量且有体系的易懂的信息,很难很难。

最好的信息当属官方文档,当然全都是英文,需要较强的英文阅读能力。

文档不好啃,我有时候选择把它丢给 GPT 让它帮我分析然后通过文档回答我的问题。

其次中文语料的信息少得可怜,近年来中文互联网逐渐封闭化,越来越难以找到高质量的中文信息,之前全靠 CSDN,某乎,博客撑起一片天。用英文搜索的必要性日益显露。

最后就是看报错信息,日志之类的,大白话写得很清楚,就是全是英文的不好读,有问题也可以先去看看仓库的 Issue。

Linux Install

Ubuntu24.04 LTS

准备一个 8GB 以上的 U盘,使用 rufus 制作启动盘。

在 BIOS 中改为以启动盘优先启动,这样就可以进入到 Ubuntu 的安装界面,接下去傻瓜操作即可。

分区手动配置:

正常来讲需要有这么几个分区:

  • / 根目录,相当于 C 盘。
  • /home,相当于其它盘。
  • swap,相当于虚拟内存。

我的 RAM 是 16G,所以 swap 分区设置为 10G,/ 设置 30G,/home 设置 60G,总共 100G。

但其实根本永不了这么多,/home 感觉 20~30G 就够用了。

听说现在 Linux 也可以安装 Steam 打游戏了,就是不知道兼容性怎么样。

震惊,预装 NVIDIA 显卡驱动!

Linus 撤回了一个 Fu**

Apps Install

Browser

Edge、Chrome 等浏览器不支持在 ROOT 用户下运行(出于安全考虑),我忘了我怎么解决这个问题了,没啥需求的话 FireFox、Opera 都挺好用的。

我尝试过的解决方向:

  • 按照网上教程修改配置文件 ❌
  • 使用 Dev 版或者 Beta 版 ❌
  • 创建其它用户,以非 ROOT 用户权限启动 ❓
  • ~/.config/microsoft-edge/ 下以 singleton 开头的文件删除 ❓

反正最后解决了,stable 版的 Edge。

Markdown

Obsidian YYDS!

图床:Picgo

.snap 格式的文件这样安装:

1
sudo snap install --dangerous [file_name]

Picgo 插件无法安装的话,可以手动安装,

~/snap/picgo/current/.config/picgo 目录下使用 npm install [picgo-plugin-name] 即可。

安装 npmnvm 以及 node.js 请自行搜索。

Music

没有好用的 Linux 版本的网易云音乐,于是改用 Spotify.

Snap 商店里就能下(就是自带的那个应用商店)。

但是有非常好用的第三方播放器,强烈推荐!

YesPlayMusic

Dev

  1. VScode 一键同步
  2. NeoVim

Chat

Wechat 下载链接

QQ 官网上有。

Email

ThunderBird

snap 商店可以下。

Beautify

rEFInd

这个很早之前就做过了,只不过一直只有孤零零的一个 Windows 系统,还有点影响开机速度(毕竟没得选)。

配置教程 B 站有详细教程:链接

安装好 Linux 后直接出来四个图标,其中需要删掉两个不需要的,所以我们先不能安装主题,在默认主题下按 del 可以删除不需要的图标(前提是你得知道你要留哪些,这个可以试试)。

Grub

安装 Linux 附赠的引导,只不过默认很丑只是 DOS 命令行。

进入 Linux,打开这个链接

琳琅满目的 Grub Theme,挑一个喜欢的配置一下就好。

推荐这个:链接

按照仓库的教程安装即可。

这里可以安装一个 Grub Customizer,把 Grub 里多余的选项删除,

1
sudo apt install grub-customizer

这样的坏处就是如果出问题你只能通过 c 使用命令行进入恢复模式了(好处是好看)。

Gnome Tweaks

引导美化完了接下来该美化系统了。

Ubuntu 默认的图形化界面是 Gnome,我们可以安装 Gnome-Tweaks 来调整它的外观,不过最新的版本这个也是预装的,中文名称叫“优化”。

打开以后就可以调整字体,图标,主题等了,注意先不要调整鼠标指针为它自带的一些主题,可能缺失了什么文件,一选它就出 BUG,无法进入 GUI,只能对着 Grub 的命令行界面苦苦找寻解决方法一遍遍地试。

解决完这个问题以后我第一时间就去找了个喜欢的鼠标指针安装上。

Cursor

打开这个链接

是的没错还是这个网站,之后我们也会经常用到它。

下载后解压(图形界面双击压缩包就可以解压,再也不怕记错命令了)。

然后移动到 ~/.local/share/icons/ 目录下,然后在你的 Tweaks 里就可以看见它了。(看不到就重新打开一遍)

Icons 等其它选项也是同理,不过我没改,默认的都挺好。

Dock

默认的底部 Dock 有点太丑了,使用 Dock 作为替代:

1
sudo apt install plank

安装后打开即可使用。

按住 ctrl 右键底部 Dock 中的图标,可以进入设置界面详细修改。

小部件如果不小心添加了,可以把它往上拖,它自己就没了。(当时找了半天也不知道怎么去掉)

此时 Plank 和 Ubuntu 自带的 Dock 会同时存在,怎么关掉自带的呢?

安装插件管理器(之后也要用到):

1
sudo apt install gnome-shell-extension-manager

关掉 Ubuntu Dock 即可。

最后,在 Tweaks 中将 Plank 设置为开机自启。

Shell

默认的桌面主题中规中距,并不算好看。

在刚才安装的插件管理器中安装插件 User Themes

打开链接

选一个喜欢的主题,下载,解压。

把主题文件复制到 /home/fallingsakura/.local/share/themes/ 即可。

themes 文件夹需要自己创建。

此时在 Tweaks 的外观中多出了一个 shell 选项,改为你想要的主题即可。

Animation

炫酷的窗口动效!

在插件管理器中安装两个插件:

  • Compiz alike magic lamp effect:暴风吸入式窗口最小化
  • Compiz windows effect:Q弹的窗口

具体配置自己调整即可。

Widgets

桌面是很好看,但是感觉空荡荡的,加点小组件让它更好看吧!

效果图:

(我的屏幕缩放比例比较低所以显得组件很小)

详细步骤看这里

Zsh

image.png

美化命令行界面。

换为 zsh 命令行的 ohmyzsh 框架的 powerlevel10k 主题。

这几个关键词一艘教程一大把,在这里不过多赘述。

提几个注意事项:

  1. 安装 Nerd 系列字体

选一个自己喜欢的,安装。

然后在终端窗口右上角选择首选项,在配置栏中自己新建一个配置,把字体改为 Nerd 字体,否则一些图标不能正常显示。

这个在后续美化 NeoVim 的过程中也会用到,后面不再赘述。

  1. 切换系统语言为英文

非必要,不知道为什么在中文语言系统下图形的 Unicode 编码渲染有问题,导致圆角、尖角等样式显示非常怪异(错位),最后切换语言解决了。

改变行高和字符宽度也会影响这个,看着调吧。

NeoVim

image.png

在 Ubuntu 24.04 为系统自带。

推荐 B 站蛋老师的视频从美化到配置一条龙服务,全程干货。

在他的基础上我修改了一些我自己需要的配置,比如不要烦人的 swap file、编译运行一些语言的快捷指令、ctrl+w 快捷关闭缓冲区等等。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
-- options.lua
local opt = vim.opt

-- line number
opt.relativenumber = true
opt.number = true

-- tab
opt.tabstop = 2
opt.shiftwidth = 2
opt.expandtab = true
opt.autoindent = true

--no-wrap
opt.wrap = false

--cursorline
opt.cursorline = true

--mouse
opt.mouse:append("a")

--clipboard
opt.clipboard:append("unnamedplus")

--newwindows
opt.splitright = true
opt.splitbelow = true

--search
opt.ignorecase = true
opt.smartcase = true

--
opt.termguicolors = true
opt.signcolumn = "yes"

---------------------

-- theme
vim.cmd[[colorscheme catppuccin-frappe]]

-- foldenable
vim.o.foldenable = true
vim.o.foldmethod = 'manual'

-- delete swapfile (anoying)
vim.o.swapfile = false

-- Compile & Run Cpp
vim.api.nvim_command('command! CompileCpp !g++ % -o %:r')
vim.api.nvim_command('command! RunCpp !%:r')
vim.api.nvim_command('command! RunJs !node %')
vim.api.nvim_command('command! RunPy !python3 %')
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-- keymaps.lua 
vim.g.mapleader = " "
local keymap = vim.keymap

keymap.set("v", "J", ":m '>+1<CR>gv=gv")
keymap.set("v", "K", ":m '<-2<CR>gv=gv")

-- split vertical / horizonal
keymap.set("n", "<leader>sv", "<C-w>v")
keymap.set("n", "<leader>sh", "<C-w>s")

-- cancel hightlight
keymap.set("n", "<leader>ch", ":nohl<CR>")

-- plugins
-- nvim-tree
keymap.set("n", "<leader>e", ":NvimTreeToggle<CR>")
--buffer
keymap.set("n", "gt", ":bn<CR>")
keymap.set("n", "gT", ":bp<CR>")
keymap.set("n", "<A-w>", ":w | :bd | :bprevious<CR>")
keymap.set("n", "<C-s>", ":w<CR>")

keymap.set("t", '<Esc>', '<C-\\><C-n>')

各种语言的 LSP 也搞了好久,这方面的内容还没人做,我也只是略懂:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
-- lsp.lua
local servers = {
"lua_ls",
"volar",
"html",
"tsserver",
"cssls",
"clangd",
"vuels",
"pyright",
"pylsp",
}
require("mason").setup({
ui = {
icons = {
package_installed = "✓",
package_pending = "➜",
package_uninstalled = "✗"
}
}
})

require("mason-lspconfig").setup({
-- 确保安装,根据需要填写
ensure_installed = servers,
})

local capabilities = require('cmp_nvim_lsp').default_capabilities()
local lspconfig = require("lspconfig")

-- lspconfig.lua_ls.setup {
-- capabilities = capabilities,
-- }



for _, lsp in ipairs(servers) do
lspconfig[lsp].setup {
capabilities = capabilities,
}
end

-- 防止 lua 报警告,看着烦人
lspconfig.lua_ls.setup {
settings = {
Lua = {
diagnostics = { globals = { 'vim' }, },
}
}
}

顺便学了一下 lua


NeoVim 中,使用 :term 即可进入终端模式,这是 Vim 所没有的。

退出终端模式原来是要 ctrl+\ 然后 ctrl+n,嫌麻烦改成 ESC 了。


建议全局将 Caps-Lock 和 ESC 交换,这个在 Tweaks 的键盘中,选额外设置,把 Caps-Lock 的行为中改为“交换 ESC 和 Caps-Lock“即可。

这个在 Vscode 的 Vim 插件中有点 BUG,需要先把全局键换回来在 VScode 中把快捷键改一下再换回去(不然在 VScode 里,点击改键,弹出框中你的 Caps-Lock 是 ESC,你的 ESC 还是 ESC,改不了一点)。


有人要问了,既然 VScode 那么好用,IDE 也是现成的,甚至配置好的 Vim 也有现成的,何苦自己搞一个这么麻烦呢?

因为我随时可以修改它。

这是我的配置,独属于我的高度可定制化的配置,它是独一无二的。

无论是软件,还是系统,甚至是硬件。

最后是我这个人。

Disk Bug

可能会遇到插入移动硬盘无法挂载的问题,这个很好解决,在自带的硬盘管理中更改对应分区的挂载选项,取消默认的配置,自定义手动挂载即可。

Summary

没有总结,经过以上,你已经可以快乐地使用 Linux 进行日常使用和开发了,资源调度和占用真的很少,笔记本风扇几乎就没转过了。

很流畅,UI 很好看,喜欢。

Win11 以后就是专门拿来打游戏和做视频做渲染用的了。

以后看看把 Blender 和 Unity 也搬到 Linux 里。

有点想法再整一个 Arch Linux.

已经开始感觉头秃了。

To Be Continued…

  • Title: Ubuntu Configuration Diary
  • Author: Falling_Sakura
  • Created at : 2024-07-19 13:54:04
  • Updated at : 2024-11-21 10:44:39
  • Link: https://vercel.fallingsakura.top/f24024d4.html
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments