#Linux入门

之前随便写写的进入Linux故事博客,在公众号莫名获得出乎意料的阅读量和分享数,所以觉得很有理由顺便随便写写入门Linux的方法。
但是我并不是计算机专业也不是很擅长Linux,所以这只是随便写写的我自己对入门Linux的看法。

##理由

第一个话题是,为什么要用Linux。对我而言至少有三个原因。

###好玩

正如Linus关于开发Linux的自传,《Just for fun》。
很早之前我就不怎么打游戏了,实在是电子阳痿;但是折腾Linux还挺好玩的。

###使用电脑

看似奇怪,大家都在用电脑。但其实很出人意料的是,普遍会用电脑的人似乎只有一代人。之前是少数计算机精英,是那些开发unix、Linux、windows的人;之后是那些从小接触手机平板的小孩,不知道怎么(找资源,甚至)解压,不知道我的桌面是啥。
真正的使用计算机其实是很复杂的操作,即使是windows也涉及多用户、ntfs文件系统、注册表、组策略等,当然还有cmdpowershell等等。

从计算机发展来看,通过Linux去了解计算机,包括其历史,是很有趣且有效的方式。在Linux下,命令行(bash or zsh etc)是很有趣且强力的使用Linux的方式。Unix-like世界的各种程序实在可以发挥诸多计算机性能。
用mac,你是租用了计算机;用windows,你是管理了计算机;用Linux,才是使用计算机。

全球超算的前十都是unix-like,而月球、火星是第二、第三个Linux设备超过windows设备的太阳系星体。

###不应该用windows和macos

第三个原因,激进的原因,因为你不应该使用windows和macos。

用一些标签式滑坡话语,使用windows和macos就是助长资本家对无产阶级的控制,是全景敞视监狱下的摄像头,消费主义和娱乐至死的入口,人们将失去自由和隐私。
RMS虽然本人不是共产主义者,但GNU运动显然带有共产主义者色彩。为了全人类的自由,为了1984(多么讽刺,回忆一下苹果的著名广告)和brave new world不会成为现实,我们都应该选择Linux。
换到形而下的说法,在一些方面上Linux要优于windows和macos。比如通常而言是免费的,可定制性强,资源占用更少,权限更高。在老旧机器上win11已经跑不动的时候,Linux可以一试。

##Linux生态

回到Linux本身上,首先要看看实际使用Linux的情况,也就是Linux的生态。我的看法是,从windows或macos到Linux,最多只是不习惯而非难用。
我的个人经验而言,从小学微机课学习的就是windows系统,甚至包括开关机、打字等等。就像高数和抽象代数,我们继承苏联的体系从小就在学函数与方程,到大学通常而言高数比线性代数更容易接受(虽然很多人也觉得高数很难);但实际上如布尔巴基所言,群论的概念早在小学完全就可以引入,这只是教育路线上的选择而已。
简而言之,像个小孩子一样开放且持有学习心态接触Linux,实际上很好用。对我而言,恰当的Linux比windows更好用。

###web

现代计算机的情景,实际上主要用的就是浏览器。在windows上默认使用edge,而macos使用safari,而Linux世界通常使用firefox。
我认为,你不应该用chrome、edge 或 safari,基本上和你不该用windows、macos是一样的原因。但是,你也不该用原版firefox,因为不好用。
实际上,我也不知道用啥,当前我用的是waterfox,因为原生使用tree tab;librefox也不错,但是不好用黑暗模式,很难受。

###game

很多人用windows而没有全面转向Linux,是因为要打游戏。
归功于wine和proton,很多windows游戏已经可以在Linux上运行了,基本上装一个steam就有大量可以玩的游戏,除此之外还有lotus和其他模拟器。虽然这些是转译运行的结果,但是归功于Linux本身比windows占用低,一些情况下这些游戏甚至比windows原生更流畅。顺便一提,PS是基于BSD,也是unix-like系统。
唯一的问题就是网游类反作弊问题,这些是针对windows内核级别的监测,在Linux下还没有办法。但是,如果有更多人用Linux打游戏,可以从市场倒逼游戏开发商支持Linux。

G胖加油,干死M$

###中国

在中国使用Linux,还有一些特定的问题需要考虑。

###DE

过去总有关于Linux桌面环境(Dessktop Environment, DE)的贬低,但实际上现在已经相当出色了。Linux桌面的优势就在于可定制化和功能丰富,缺点在于因为可配置所以需要配置。
相反,微软和苹果的桌面难以调整,且愈发臃肿难用。面对win11逆天右键菜单更多选项和Mac刘海屏遮挡的菜单栏能够忍住不骂的人,真的是血氧太厚了。

成熟的整套DE有KDE和GNOME,最近新出的有cosmic;轻量级的有xfce,lxde,lxqt等。这些基本上是开箱即用,并且可配置选项很多,可以调整成喜欢的样子。
Linux下另一个特色是窗口管理器(Window Manager, WM),倾向于全键盘工作流,最大化使用显示空间。在X11下有i3、dwm等;在wayland有hyprland、niri等。我个人常用的是dwm和niri。

niri

niri真的很特别,是水平滚动式平铺的窗口布局,非常符合直觉,值得一试。

###advantages

除了可定制化外,Linux下还有一些优势。
对于程序员开发来说,命令行、终端、包管理器等非常方便。很多人认为mac是程序员首选,但实际上如果不是开发苹果应用,那么mac的优势(比如iterm,zsh,homebrew)都在Linux上基本上都可以复现,毕竟macos本身也是unix-like。

对于我这样学数学的,写论文必然要用latex。在Linux上latex的使用体验更好,编译更快,还可以使用neovim、sioyek、texlab等配置编辑器。

###disadvantages

Linux还是有一些劣势。比如对N卡的支持仍可能出问题(So Nividia, fuck you),一些特定的软件不能用(Adobe系列,其他工业软件)。可以用虚拟机或docker技术曲线救国,但性能会比较差。

##安装和使用Linux

最后是关于安装和使用Linux的个人看法。

###入门使用

首选,不推荐在windows上使用wsl或虚拟机入门
在我看来,wsl是某些因为特定原因离不开windows且已经了解Linux的人为了享受便利才使用的,比如臭打游戏的同时又想编译latex快一点(是的,甚至在wsl里的latex也比windows快,垃圾微软)。
而虚拟机则有性能损失、鼠标键盘捕获等问题,很难受。

所以我的推荐是,直接 双系统安装windows和Linux。发行版我推荐(其实没用过的)Linux mint。

###正式使用

如果喜欢折腾和尝试新事物,那么推荐ArchLinux系发行版。

除了安装的时候有点麻烦(但并不困难),实际使用体验很好。 Arch本身有两大优点:KISS原则(Keep it simple stupid)使得ArchLinux很容易修改定制,并且不容易臃肿;而AUR则提供大量软件,很多情况下Github上的开源软件不用手动编译或解压。换句话说,有很多事可以做,比如配置niri+dms+rofi的桌面环境(或者不得不做,比如用iwd或NetworkManager配置网络,用pipewire配置声音),而且容易做到(因为有AUR)。
另一个显而易见的优势是ArchWiki,即使不用ArchLinux也是很好的参考资料。
至于滚动更新,保持两三天更新一次就问题不大,用了ArchLinux两年多,我还没滚挂过(出事的时候基本上是windows搞坏grub)。用btrfs加snapper/timeshift,很稳。
最推荐原生ArchLinux,不想配输入法、网络、蓝牙之类的可以用Cachy/Endeavour/CatOS等,但是不推荐Manjaro。

至于想养老的,当然是Debian和Fedora选一个,后者似乎要新一些。Ubuntu这种越来越臃肿的就算了。如果要致敬Linus遵循统治者的指令,那就用Fedora。