告别Windows卡顿,换Linux系统体验

这篇文章并不是教程。或许能部分当个参考。

前言

其实我很早就想将主力系统换成 Linux,但是彼时我还在学校(大学),面对潜在的 Windows Only 程序威胁,一直没敢动手。想换系统的理由其实挺简单的——我那 Windows 实在是有够卡的。虽然笔记本的 5900Hs 并不算什么很弱的 CPU ,日常使用其实基本算是挺流畅的。但是一旦我玩了一会游戏,它就有可能将我的 CPU 频率莫名其妙地锁在 400 MHz,这下可好,游戏率先卡成 PPT,然后是这个 B 系统,卡到鼠标都有数分钟的延迟。除此之外,还有什么更新并关机并不能关机啊,关机关一半关不动直接睡眠啦,睡眠睡着睡着就睡死了啦,类似的事情不一而足。

直到最近,突然意识到自己已经毕业许久了,基本告别了那些“Windows Only”的场景。此外,游戏我也玩得少了,偶尔想玩的,要么原生支持 Linux,要么靠 Proton 就足以较为流畅地运行了。这么一想,思维突然就顺畅了,天地就宽阔了。于是,果断掏出之前制作的 CachyOS 启动盘,格盘重装。

说起 CachyOS,还是在 NJU LUG 群里看到的。当时正值 nju 镜像站爆炸期间,有群友正好给出了自己的操作系统,用以说明镜像站超时问题。我一看,喔,基于 Arch 的高性能发行版,我倒要看看怎么个事儿。然后就下了个镜像搞了个 LinuxToGo。当时体验下来就觉得还不错,既紧贴上游,又做了自己的优化。

我应该算是一个重度的电脑用户了吧(尽管打字还靠二指禅),偏爱端游,长视频。在电脑上主要做什么呢?现在仔细回想起来,大概就是刷刷 B 站,聊聊天了吧。游戏主要就是打打 CS2 和米哈游全家桶了。代码也写点,但是自身水平一般,所以偏爱 Cursor 这类 AI IDE。直到前不久 Claude Code 横空出世,可惜是 Unix only,用 WSL 吧,体验总归差强人意。此外 WSL 本身多少也有一些问题,比如内存占用居高不下,硬盘空间不能及时释放等等。

说起来,我高中时就把 Linux 当主力用过一段时间。那会儿用的是从我哥那借来的、当时的十年前的中低端笔记本。我搞了块杂牌 SSD,给他装了个 manjaro,无比的丝滑、流畅。主要用来做些简单的文档编辑,每周差不多能玩一两个小时。(毕竟江苏普通高中,电脑时间实在奢侈)。

所以我其实,对这类东西,算得上是有一点点的基础吧。不建议新手和我一样脑袋一热就直接换 Linux 了,现在的 DE 多少还是有些 bug 的。本文接下来就会简单介绍一下我的 Linux 桌面配置了,大多都是 CachyOS 自带软件,我并没有去做什么额外的修改。最后来一张 fetch 图,结束我们的背景设定环节。

Setup

Why CachyOS?

我选择的是 CachyOS,挺没有理由的,就是因为我看到了它,我选择了它。

现在用下来,倒是有些感觉到他的好了,怪不得这个发行版会拥有不错的热度。

首先是 Arch 的底子。AUR 的强大、无敌,在我使用它的第一天就感受到了。只要程序有 Linux 版,无论是 deb 还是 Appimage,AUR 上必然会有大佬打包好环境,让你的安装无比便捷。

至于被很多人推崇的 pacman 包管理器,我的感知倒不太明显,可能是我用得少的缘故吧。不过,一位常用 Fedora 的大佬曾告诫我别用 Fedora,因为 dnf 实在是太慢了。我目前其实也没直接用 pacman,而是用的 paru(据说 CachyOS 预装的就是 paru,但是我的并没有,可能是网络原因没有安装上)。paru 默认就带 -Syu ,让我可以少敲一些字符,搜索软件包、更新系统都无比惬意。

CachyOS 无比接近上游。它几乎每小时就同步一次 Arch 仓库,极大减少了因环境版本滞后导致 AUR 软件安装失败的问题。这比 Manjaro 的 unstable 仓库还要激进。

此外,CachyOS 的安装过程也是挺容易的。它使用了图形化的 Calamares 安装程序,上手简单。除了我第一次安装 LTG 的时候,耗时极长。当我怀着“激动的心,颤抖的手”重启后,却遭遇了黑屏……一番排查下来才发现 KDE 桌面环境压根没装上!跟着网上的教程手动装好之后,才算是有惊无险地来到了桌面。不过在第二次,正式安装的时候,却没有再发生任何问题,一切都是那么完美(不对,我 paru 呢?)。事后我才得知安装该系统可能需要有较好的网络连通性。

CachyOS 对外宣称的核心优势是性能优化。它提供了针对 x86–64-v3、x86–64-v4 和 Zen4 指令集优化的软件包,定制了 proton-cachyos ,特调了内核调度器,等等。老实说,我缺乏一一验证这些优化的能力,我只能看看网上其他人的测评。但结论是:有用。那就足够了(

其日常使用体验也较为良好。这它预装了大量比 GNU 工具更现代的选择,比如默认 Shell 是 fish,默认视频播放器是 mpv,自带 vim,btop++ 等等。开箱即用度极高,甚至可以说相当好用。各种驱动基本齐全,我的笔记本功能几乎全部正常工作。最让我惊喜的是,即便使用 NVIDIA 显卡,在 Wayland 下也没遇到什么玄学 Bug。

日常软件

在 Windows 上,Chrome 是我的主力浏览器,Firefox(FF)那令人窒息的冷启动速度总让我望而却步——Chrome 都能完成三组蹲起了,FF 才堪堪初始化。但切换到 Linux 的时候,FF 的表现就支棱起来了。一点即开,响应速度堪比 Windows 下的 Chrome。那这样的话我就没必要再去下一个对 Wayland 支持没那么良好的 Chrome 了呀,我果断放弃了在 Linux 上折腾 Chrome。不过有趣的是,我用 Speedometer 简单测了一下 FF 浏览器性能,竟然没有在 Windows 上性能好,这反差属实让我摸不着头脑。

至于内存占用,各个软件有各个软件的算法,统一不起来。如果按照系统自带的管理器来看,FF 的占用是比 Windows 上略低的。不过,大家已用多少内存似乎是意见一致的——开机后系统内存占用仅 6-7GB,相比 Windows 动辄 12-13GB 的“起步价”,这种轻盈感让人身心舒畅。

输入法这块,似乎也没别的选择,拥抱 Fcitx5 的大家庭吧。我使用的是 fcitx5-rime + 雾凇拼音。不过看起来白霜拼音也挺不错的。然后装一个 fcitx5-configtool 之后,就能在 KDE 系统设置里进行大部分配置了。说起来记得把皮肤换一下一起看博客,主题换成 KDE Plasma,看起来会更加现代一些。有些 KDE 主题也会支持输入法,似乎就是通过这个主题做到的。

QQ Linux 版已经复活有一段时间了,微信也是。不过企业微信还是没救的。AUR 上有 bwrap 的版本,还是不错的。对于这类有前科的软件,通过 bwrap 进行一定的环境隔离还是比较推荐的,毕竟你也不想珍藏的资料被别人发现吧(雾。我用到的所有功能都是工作的,和在 Windows 上没什么两样,所以我有点不舒服:有些功能我并不想见到它,比如奇奇怪怪的频道之类的。

如果你想听音乐,放弃网易云吧,Linux 版凉了有段时间了。网页版也能凑活着用。此外,YesPlayMusic 是个不错的选择,界面精美、功能齐全,如果你的账号没被风控的话。我的账号就被风控了,只好使用本地播放器了。好在我音乐听的也不多。

开发与生产力

敲代码这块,我在 Windows 上最常使用的就是 VS Code 了。到了 Linux 自然还是它,毕竟官方也原生支持。我安装的是 cachyos-extra-v3/code,CachyOS 团队自己编译优化的开源版本。当然,如果你就馋微软原版那点特色,AUR 上也有微软编译的部分闭源的版本。不过我个人更偏爱干净利落的开源版,尤其是 Copilot 这种“贴心小助手”,我可不想它赖着不走。

至于其他的,比如 JetBrains 家的 IDEA,CachyOS 仓库直接提供了开源社区版,AUR 上也有 ultimate 版本可供安装。AI 编辑器的老大哥 Cursor 官方支持 Linux 版本,提供了 AppImage,AUR 上也有大佬打包好了。至于字节的 Trae,截至本文完成的时候,还没有支持 Linux。突然想起来 Zed 可能也是个不错的选择,由 Rust 写就,启动十分迅捷。

我最常使用的笔记软件是 Obsidian,功能强大插件多,跨平台无缝衔接,满足了我对 MarkDown 笔记软件的一切想象。官方提供的是 AppImage 包,但是 Arch extra 仓库里就有。我还是偏爱包管理器安装的。

Claude Code 终于能原生运行了,肯定是比在 Windows 上爽多了。Tailscale 原生支持 Linux,包管理器直接安装。Office 套件的话用 WPS 吧,实在不行 libreoffice 也不是不能用。

飞书在 AUR 上有。腾讯会议、钉钉都能较为良好的运行。

娱乐

CachyOS 毕竟是主打性能释放、游戏体验的发行版,所以默认就有一些游戏优化,最好看看官方的相关文档,有一些参数可以选择。

Steam 对 Linux 原生就支持,毕竟 SteamDeck 就是跑的基于 Arch 的发行版。Proton 也是他们的杰作,基本就是 Linux 游戏的顶梁柱了。在 CachyOS 上,自带专门为现代 CPU 优化过的 proton-cachyos,性能应该会更好一些。

实际游玩体验的话,V 社自家的游戏大多原生支持 Linux,不需要你做什么,点击即玩。

不过米哈游的游戏可能就要麻烦不少了,每款游戏有不同的要求。难度最低的可能是绝区零了吧。我最开始用 Wine 来跑绝区零,结果到处都是渲染错误,帧数也不稳定,基本没法玩。后面改用 proton-cachyos 后,一切都好极了,画面正常,操作也流畅。除了剧烈转动视角的时候会卡到 1 FPS,挺影响节奏的。不过神奇的是,在本文写到一半时, CachyOS 不知道推送了什么更新,这卡顿居然大幅改善了!现在就算激烈战斗也很少掉帧,体验接近完美。

对了, proton-cachyos 还宣称对 BattlEye 和 EAC 这类反作弊做了兼容优化,但是我对这类游戏没有需求,也没实际测试过,留给有需要的勇士去探索吧。

可能会遇到的问题输入法无法输入

首先是最有可能出现的问题,那就是输入法。在 Wayland 上,基于 Chromium/Electron 的软件对于 Fcitx5 的支持并不良好。你需要添加启动参数以让他们能够和输入法通信。以下是可能的参数:

// text input v1
--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime
// text input v3
--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime --wayland-text-input-version=3
// kwin
--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime --wayland-text-input-version=1

//其他可能的flag
--enable-features=WaylandWindowDecorations

特别的,对于 Electron 程序,则可能只有 text input v1 起作用:

--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime

如果发现行不通,可以排列组合一下启动参数(

参数作用说明

--enable-features=UseOzonePlatform

启用 Chromium 的 Ozone 平台抽象层,允许使用 Wayland/X11 等不同后端。

--ozone-platform=wayland

强制使用 Wayland 作为图形后端。

--ozone-platform-hint=auto

从 97 版本开始,可以使用该标志启用 chromium 中的原生 Wayland 支持。

--enable-wayland-ime

启用 Wayland 下的输入法支持(IME)

--wayland-text-input-version=3

明确使用 text-input-v3 协议

--enable-features=WaylandWindowDecorations

启用原生 Wayland 窗口装饰(标题栏等),解决 GNOME 下无边框问题。

如果加上这些参数之后,发现程序启动失败、闪退,很有可能是硬件加速导致的。这时候我们可以添加 --disable-gpu 来通过参数禁用硬件加速。你也可以在程序内关闭硬件加速,如果有这个选项的话。

此外,还可以使用 GTK_IM_MODULE 进行配置。GTK 对硬件加速的兼容性似乎更好,但是打字容易漏编码。在 GTK 配置文件中进行如下配置:

[Settings]
gtk-im-module=fcitx

也可以直接 env gtk-im-module=fcitx

字体不好看

默认的中文字体似乎都是带衬线的。这时候可以安装一个字体,然后修改配置文件。

我安装的是更纱黑体,Sarasa Gothic。Arch 的 extra 仓库中有 ttf-sarasa-gothic 包可供安装。安装完成后修改 fontconfig 文件 ~/.config/fontconfig/fonts.conf,内容如下:

xml version='1.0'?>
DOCTYPE fontconfig SYSTEM 'urn:fontconfig:fonts.dtd'>
<fontconfig>
  <alias>
    <family>sans-seriffamily>
    <prefer>
      
      
      <family>Sarasa UI SCfamily>
      <family>Sarasa Gothic SCfamily>
    prefer>
  alias>
  <alias>
    <family>seriffamily>
    <prefer>
      <family>Source Han Serif CNfamily>
      <family>Noto Seriffamily>
    prefer>
  alias>
  <alias>
    <family>monospacefamily>
    <prefer>
      
      
      <family>Sarasa Mono SCfamily>
      <family>Fira Codefamily>
      <family>JetBrains Monofamily>
    prefer>
  alias>
  <match target="font">
    <test name="slant">
      <const>romanconst>
    test>
    <test compare="not_eq" name="slant" target="pattern">
      <const>romanconst>
    test>
    <edit mode="assign" name="matrix">
      <times>
        <name>matrixname>
        <matrix>
          <double>1double>
          <double>0.2double>
          <double>0double>
          <double>1double>
        matrix>
      times>
    edit>
    <edit mode="assign" name="slant">
      <const>obliqueconst>
    edit>
    <edit mode="assign" name="embeddedbitmap">
      <bool>falsebool>
    edit>
  match>
  <match target="font">
    <test compare="less_eq" name="weight">
      <const>mediumconst>
    test>
    <test compare="more_eq" name="weight" target="pattern">
      <const>boldconst>
    test>
    <edit mode="assign" name="embolden">
      <bool>truebool>
    edit>
    <edit mode="assign" name="weight">
      <const>boldconst>
    edit>
  match>
fontconfig>

然后打开 KDE 的系统设置,文字和字体-字体,点击调整所有字体,在弹出的窗口中勾选字体,选择字体列表最上方的无衬线,点击确定,然后将 等宽 设置为等宽。这时候你就能看到预览字体变成了更纱黑体了。千万不要在字体设置中手动指定某个具体的字体,这样可能无法覆盖所有情况。

其他问题

指纹识别的话,查看 fprint 的支持列表。不在支持列表的话多半是没办法驱动的,比如我电脑上的这个。

ROG 的奥创的话,有相关项目,asus-linux.org ,跟着引导走就行,在 Arch 上安装并不困难。

结语

折腾一圈下来,CachyOS 给我的感觉,基本算是“开箱即用”的典范了,上手门槛不高,对从普通用户可能相当友好。唯一需要留神的是安装过程——务必保证网络畅通。不然就可能像我一样,装出来个缺胳膊少腿的版本。我到现在都不知道我系统比正常版本少了点什么,不过用起来并没有什么问题。相信后人的智慧。

Linux 和 Windows 相比,有个点挺不一样的,就是关机、注销、重启时,总会有 30 秒的倒计时。起初觉得这纯属多此一举,远不如 Windows 那种“点完即走”来得干脆。可习惯真是奇妙的东西。 用久了,反而觉出它的好:它像一个小小的保险。 我不用担心像在 Windows 上那样,手一滑点错了“重启”之后就只能对着转圈的进度条干着急。

当 30 秒的倒计时亮起时,时间仿佛被拆解成 30 枚清晰的小刻度。 这短暂的间隙,足够我端起杯子,抿一口温水;足够让目光从发光的屏幕移开,投向窗外;也足够在脑海里一起看,把今天敲下的代码、写完的文档、聊过的天,无声地快速清点一遍。 30 秒很短,短到只够让一天的奔忙悄然沉淀;30 秒又很长,长到足以把一句对今日的“再见”,说得温柔而完整。

讨饭

如果你觉得这篇文章写的不错,刚好兜里有点闲钱的话,可以考虑投喂我一点吗?这是我的 爱发电。

Footnotes

本文转载自互联网,如有侵权,联系删除

发布评论