YaeBlog/YaeBlog/source/posts/daily-linux-0.md

134 lines
8.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 日用Linux挑战 第0篇 初见Arch Linux
tags:
- Linux
- 杂谈
date: 2023-01-15 22:23:08
typora-root-url: daily-linux-0
---
在将开发重心移到`WSL`上一年之后我最终还是决定完全抛弃Windows转向使用Linux作为我日常使用的主力系统。目前我已经使用Linux作为主力系统一个月了。
<!--more-->
## 开始之前
### 电脑
首先介绍一下用来安装Linux系统的电脑——荣耀的`Magicbook 14`,我今年秋天才购入的轻薄笔记本。
- CPUR7-6800H
- 内存DDR5 6400MHz 16GB
- 硬盘: 西部数据 SN550 1T
> 硬盘为我自行更换,原装的盘被我搞掉盘了(笑)
其他的像网卡啥的我就不一一介绍了,具体的硬件兼容性我后面会专门说明。
### 选择发行版
众所周知选择Linux最重要的一步就是选择一个适合自己的Linux发行版。在正式将Linux作为主力系统之前我使用的比较多的发行版是`Ubuntu`,在`WSL`、服务器和树莓派上我都是使用的它。
不过这次,我选择了`Arch`发行版。虽然这个发行版不像`Ubuntu`一类的发行版提供了开箱即用的使用体验,而且安装`Arch`的过程也很难称作简单,但是经过两年半~~小黑子露出了鸡脚~~的Linux练习之后我对于命令行界面的使用还是比较熟悉了。而且`Arch`还提供了其他一些非常吸引我的点:
- 默认的`Arch`安装是一个极简的操作系统,甚至没有图形化的界面,这就提供了一个非常大的优点——不会有任何预装的垃圾
- `Arch`采用滚动升级模型,尽全力让所有的软件包都保持在最新,而我恰好使用的是比较新的硬件,为了避免出现兼容性的问题,我希望能够使用最新的`Linux`内核和软件~~虽然我实际测试Ubuntu等系统也能正常使用~~
- `Arch`还提供了一个由用户维护的软件安装源——`AUR`,一些没有进入官方软件源的软件可以方便的在这里一键安装,非常的好用,非常的方便
- `Arch`还提供了一份非常详尽的`wiki`文档
### 选择桌面环境
我在Linux系统中长时间使用过的桌面环境有`GNOME`和`KDE`两种。
我首先安装的是`gnome`这个桌面环境,在使用的过程中常常会遇到桌面卡死的情况,切换到其他的`tty`重启`gdm.service`之后就能恢复,在尝试修复无果之后我就切换到了`KDE`桌面环境,目前用上还算满意。
## Hello, Linux!
### 安装Arch
按照`wiki`上的安装教程安装的过程还算的上是比较的顺畅大概90分钟的时间完成了我的第一次`Arch`安装。
不过在安装的过程中,有些问题需要注意:
- 虽然官方Wiki有着中文翻译的版本但是在参考的时候需要注意查看同英语原文之间有没有滞后的内容`Arch`作为一个滚动更新的版本,安装的方法也常常发生变化。
- 在我下载的安装镜像中的`pacman mirrorlist`文件中并没有大陆常用镜像服务器的地址,需要手动添加。我添加了清华大学和浙江大学两个镜像站的地址。
- 如果没有有线的网络链接,记得在系统中安装联网所需要的程序,比如`NetworkManager`啥的,否则你安装完成之后发现没有办法联网,只能再次从安装镜像启动再安装相关的软件。
### 安装桌面环境
在安装桌面环境之前,先安装显卡的驱动程序。
参考文档,需要安装`mesa`、`lib32-mesa`和`vulkan-radeon`三个软件包,其中`lib32-mesa`软件包是对32位程序提供支持的软件包为了安装这个软件包需要打开`multilib`这个仓库,取消`/etc/pacman.conf`这个文件中对于`[multilib]`部分的注释来实现这个功能。
```shell
sudo pacman -S mesa lib32-mesa vulkan-radeon
```
由于使用的是`KDE`桌面环境,这个桌面环境对于`wayland`显示服务器的支持还不算太好,于是首先安装`xorg`显示服务器和显示驱动程序。
```shell
sudo pacman -S xorg-server
```
然后安装桌面和`sddm`显示管理器
```shell
sudo pacman -S plasma sddm
sudo systemctl enable sddm.service
```
重启之后图形界面就可以正常显示了。
#### 桌面环境的美化
都在使用`Arch`了,不折腾一下桌面环境的美化是不可能的。
我目前实现的效果大概长这样:
![](2023-01-12-13-28-38-Screenshot_20230112_132829.png)
颇有一种`Windows`和`MacOS`杂交的风格。
使用的主题地址为[GitHub - vinceliuice/WhiteSur-kde: MacOS big sur theme for kde plasma](https://github.com/vinceliuice/WhiteSur-kde),添加了一个`Windows 10`风格的开始菜单插件[GitHub - Zren/plasma-applet-tiledmenu](https://github.com/Zren/plasma-applet-tiledmenu),字体是直接从`Windows`下面复制过来的`Microsoft YaHei UI`。
> 顺便提一下我发现安装kde主题最快的方式是找到主题的Github仓库`clone`之后安装。这种方法比去折腾那个不好用的主题商店快一万倍。
目前在美观上还存在的缺憾是登录界面和锁屏界面我还没有去折腾,还是默认的样子。
### 安装常用软件
先上一张`shell`的系统概览截图:
![](2023-01-12-13-36-45-Screenshot_20230112_133628.png)
终端模拟器直接使用的`konsole`,目前没有进行改动。
系统中使用的输入法是`ibus`框架下的`rime`输入法,词库不太智能。浏览器使用的`edge`几乎完全复制了我在Windows下的体验邮件客户端我使用的`ThunderBird`,不过没法后台通知;`Markdown`写作使用的是`MarkText`,几乎可以取代`Typora`腾讯在2022年的12月30日发布了新版的`QQ`也算是补上了Linux上一个比较大的短板不过目前的支持还是比较差甚至连收发文件都不支持。至于`office`办公软件,我的需求不是很明显,采用`onedrive`和`Microsoft 365`在浏览器端基本上解决了。编程方面,`VSCode`和`Jetbrains`这两个我主力的IDE都能在Linux下正常的工作。在游戏方面上我最近玩的`Hearts of Iron 4`有着Linux原生的版本运行流畅而`原神`也在利用一些小手段和`wine`之后,比较流畅的运行起来了,至于`Steam`提供的`Pronton`兼容层,还没怎么用过。
### 发现的兼容性问题
显然目前的Linux也不可能做到尽善尽美。
- 在睡眠之后,电脑没有办法正常的播放声音,应该是内核中对于新硬件的支持问题。
- 指纹识别失效了。`fprint`库上还没有提供对我这个硬件的支持。~~也有可能永远不会提供~~
- 笔记本方面的支持还是有所欠缺,也有可能是因为我的调教还不到位。出现过几次合上盖子之后没有办法唤醒的问题,最后只能强制关机后重启。
## 日常使用一个月
作为一个程序员,`Arch Linux`确实非常适合我使用。还记得在折腾`WSL`的时候,`jetbrains`的IDE写代码的时候bug非常多只有`VSCode`的支持稍微好一点,但是作为一个`IDE`的功能又不是很强大。`WSL`还有着一堆兼容性的问题,我还记得在`WSL`脱离`preview`标志之后,我有好几次一启动`WSL`就蓝屏的经历,属实难忘。
不过使用Linux还是有很多不方便的地方尤其是在国内办公软件的兼容性问题上。虽然很多国产软件都提供了Linux的版本不过一般都是统信UOS或者是麒麟Kylin版本的为了在Arch Linux上运行还需要自己研究一下。在这里我要点名批评"Q*"软件,其从官网上下载的`AppImage`格式的程序文件中还有错误,内附的`qq.desktop`文件中的图片路径竟然是写死`/opt/...`。我的评价是做程序的人还是用点心罢,至少打包完成了还是自己测试一遍罢。
平心而论目前的Linux已经可以成为一个日常使用的操作系统了。虽然仍然不能完全摆脱命令行界面普通用户按照`Windows`下的使用经验来使用还存在一定的困难,但是如果你是计算机相关从事人员而且对游戏没有太大的依赖,`Linux`是一个不错的选择。
不出意外的话,本文将是一个系列文的第一篇。我将定期更新这个系列,记录我在学习和工作中使用`Linux`的体验和感受。