前言

我一直都想使用Linux系统,从Android的Termux到微软的WSL,一开始用Termux,但不能好好敲代码(手机那个键盘你敲一个试试?)。  
后来用WSL, 但我笔记本带不动WSl+Vscode, 就彻底放弃了……
后来一直是Windows+Msys2+Vscode(安装c库方便),但后来使用xmake构建工程时发现vscode的xmake插件识别不到Msys2的xmake,碰巧寝室里有人玩双系统,就搞了。

为什么是Fedora?

我本就是想要一个统一的开发环境而已,显然任何Linux都可以达到我的需求,那为什么选Fedora(我室友在我耳边叨叨了Ubuntu好久)?
原因是:我当天刚好看到了它,就这么简单。
而且我没有用过Fedora,其他还算用过(Ubuntu WSL,Arch WSL),Fedora是彻底没见过。
而且Fedora有KDE定制版(KUbuntu:???)
BTW, Fuck you, Windows!

开始安装

准备安装

找一个不用的U盘,作为安装介质
然后去官网下载安装 Fedora Media Writer, 双击打开

Fedora Media Writer Home Page

如图配置(当然你也可以自己下载对应镜像然后自己配置)

Select Your OS Version
Write Options

然后等待它写入

体验系统

写入完成后,打开Windows设置 => Windows更新 => 恢复 => 高级启动 => 立即重新启动
重启后,会进入高级启动界面,选择”使用设备”,然后选择”Linpus lite”,就会进入Grub2引导界面,选择第一个”Start Fedora-KDE-Live 38”,就会进入Fedora

使用Lite的目的是让用户得以在不安装完整系统的前提下较完整的体验操作系统,能让用户更好的做出是否安装的决定

详情见:Fedora LiteCD


在体验过系统,确认需要安装后,双击桌面的”Install to Hard Drive”图标

开始安装

跟着安装引导做即可
注意设置root用户的密码(你可以不使用root用户,但这样的话之后改Grub引导设置时会比较麻烦)

第一是检查你的盘是否有BitLocker,若有,请务必解锁它!!!
因为安装双系统后,你的盘大概率会被加密锁上,若你没有解锁,你是无法进入windows系统的!!!
解锁方式是,在管理员模式下打开cmd,然后输入以下命令

1
manage-bde -unlock <你的盘>

你可以输入 manage-bde -status 查看解锁状态
请把所有盘都解锁,并且等待提示解锁完成,不然你绝对会后悔的!!!
若你发现盘被锁了开不了,按下方提示解锁

  1. 进入你电脑的bios界面,关闭安全启动
  2. 在另一台设备的浏览器转到 https://account.microsoft.com/devices/recoverykey 登陆MS账户,找到恢复密钥
  3. 重新输入解锁命令,输入你找到的恢复密钥
  4. 等待解锁完成

更多细节:manage-bde在 Windows 中查找 BitLocker 恢复密钥

到此基本安装就完成了

修改引导

现在系统安装好了,但默认还是进入Windows系统,需要修改引导
进入你电脑的bios,找到启动菜单,把”Fedora”放到最上方(可能有两个,其中一个是rescue系统的,找以下就行)
保存配置,重启电脑,就能看到Grub2的引导界面了

换源

这是国内使用Linux发行版老生常谈的问题了,直接换镜像(清华镜像帮助)

1
2
3
4
5
6
7
sudo sed -e 's|^metalink=|#metalink=|g' \
-e 's|^#baseurl=http://download.example/pub/fedora/linux|baseurl=https://mirrors.tuna.tsinghua.edu.cn/fedora|g' \
-i.bak \
/etc/yum.repos.d/fedora.repo \
/etc/yum.repos.d/fedora-modular.repo \
/etc/yum.repos.d/fedora-updates.repo \
/etc/yum.repos.d/fedora-updates-modular.repo

OK,现在dnf速度就快了

安装软件

接下来就是Linux的传统了
包管理器,启动!!!

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
# 开发环境配置
sudo dnf install gcc # gnu toolchain
sudo dnf install llvm # llvm toolchain
sudo dnf install clang # clang
sudo dnf install clang-tools-extra # clang tools, such as clangd
sudo dnf install cmake # cmake
sudo dnf install ...

# 安装VScode
# 添加 VScode 源
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

# 添加 VScode 存储库到系统
sudo tee /etc/yum.repos.d/vscode.repo <<<'[code]
name=Visual Studio Code
baseurl=https://packages.microsoft.com/yumrepos/vscode
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc'

# 安装 VScode
sudo dnf install code

# flatpak 解禁
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# 安装各类浏览器
sudo flatpak install org.chromium.Chromium
sudo flatpak install com.microsoft.Edge

# 安装 QQ
sudo flatpak install com.qq.QQ

# 安装 Xmake
wget https://xmake.io/shget.text -O - | bash

# 安装 zsh
sudo dnf install zsh

# zsh 美化,使用Prezto
zsh

git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"

setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

chsh -s /bin/zsh
# zprezto 配置请去github(https://github.com/sorin-ionescu/prezto)自己研究

现在Fedora已经可以满足使用要求了

疑难杂症

视频解码

当你以为可以开心体验系统,准备打开B站放松以下时,你会发现:
???加载不出来???

若你有一定的经验,当你按 [[F12]] 打开开发者工具,到控制台下找原因时,你会发现:
???无法解析媒体文件???

这是因为现在大多数的流媒体使用H264解析,但H264是不开源的,所以Fedora不会内置H264解析器,需要自己安装解析器
你可以直接安装ffmpeg,这会自动安装OpenH264(H264的社区开源版本)

1
sudo dnf install ffmpeg

但是
若你在国内,访问OpenH264的repo的速度奇慢无比,以至于dnf告诉你没有可用镜像
怎么办?
在dnf运行时,它会告诉你它在尝试连接哪个repo的地址,把地址记下来,在其他设备上挂梯子把地址指向的.rmp包文件下下来
然后把包文件传到电脑上,接着:
1
sudo dnf install <你的包>

若提示缺少依赖,就用同样的方法把依赖下下来,装好,然后在装需要依赖的包

不过,这样也只是解决了一部分视频解码的问题,若要支持全部视频解码,需要安装所有解码器

1
2
3
4
5
6
7
8
# 启用 RPM Fusion 库,支持视频解码
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

# 安装所有解码器
sudo dnf install gstreamer1-plugins-{bad-\*,good-\*,base} gstreamer1-plugin-openh264 gstreamer1-libav --exclude=gstreamer1-plugins-bad-free-devel

# 你可以安装视频播放器来支持解码
sudo dnf install vlc

OK,现在可以愉快看B站鬼畜了(误)

中文输入

这是也是国内使用Linux发行版老生常谈的问题了,使用Fcitx5+词库解决

1
2
3
4
# 安装Fcitx5和中文插件,以及切换输入法工具
sudo dnf install fcitx5
sudo dnf install fcitx5-chinese-addons
sudo dnf install im-chooser

然后在终端输入im-chooser切换为fcitx5输入法,注销重进系统
在底下的状态栏找到输入法托盘图标,右击选择配置,在 “可用输入法”中找到”拼音”,添加到”当前输入法”中
现在可以输入中文了,但联想非常拉胯
在”当前输入法”中选择”拼音”,点击中间的”配置”,下拉找到”管理字典”,选择”导入”,”从文件”,导入.txt格式的字典文件
若你有.scel格式的搜狗字典文件,可以选择”来自搜狗细胞词库的文件”来导入字典
字典文件可以在网上搜到,这里推荐一个THUOCL清华词库,质量高,好用
若需要搜狗词库,自取,密码:e570

网络连接

众所周知,GFW导致国内访问github困难,所以梯子是必备的
不详细说明了,直接贴连接吧: https://github.com/wanhebin/clash-for-linux

安装Windows常用软件

微信

https://github.com/xuthus5/fedora-packager

钉钉

https://github.com/zhullyb/dingtalk-for-fedora

结语

折腾了两天,在网络资源和室友的帮助下搞好了Fedora,Fedora的软件支持确实比Ubuntu少的多,而且问题也多,但折腾的过程很享受
不得不说,笔记本用Linux确实比Windows好,Windows开机就占了8GB内存,Linux只占3GB,使用也只占不到5GB,LinuxNB!!!
但这都是在我不玩游戏只搞开发的前提下,如果想打游戏,Linux的兼容会让你想死,所以还是用Windows吧。