• w

    由于在 Windows 上使用 Agent 体验不佳(Powershell 对 Agent 不友好,没啥好用终端等)而且发现 WSL2 也存在一些问题,同时我也比较喜欢使用 CLI,于是我打算转到 Linux,在朋友推荐下也是选择了 CachyOS。

    目前从 Windows 转到 CachyOS 已经一个多月了,体验下来挺不错的,目前我还没有遇到过崩溃的情况,现在我的 Windows 只用来打游戏了。最近在 L 站也看到了不少 linux 的帖子,于是我打算写下这篇教程,也算是对自己折腾的总结吧。

    [!attention] 注意
    Cachy OS 基于 ArchLiunx,滚动更新,追求性能,面向游戏和生产力
    其安装过程还挺简单的,主要是后面的各种美化和配置需要折腾不少,如果不想折腾还是不太推荐安装的;如果你想要美化桌面、紧跟最新软件版本还是比较推荐的

    CachyOS 安装

    首先要准备一个 U 盘和 CachyOS 的系统镜像,先去 CachyOS 官网安装桌面版的 iso,然后将其写入 U 盘制作启动盘,这里推荐一个制作可启动 U 盘的工具 Ventoy,具体介绍可以看官网的描述。

    准备好后就可以开始安装了,下面我会在虚拟机中做演示,因为虚拟机的原因图片中分辨率可能有些问题

    [!attention] 注意
    如果要安装双系统,要提前进入 BIOS 关闭安全启动

    用 U 盘启动安装系统后调整语言然后启动安装程序

    图片

    选使用的语言

    图片

    选时区

    图片

    键盘这里直接下一步,选启动引导程序,这里默认推荐的是 Limine,这个需要在后面分区的时候至少给 EFI 分区分 4 GB,而且挂载点是 /boot,因为我当时装的是双系统,给 CachyOS 分配的空间不大,所以我选的是 grub,可以实际搜索区别后根据需要选择

    图片

    开始分区,如果你装的是双系统的话,推荐选择手动分区

    图片

    然后选择你预留的空闲空间创建分区

    图片

    先创建 EFI 分区,grub 推荐分配 1 GB,文件系统选 fat32,挂载点为 /boot/efi,标记勾选 boot

    图片

    接下来用剩余的空间创建系统分区,只设置挂载点为 / 就可以了,其他用的是默认的,如果有需要可以自己修改大小,文件系统推荐默认的 btrfs,CachyOS 会自动分配子卷,如果想分配 swap 分区也可以自行尝试,不过 CachyOS 默认是使用 zram 的,而且 swap 也可以不用单独的分区,用 swap 文件,所以不推荐给 swap 分区,这里推荐一个本站的教程:服务器与网站的开荒入坑(这篇文章我调优服务器必看,哈哈,也是感谢 @huan 的教程了),虽然是服务器的,但应该也适配物理机,或者自行搜索教程

    图片

    下面选桌面,我了解的就只有 KDE(默认这个)、GNOME、Niri 和 Hyprland,因为我喜欢平铺式的(Niri、Hyprland)同时听说 Niri 比 Hyprland 还稳定点,于是我选择了 Niri,这里根据自己的喜好选择即可

    图片

    软件包根据自己的需要选择(一般不需要调整),因为我想要用 Chrome 所以我把下面的 Firefox 取消勾选了

    图片

    最后设置账户密码等,开始安装

    图片

    配置调优

    因为已经将近 1 个月了,所以有的配置都忘了,想起啥写啥吧,后面也会补充,也欢迎各位来补充。

    有什么配置问题可以去翻 ArchWiki,或者装完 Agent 工具让 AI 来帮你配置,但是一定要注意不要让 AI 瞎搞,防止搞崩溃,你可以让 AI 给你配置步骤,自己手动走一遍。

    CachyOS 默认 Shell 用的是 fish,想用其他的可以自己更换,我比较习惯 zsh 就换去 zsh 了。

    第一个命令,更新包命令```
    sudo pacman -Syu

    
    当文件系统选择 `btrfs` 时 CachyOS 默认会装 btrfs 助手和 snapper(用于系统快照),你可以打开 btrfs 助手自己调整快照设置,默认只会在安装、升级、删除包时创建快照
    
    archlinuxcn 源
    
    CachyOS 默认会自动选用适合本地的镜像源,但是默认是没有 archlinuxcn 源的,推荐加入该源```
    sudo vim /etc/pacman.conf
    ```在最后加上```
    [archlinuxcn]
    Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch
    Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
    Server = https://mirrors.hit.edu.cn/archlinuxcn/$arch
    Server = https://repo.huaweicloud.com/archlinuxcn/$arch
    Server = https://repo.archlinuxcn.org/$arch
    ```Server 一个就行,自选,然后安装 `archlinuxcn-keyring`,并同步更新软件源数据库```
    sudo pacman -S archlinuxcn-keyring
    sudo pacman -Syu

    推荐安装 yay(AUR 助手),具体介绍可以自行搜索```
    sudo pacman -S yay
    ``注意使用 yay 时不用在前面加 sudo,安装 yay 后基本没再手动用过 pacman` 了

    每日更新变为```
    yay -Syu

    
    一个比较折磨的问题就是 aur 下载慢甚至下载不下来,此时就需要用到代理软件了,archlinuxcn 源里有打包好的 clash 系软件,用 `yay -Ss clash` 搜索,然后安装自己想用的```
    yay -S clash-verge-rev
    # 或者
    yay -S flclash
    ```> [!attention] 注意
    > archlinuxcn 源的 clash-verge-rev 可能存在 bug,我当时安装完打开安装虚拟网卡时一直循环输入密码认证,最后还用不了,临时解决方法是循环完手动在命令行执行 `sudo clash-verge-service-uninstall` 和 `sudo clash-verge-service-install`,但是下次打开软件仍出现循环问题还是桌面环境的问题,不知道是不是我当时安装的那个版本的问题,后面我就去用 aur 上安装的了
    > 安装命令为 `yay -S clash-verge-rev-bin`,不用代理应该会卡住
    
    v2rayn 只在 aur 中有,下载下来感觉在 linux 上不太好用,就没用过```
    yay -S v2rayn-bin
    ```这里说一下软件包后啥也不带、带 `-bin` 或带 `-git` 三者在一般情况下的区别,推荐安装带 `-bin` 的版本:
    
    - 啥也不带会下载软件正式版的源码压缩包进行本地编译构建
    
    - 带 `-bin` 的是下载软件正式版的预编译程序,不用本地编译构建
    
    - 带 `-git` 的是下载软件 git 仓库最新源码进行本地编译构建
    
    有的包不带 `-bin` 也是安装的软件正式版的预编译程序,比如未开源的软件
    
    CachyOS Hello
    
    首次开机默认会自动启动该应用,其有些实用的功能,点击 `应用/调整`
    
    ![图片](https://cdn3.ldstatic.com/optimized/4X/0/0/8/0087f4064e0b7928e1cbbf49e2080dbea4aef277_2_690x427.png)
    
    调整部分我就不详细介绍了,可以用 AI 自己搜索下,然后根据需要启用
    
    实用工具一般常用前三个
    
    ![图片](https://cdn3.ldstatic.com/optimized/4X/3/8/c/38c4997358d99b7a504d578d7f6804a4672a428a_2_690x421.png)
    
    QQ
    
    安装命令```
    yay -S linuxqq
    ```因为用的 Electron,所以在 linux 上存在一些问题,默认是以 XWayland 启动的,我用时如果输入法输入太快就会导致输入法漏字符,修复方法就是用 Wayland 启动,配置 `~/.config/qq-flags.conf`,添加以下内容```
    --ozone-platform=wayland
    --enable-wayland-ime
    --wayland-text-input-version=3
    ```VS Code
    
    安装命令```
    yay -S visual-studio-code-bin
    ```在我 niri 的桌面环境下存在密钥环服务无法自动识别的问题(其他应用貌似也有),修改 `~/.vscode/argv.json` 将 `password-store` 手动设置为 `gnome-libsecret` 就没问题了
    
    剪贴板
    
    安装 `wl-clip-persist` 解决复制完内容,把源程序一关,复制内容失效无法再粘贴的问题
    
    安装 `comalot-clipsync-git` 解决在 X11 应用复制完内容无法同步到 Wayland 上的问题```
    yay -S wl-clip-persist comalot-clipsync-git
    ```记得设置自动启动,`wl-clip-persist` 我用的是 niri 桌面的自动启动,配置 `spawn-at-startup "wl-clip-persist" "--clipboard" "regular"`,`comalot-clipsync-git` 用命令 `systemctl --user enable --now clipsync`
    
    输入法
    
    我用的 fcitx5 + fcitx5‑rime + rime‑ice```
    yay -S fcitx5 fcitx5-rime fcitx5-configtool fcitx5-gtk fcitx5-qt rime-ice-git
    ```我的 `~/.local/share/fcitx5/rime/default.custom.yaml` 配置如下```
    patch:
      # 仅使用「雾凇拼音」的默认配置,配置此行即可
      __include: rime_ice_suggestion:/
      # 以下根据自己所需自行定义,仅做参考。
      # 针对对应处方的定制条目,请使用 <recipe>.custom.yaml 中配置,例如 rime_ice.custom.yaml
      __patch:
        menu/page_size: 8
        key_binder/select_first_character: "comma"
        key_binder/select_last_character: "period"
        key_binder/bindings/+:
          - { when: paging, accept: bracketleft, send: Page_Up }
          - { when: has_menu, accept: bracketright, send: Page_Down }
    ```同时配置环境变量,我 niri 桌面是在 `~/.config/niri/cfg/misc.kdl` 中加入以下内容,不同桌面根据实际调整```
        environment {
    	    GTK_IM_MODULE "fcitx"
            QT_IM_MODULE "fcitx"
            XMODIFIERS "@im=fcitx"
            SDL_IM_MODULE "fcitx"
            INPUT_METHOD "fcitx"
        }
    ```配置打字时按 `shift` 提交原始字符串,打开 fcitx5-configtool,选择中州韵,点开配置,将切换输入法时的行为改成提交原始字符串
    
    ![图片](https://cdn3.ldstatic.com/optimized/4X/d/8/c/d8cf09f7b12ed932a90d4537f619ad7c00b79297_2_415x500.png)
    
    字体
    
    我用的以下字体及配置,仅作参考,可以自己调整```
    yay -S inter-font noto-fonts-cjk noto-fonts-emoji ttf-sarasa-gothic ttf-lxgw-wenkai ttf-jetbrains-mono-nerd
    ```配置 `~/.config/fontconfig/fonts.conf````
    <?xml version="1.0"?>
    <!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
    <fontconfig>
    
      <!-- 渲染优化 -->
      <match target="font">
        <edit name="antialias" mode="assign"><bool>true</bool></edit>
        <edit name="hinting" mode="assign"><bool>true</bool></edit>
        <edit name="autohint" mode="assign"><bool>false</bool></edit>
        <edit name="hintstyle" mode="assign"><const>hintslight</const></edit>
        <edit name="rgba" mode="assign"><const>rgb</const></edit>
        <edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit>
        <edit name="embeddedbitmap" mode="assign"><bool>false</bool></edit>
      </match>
    
      <alias binding="strong">
        <family>sans-serif</family>
        <prefer>
          <family>Inter</family>
          <family>更纱黑体 UI SC</family>
          <family>更纱黑体 SC</family>
          <family>思源黑体 CN</family>
          <family>Noto Sans CJK SC</family>
        </prefer>
      </alias>
    
      <alias binding="strong">
        <family>serif</family>
        <prefer>
          <family>霞鹜文楷</family>
          <family>Noto Serif CJK SC</family>
        </prefer>
      </alias>
    
      <alias binding="strong">
        <family>monospace</family>
        <prefer>
          <family>JetBrainsMonoNL Nerd Font</family>
          <family>JetBrainsMonoNL Nerd Font Mono</family>
          <family>Sarasa Term SC</family>
          <family>等距更纱黑体 SC</family>
          <family>Sarasa Fixed SC</family>
        </prefer>
      </alias>
    
      <match target="pattern">
        <test name="lang" compare="contains"><string>zh</string></test>
        <edit name="family" mode="append" binding="strong"><string>更纱黑体 SC</string></edit>
      </match>
    
      <match target="pattern">
        <test name="lang" compare="contains"><string>zh</string></test>
        <test qual="any" name="family"><string>serif</string></test>
        <edit name="family" mode="prepend" binding="strong"><string>霞鹜文楷</string></edit>
      </match>
    
      <match target="pattern">
        <test qual="any" name="family"><string>emoji</string></test>
        <edit name="family" mode="prepend" binding="strong">
          <string>Noto Color Emoji</string>
        </edit>
      </match>
    
    </fontconfig>
    ```配置完用 `fc-cache -fv` 刷新字体缓存
    
    结语
    
    写了得有好几个小时,大致只想到了这些,其他一些配置,比如 niri 桌面美化、noctalia v5、终端(我用的 ghostty)还有各种 cli 工具等我没有说,这些都是看自己的喜好了,可以参考官方文档结合 AI 进行配置。
    
    也欢迎各位佬友讨论各自的配置。
    
    展示张自己的桌面
    
    ![图片](https://cdn3.ldstatic.com/optimized/4X/1/a/f/1afceb758b16eb96b0e2b45c0f084477572e5248_2_690x431.jpeg)
    主楼
  • 双持金枪客-linuxdo

    佬友,想问一下,双系统我也挺想装的 我是笔记本 1TB 硬盘,建议给 Linux 系统多少容量呢

    #1
  • w

    我也是 1TB 硬盘,目前我分配了 200 GB 给 Linux,已经用了 30 多 GB 了,我不在 Linux 上装游戏,打算等硬盘便宜了买个 1 TB 的给系统迁过去

    #2
  • alex_cc

    音乐的话可以用 splayer 挺好用的,可以直接网易云账号登录

    #3
  • 焕昭君

    好哦,好帖顶一顶,难得一见干货贴应该更多看


    (zram是cpu换内存,swap是硬盘换内存)

    #4
  • liuspring

    请问用的cachyos什么版本?新版本已经有noctalia v5?

    #5
  • 柏川

    看着真不错啊,下次重装系统可以尝试下cachyos,运行有什么要求吗 资源占用怎么样

    #6
  • yisal

    我想问下我chrome浏览器滑动网页的时候文字总感觉卡卡的有没有懂的 144hz的屏幕

    #7
  • w

    现在新版本默认用的是 noctalia v5 了,如果更新过包应该已经自己安装了,但是需要自己更换,注意删除孤包的时候会把 v4 删掉

    新默认配置可以看 /etc/skel

    #8
  • w

    运行应该没什么高要求,可以去官网看看,比 windows 省多了

    目前我最多可能用到 12 GB 左右的内存(没仔细看过),而且此时是开了有将近十几个 L 站网页的(Discourse 页面很占内存)刚开机大概占 3 GB 多内存,我还开了 profile‑sync‑daemon,会将浏览器的用户配置文件夹放到内存里

    #9
  • w

    我 165 hz 的,用的也是 chrome,目前没遇到过卡卡的情况

    #10
  • gsyp10032

    你好佬友,见到cachyos我就来了

    图片

    #11

发表回复

登录后回复