TheUnknownBlog

Back

本来以为装一台新电脑没什么好写的,后来仔细一想,发现其实还是有不少坑的。从选硬件,到装系统,然后我又折腾了好久才把 Headless mode 的 game streaming 搞定,再是桌面美化。索性就把整个过程写下来,给以后自己和大家做个参考。

选硬件

先上配置单:

  • CPU: Intel Core i5-13490F
  • 主板: 七彩虹 B760M-T WIFI DDR4
  • 内存: 海盗船 Vengeance Pro DDR4 3200MHz 16GB + 威刚万紫千红 DDR4 2400MHz 8GB
  • 显卡: 华擎 RX 9070 GRE Steel Legend
  • 存储: 西数 SN570 1TB NVMe SSD
  • 电源: 利民 SP750 750W 80PLUS 白金全模组
  • 机箱: 随便买的
  • 散热器: 随便买的

对于上述所有硬件,我花出的成本价格为 4900 元左右。注意:这个价格已经减去了“我卖掉了家里两根内存条”的收入。如果不算的话,成本在 5450 元左右。

解答一些问题

为了防止杠精,让我先来把一些可能会被问到的问题回答一下。

为什么要装一台新电脑?

在笔者写这篇文章的时候内存的价格是疯狂的。16GB DDR5 6400MHz 的内存条一根要 1300 元,就算是 16GB DDR4 3200MHz 的内存条在京东上也要 600 元一根。那么为什么现在还要装一台新电脑呢?众所周知我现在用的是一台 MacBook Air M3,我平时一直是连接 SSH 来做开发的,老的开发机是 i5-4440S,已经有 13 个年头了,虽然说不上没法用,但是确实体验不太好。其实我主要是想要一台可以玩游戏的电脑,上面的只是借口。

为什么不直接买一台整机?

傻瓜才买整机。

为什么内存条混插?

因为便宜啊!那条 8GB 的内存条是我从家里老电脑上拆下来的,反正也没什么用处了。诶那你可能会说“混插频率不就被限制了吗?”好问题!但是 somehow 我家里那条威刚的体质特别好。BIOS 里我直接傻瓜 XMP 一开,内存频率就直接跑到了 3200MHz,时序 18-20-20-40 没有任何问题。(时序有点拉,但是总比跑 2400MHz 好)过了 MemTest86 的测试之后我就放心用了。

你硬盘哪里来的

那块 NVMe SSD 是我之前给 MacBook Air M3 买的扩容硬盘(暑假买的,花费 330 元),哈哈哈哈 现在同款硬盘要 899 元了。

13 代酷睿会缩肛你还买?

好问题!但是 guess what?i5-13490F 作为英特尔特供中国市场的版本,当时为了节省成本,使用的是跟 12 代 Alder Lake 一样的架构设计,没有缩肛🙂‍↔️ 它的核心规模和 i5-12600KF 是几乎一致的。(当时 i5-13400F 是混用 Alder Lake 核心和 Raptor Lake 核心,然后大家还想抽奖抽到 Raptor Lake 核心,结果反倒会缩肛。想不到这也有反转!)

为什么不买 AMD?

AMD 如果要上 DDR4 内存的话只有 Zen 3 架构能上。Zen 3 感觉还是太老了一些。并且还考虑到 AMD 平台的性能和内存频率非常挂钩(他的 Infinity Band 频率和内存频率是挂钩的)而我根本上不起 DDR5 内存条。


我感觉解答完上述问题之后,大家对我选硬件的思路应该有了一定的了解。在这里我再提几个我选硬件时候注意到的点:

  • 电源最好要选支持 ATX 3.1 标准的,毕竟现在显卡功耗越来越高了,ATX 3.1 规定了 12VHPWR 接口的供电要求以及峰值功率的要求,能更好地保护硬件。
  • 主板最好要带 WiFi 和蓝牙模块,因为这张显卡算是中高端型号,体积大(它占用了 2.9 槽位),相当于已经把主板最下方的一个 PCIe x1 插槽给挡住了,如果主板没有自带 WiFi 和蓝牙模块的话,就没法再插一张无线网卡了。(只能插 USB 无线网卡,但我个人不太喜欢用 USB 无线网卡)
  • 显卡保修最好是要支持个人送保的,现在显卡厂商中支持个人送保的并不多,华硕、技嘉、微星、七彩虹等品牌都支持个人送保,华擎不支持,那么你就得找代售点送修(所以我选择了从京东自营购买,这样京东会帮我送修,不会扯皮)。

装电脑

装电脑其实并不难,网上有很多装机视频和教程,但是我在 CPU 安装被卡了一下,因为和我之前装过的电脑不太一样。

这次我用的是 Intel 第 13 代 CPU,使用的是 LGA 1700 插槽。我之前只装过 LGA 115x(六代酷睿)和 LGA 3124(至强第一代可扩展)的 CPU。这里主要带来的不同是:(1)CPU 在安装时候并不只是直接放进去然后扣上固定杆,在按下固定杆的同时还需要按住扣具的左上角,否则扣具是扣不上的,个人猜测这可能是因为 CPU 不再是方形,而是长方形的缘故;(2)在安装散热器扣具的时候,散热器背板的四个角要向外“拉一下”,让螺柱间距变大,才能卡到主板的孔位上。

我们直接来欣赏一下装好后的效果吧 🤗 装好后的效果

btw 我确实不喜欢 RGB 吧,但是行业的共识是没有 RGB 的显卡大约是同级中最丐的了,我也不想买丐显卡。我回头再看看怎么把 CPU 散热器和显卡的 RGB 灯关掉吧。不然我这台电脑就成了一个行走的迪斯科了。

当然 玻璃盖板还没盖(因为我还准备装三个风扇),所以看起来有点乱。等我装好风扇之后再放一张照片。当然我理线肯定也要再理一下,不过不是现在,因为我在家里装的电脑,搬到学校时候我肯定要把显卡和 CPU 散热器拆下来,所以我就先不理线了。

装系统

我这次装的是 Arch Linux。这次我尝试了点不一样的:PXE Boot + Arch Linux Netboot 镜像安装系统。全程没有使用任何 U 盘。非常爽。这里我顺便分享一下我的 PXE Boot 环境搭建过程。

搭建 PXE Boot 环境

PXE Boot basically 就是通过网络来启动电脑。我在这里不是很想赘述他的工作原理(如果你好奇的话,他是基于 DHCP 和 TFTP 工作的,关于什么是 DHCP 我在上一篇 blogpost 中有讲 感兴趣可以看看?)。操作的方法是:你首先需要在主板里开启又一个叫做“Network Stack”的选项(听起来跟网络启动没有半毛钱关系),然后重启 BIOS,你大概率就能看到启动选项卡里有一个叫做“PXE Boot”的选项了。

有了这个选项还是没用,我们还需要把一个特定的 Bootloader 文件喂给这个电脑,总之我们需要搭建一个“让把 Bootloader 喂给计算机”的 server。

这里参考了这篇文章。但是稍作了一下修改:文章中提到

Go Version 1.18 changed the way that go get works. As of that version it now manages module dependencies and no longer fetches, compiles and installs tools/binaries built in Go. You want go install for that as of 1.18, however, pixiecore won’t build in 1.18, so you need to run go install using go 1.17, no newer. This is because they project is basically abandonware now for whatever reason.

其实大可不必大费周章去装一个 Go 1.17 的环境,consider that 大家的 go 环境是新的版本(比如我是 1.24),我们可以自己 clone 源代码,然后用新的 go 版本来编译它。具体步骤如下:

git clone https://github.com/danderson/netboot.git
cd netboot
bash

然后编译:

go build -o pixiecore-bin ./cmd/pixiecore
bash

编译完成后,我们可以使用 netboot.xyz 这个非常好用的 PXE Boot。我们先下载 UEFI Bootloader:

wget https://boot.netboot.xyz/ipxe/netboot.xyz.efi
bash

然后运行 pixiecore:

sudo ./pixiecore-bin boot "netboot.xyz.efi" --bootmsg "booting from pxe" -d --ipxe-efi64 "netboot.xyz.efi"
bash

这样我们的 PXE Boot server 就搭建完成了。接下来我们只需要在目标电脑上选择 PXE Boot 启动(注意要连接同一个局域网,并且待启动的电脑需要接上网线),然后你在 pixiecore 运行的终端上能看到这样的内容:

PXE Boot 日志

你在目标电脑上就能看到类似这样的界面:

PXE Boot 界面

在跑完进度条后,你就能进入 netboot.xyz 的主界面了:

netboot.xyz 主界面

在这里我们选择“Linux Network Installs -> “Arch Linux”,然后他会下载 Arch Linux Netboot 镜像并启动它,接下来就可以按照 Arch Wiki 上的安装步骤来安装 Arch Linux 了。同样,我们也可以选择其他的 Linux 发行版来安装,比如 Ubuntu、Fedora 等等。我没试过用它装 Windows(虽然它也提供了 Windows 的安装选项),试过的朋友可以在评论区告诉我体验怎么样。

如果你在下载 Arch Linux Netboot 镜像的时候遇到了问题(比如下载速度慢,或者下载失败),那是因为你没有换源。我没有找到 netboot.xyz 把 archlinux 的 netboot 镜像换成国内源的方法。如果你网络环境通畅,那就直接下载吧,反正也不大(大约 700MB)。如果你网络环境不太好,同样推荐你使用 Arch 官方的 pxe 来启动。这里面首页进去就会让你选区域,选 China 后可选阿里云,清华大学,南京大学等国内的镜像源,下载速度就会快很多了。具体详情,可以参考 Arch Wiki 上的 PXE Boot 章节。逻辑是完全一样的,你把命令中 netboot.xyz.efi 换成 Arch 官方下载的 .efi 文件就好了。

在这里面 Utilities 选项卡下还有一个叫做“memtest86+ (v8.0.0)”的选项,可以用来测试内存是否有问题,非常方便。我就是用它测试通过了我那根混插的内存条。

Memtest Pass

来放一张我装好 Arch Linux 之后的截图(桌面美化稍后会有,这不是最终效果):

Arch Linux

玩游戏

买了这么好的显卡显然是要玩游戏的,而且为了用 Linux 特意选了一块 AMD 显卡(So NVIDIA, Fuck You)。AMD 显卡有非常好的社区驱动支持,在 archinstall 的时候就会提示让你选择 AMD 的 proprietary 的驱动或是社区驱动,社区驱动往往 perform 更好,proprietary 的驱动是给那些大客户用的,(或许)更稳定。

降压、解锁功耗墙

在这里我们既要降压也要解锁功耗墙。至于我为什么不说“超频”,且听我解释:

当代 AMD 的 GPU 的 base clock 往往都标的非常保守(拿我的 9070 GRE 举例,他的核心频率最高只有 2350MHz),在这个频率下是根本跑不满功耗的(同样拿我的举例子,只能跑 160~200W 左右,而 TDP 为 240W)。此时 GPU 如果 Performance Level 在 “Automatic” 上(见下图),GPU 会尽可能尝试 boost 到高的频率来吃满功耗。也就是说,对于高负载的游戏下(比如赛博朋克2077),GPU 是跑不到板卡厂商标定的最高频率的。因此,真正限制 GPU 频率发挥的往往不是 “你超了多少频” 而是 “GPU 到底能不能跑到这个频率”。

With that in mind,我们需要做的只是降压+解锁功耗墙即可。降压能让相同频率下显卡功耗更低,于是显卡能跑更高频。解锁功耗墙同样也是为了让其跑到更高频率。

对于具体配置,每张显卡各不相同。不过你应该先在B站上做做调研。搜索“你的显卡型号+超频”,看个五六个视频以及评论区,你就对你的显卡的“average的体质”有了了解。可以从那个配置的基础上改。

我在 Arch 上使用 LACT 程序。我并不推荐你手动去改 GPU 的 profile。使用现成的超频工具能带来两个好处:

  • 它自带 daemon,开启能自动生效,并且能防止配置不被 override
  • 它能 List available 的配置。而你直接改配置文件可能会改坏,并不是所有配置都适用于所有年代的显卡。

对于我的显卡,最终稳定游戏的是以下配置:显存 +100MHz,GPU 电压 -85mV,功耗墙 240W -> 264W。其实在显存 +150MHz,电压 -100mV 的情况下也能过测,但是我并不推荐这样日常使用。某个测试稳定(比如 superposition,或者 3dmark)并不代表所有游戏都稳定。在 Windows 下,不稳定的现象表现为 “AMD 显卡掉驱动”,在 Linux 下,则表现为桌面环境卡死,然后过一会儿恢复,提示你“GPU 已经恢复”。如果你在游戏中遇到了这种情况,那就说明你的配置不稳定了。我在之前几天亦遇到过几次这种情况,后来把降压幅度调小了一点就稳定了。总之,稳定性才是第一位的,能过测只是一个参考。

降压超频

开启 FSR4 Support

首次游玩赛博朋克2077 的时候,我发现对于 FSR 的支持最高只有 3.1 版本。在网上搜索了一下,发现 AMD 官方早就说赛博朋克2077 的 FSR 版本已经支持 4.0 了(2025 年 4 月份就有相关报道了),但是为什么我这边最高只能选 3.1 呢?

后来发现是 Steam 的 Proton 版本过旧了。Steam 的 Proton 是一个兼容层,能让 Windows 游戏在 Linux 上运行。Proton 的更新频率尽管已经较快了,但有时候还是会落后于 Windows 上游戏的更新。根据社区提示,我们需要换用 CachyOS 的 Proton 版本(CachyOS 是一个基于 Arch Linux 的发行版,专门针对游戏进行了优化)。换了 CachyOS 的 Proton 版本之后,FSR4 就能选了。

需要安装 proton-cachyos 包:

yay -S proton-cachyos
bash

安装需要大约 1 个小时,,,,建议不要在睡前安装,否则会被硬控。装完后在 Steam 关于游戏的“Properties”里把 Proton 版本切换到 CachyOS 的版本就好了。

无头模式下的 Game Streaming

装好系统之后我就开始折腾 Headless Mode 下的 Game Streaming 了。这里我选择了 Sunshine + Moonlight 的组合。Sunshine 是一个开源的自托管的游戏流媒体服务器,Moonlight 则是一个开源的 NVIDIA GameStream 客户端,可以在多种设备上运行。

Sunshine 的安装非常简单,Arch Linux 的用户可以直接从 AUR 上安装:

yay -S sunshine-git
bash

安装完成后,运行 Sunshine,在网页端(注意要用https访问)设置好你的密码和编解码器。然后在你的客户端设备上安装 Moonlight,连接到你的 Sunshine 服务器(配对码也是在网页端显示),就可以开始游戏了。

但是这样的话你在玩游戏的时候显示器一直得开着。如果你把显示器关掉,Sunshine 会罢工,告诉你 “Streaming Error,… Is the host display turned on?” 一直把显示器开着也不是长久之计,我们要节约能源!所以我们需要让 Sunshine 在无头模式下也能正常工作。这里有两种方法,都可以解决这个问题:

  • 方法一:你喜欢的购物网站上买一个叫做 HDMI 诱骗器的东西(HDMI Dummy Plug),插在显示器的 HDMI 接口上,这样电脑就会认为有一个显示器连接着了,Sunshine 就不会罢工了。
  • 方法二:通过内核参数强制“伪造”一个显示器。这个稍微更有技术含量一些,我们详细讲一下:

它会让 Linux 内核在启动阶段就确信“有一个显示器插在 HDMI 接口上”。首先准备一个 EDID 文件。你需要一个文件来告诉显卡“我连接的是一个什么显示器”。通常你不需要大费周章去生成一个 EDID 文件,最简单的办法是直接把你现在显示器的 EDID 文件 dump 出来就好了。

如果没有安装 edid-decode 的话可以先安装:

yay -S edid-decode
bash

然后去这个目录下看看:

ls /sys/class/drm
bash

在这里每个人的配置都会不一样。比如我的输出是这样的:

card1  card1-DP-1  card1-DP-2  card1-DP-3  card1-HDMI-A-1  card1-Writeback-1  renderD128  version
plaintext

其中 card1 中包含了显卡的一些配置,我们不管。其余的 card1-DP-1card1-DP-2card1-DP-3 是三个 DisplayPort 接口,card1-HDMI-A-1 是 HDMI 接口。对于我来说我的真显示器是插在 HDMI 接口上的,所以我就去 card1-HDMI-A-1 这个目录下 dump 出 EDID:

cat /sys/class/drm/card1-HDMI-A-1/edid | edid-decode
bash

如果你看到了显示器的相关信息(比如分辨率啊,刷新率啊,厂商信息啊等等),那就说明你成功了。接下来我们把这个 EDID 信息保存到一个文件里:

sudo cat /sys/class/drm/card1-HDMI-A-1/edid > /usr/lib/firmware/edid/my_monitor.bin
bash

接下来我们找一下显卡空闲的接口。你当然可以通过上面 cat edid 的方法来一个个试,如果 edid-decode 提示 empty stdin,那么就是空的,但是更简单的方法是运行一下:

for p in /sys/class/drm/*/status; do con=${p%/status}; echo -n "${con#*/card?-}: "; cat $p; done
bash

我们只需要找到那个 status 是 disconnected 的接口就好了。比如我的输出是这样的:

DP-1: disconnected
DP-2: disconnected
DP-3: disconnected
HDMI-A-1: connected
Writeback-1: unknown
plaintext

那么我就选 DP-3 这个接口来伪造显示器。注意:这个借口你最好也别接显示器了,不然可能会有冲突。接下来我们需要把这个 EDID 文件的路径告诉内核。

你需要修改 Bootloader 配置(GRUB 或 systemd-boot),加入强制启用显示器的参数。

  • 如果你用 GRUB: 编辑 /etc/default/grub,在 GRUB_CMDLINE_LINUX_DEFAULT 引号里追加:

    drm.edid_firmware=DP-3:edid/my_monitor.bin video=DP-3:e
    plaintext

    记得把这个 DP-3: 换成你上面查到的接口名。同时,edid/my_monitor.bin: 换成你第一步里放的文件名(路径默认相对于 /usr/lib/firmware/)。video=DP-3:e: 这个 :e 最关键,意思是 “Enable”(强制启用),告诉内核忽略物理连接状态。

    然后更新 GRUB:

    sudo grub-mkconfig -o /boot/grub/grub.cfg
    bash
  • 如果你用 systemd-boot: 直接编辑 /boot/loader/entries/ 下对应的 .conf 文件,在 options 行尾追加同样的内容。注意这里每个人每个系统的 .conf 文件以及目录结构可能都不太一样,你需要自己找一下。比如我这里是 /boot/loader/entries/2026-01-20_14-25-25_linux-zen.conf,我就在这个文件的 options 行尾追加:

    drm.edid_firmware=DP-3:edid/my_monitor.bin video=DP-3:e
    plaintext

然后注意 ⚠️ 需要更新 initramfs!因为 EDID 文件需要被打包进启动镜像里,显卡驱动在加载时才能读到它。 编辑 /etc/mkinitcpio.conf,找到 FILES=() 这一行,把你的 EDID 文件加进去:

FILES=(/usr/lib/firmware/edid/my_monitor.bin)
plaintext

然后重新生成:

sudo mkinitcpio -P
bash

重启电脑后,你就会发现即使显示器关掉了,Sunshine 也不会罢工了!你就可以愉快地在无头模式下玩游戏了!Better yet,像 KDE 之类非常智能的桌面环境还会自动检测到显示器状态的变化,你在接上正常显示器的时候,你可以去显示设置里 disable 掉那个虚拟显示器,这样你就可以正常使用显示器了;当你把显示器关掉的时候,KDE 会发现当前显示器不可用了,就自动切换到那个虚拟显示器上了,完全不需要你手动干预,非常智能。

换桌面

说实话当时我 archinstall 的时候是直接选的 niri 作为桌面环境。(我用 Linux 其实很大一部分原因也是馋 niri!macOS 下有一个类似物叫做 paperspoonwm 但是那玩意动画不好看 然后也受限于 macOS 的 WM 总之就是做不好)但是刚一进去这个 niri 也太简陋了😅 所有的 navigation 又是完全依赖于键盘 不配置的情况下完全是不可用的状态。于是又重新安装了 KDE Plasma 😅。但是经过一番美化,我觉得当下 niri 已经是相当可用,我已经将其作为我的主力桌面环境使用,请看现在的效果图:

niri

Linux 社区来 show 桌面的时候总是会打开一个 btop,打开一个 fastfetch 然后右下角再开点别的东西。遵循这个传统,我也是这样排布的。右下角是我和同学开的 Minecraft Server 😁。

对于审美,每个人各不相同,但是我在这里可以抛砖引玉一下我个人觉得较好的美化方案:

  • 背景模糊:我个人觉得背景模糊是非常重要的一个美化元素了。它能让界面看起来更有层次感,减少视觉疲劳。However, by the end of 2026.2,niri 是不支持背景模糊的,上图终端的背景模糊是在 niri 中配置 “draw-border-with-background false”,然后让终端自己来画背景模糊的。好消息是在笔者写这篇文章的时候, niri 的开发者已经在他的 development branch 上实现了背景模糊的功能了,可以看这个 commit:Link to GitHub commit。想要尝试的话也可以编译 https://github.com/niri-wm/niri/tree/wip/branch 这个分支上的代码。所以不久的将来 niri 就会原生支持背景模糊了,敬请期待!

  • Waybar:Waybar 是一个非常好用的状态栏工具,支持高度自定义。你可以通过编辑配置文件来调整它的外观和功能,比如添加系统信息、网络状态、电池状态等等。Waybar 的主题也非常丰富,你可以在网上找到很多现成的主题,或者自己动手设计一个。他的主题就是通过一大堆 CSS 来实现的,所以理论上你只要能写 CSS 就能设计出你想要的状态栏了。一个很不错的基底是 这个主题,他能给你那种“药丸圆角”的那种感觉,口说无凭,这是他官方给的效果图:

    Waybar

    你可以向其中加入很多你自己喜欢的模块,比如我就加入了一个显示当前 CPU 占用率,内存占用率,网络状态的模块。你也可以加入当前正在播放的音乐信息,或者是一个显示当前时间和日期的模块,甚至是一个显示当前天气的模块。总之,Waybar 的自定义性非常强,你可以根据自己的需求来设计你的状态栏。这是我现在的 Waybar:

    My Waybar

  • Fuzzel:默认的 niri 应用启动器就是 fuzzel,但是默认状态实在是太丑了。好在 fuzzel 的主题配置较为简单,就是一个标准的 .ini 文件,里面定义了一些颜色和字体的配置项。我就选择了 Tokyo Night 这个配色方案,稍微改了一下字体和边框的配置,辅以背景模糊,效果如下:

    Fuzzel

    你可以 argue 说你觉得还是不好看,但是我觉得已经是非常不错了。毕竟也就是这么几行配置文件的事情,如果你需要的话可以抄我的配置文件,或者自己改一改来适合你的审美。

    我的Fuzzel 配置文件
    [main]
    font=JetBrainsMono Nerd Font:size=13
    prompt="❯   "
    icon-theme=Papirus-Dark
    icons-enabled=yes
    width=45
    lines=10
    horizontal-pad=20
    vertical-pad=20
    inner-pad=10
    layer=overlay
    
    [colors]
    background=1a1b26e6
    text=c0caf5ff
    match=f7768eff
    selection=414868ff
    selection-text=c0caf5ff
    selection-match=ff899dff
    border=7aa2f7ff
    
    [border]
    width=2
    radius=10
    ini
  • Alacritty:默认的 niri 终端是 Alacritty。Alacritty 是一个非常快的 GPU 加速终端模拟器,支持高度自定义。Alacritty 默认那套“黑底白字无边距”的样式非常简陋。我们可以通过编辑配置文件来美化它。Alacritty 在较新的版本中已经彻底废弃了原有的 YAML 格式,全面转向了 TOML 格式。网上的很多老教程可能已经失效了。如果你需要我的配置文件的话,我同样贴在这里:

    我的 Alacritty 配置文件

    Alacritty 会自动读取 ~/.config/alacritty/alacritty.toml。另外,记得安装好字体(我用的是 JetBrains Mono Nerd Font),不然可能会出现乱码或者图标显示不出来的情况。用

    sudo pacman -S ttf-jetbrains-mono-nerd
    bash

    来安装这个字体。

    [window]
    padding = { x = 16, y = 16 }
    opacity = 0.90
    decorations = "None"
    dynamic_title = true
    
    [font]
    normal = { family = "JetBrainsMono Nerd Font", style = "Regular" }
    bold = { family = "JetBrainsMono Nerd Font", style = "Bold" }
    italic = { family = "JetBrainsMono Nerd Font", style = "Italic" }
    size = 12.0
    
    [cursor]
    style = { shape = "Beam", blinking = "On" }
    
    [colors.primary]
    background = "#1a1b26"
    foreground = "#c0caf5"
    
    [colors.normal]
    black   = "#15161e"
    red     = "#f7768e"
    green   = "#9ece6a"
    yellow  = "#e0af68"
    blue    = "#7aa2f7"
    magenta = "#bb9af7"
    cyan    = "#7dcfff"
    white   = "#a9b1d6"
    
    [colors.bright]
    black   = "#414868"
    red     = "#ff899d"
    green   = "#b1e37b"
    yellow  = "#f3c27b"
    blue    = "#8cb6ff"
    magenta = "#ceafff"
    cyan    = "#8fe2ff"
    white   = "#c0caf5"
    toml

又或者说 你看到这里的时候可能已经厌倦了,觉得“反正我也不 care 美化”,或者“怎么有这么多配置文件要写?”。那么我还有一个大招。你直接用 dankmaterialshell。这个项目把桌面美化做成了一个一键安装的脚本,能让你的桌面瞬间变得非常好看。它的效果图非常好看(采用了 consistent 的谷歌 Material 3 Design Style)。可以去 项目地址 看看效果图。安装也非常简单,直接运行下面的命令就好了:

curl -fsSL https://install.danklinux.com | sh
bash

他能让你自由选择窗口管理器(支持 niri、hyprland,…),让你自由选择终端(ghostty, alacritty, …)总之你如果不是 artist 或者你只需要一个“开箱即用”的美化方案的话,这个项目绝对是非常好的选择了。我的桌面就是安装了这个项目之后稍微改了一点配置的结果了。

桌面美化的折腾是永无止境的,等 niri 的原生背景模糊功能出来了,我还想再把桌面美化一下,敬请期待下一篇 blogpost 吧!

装一台新电脑
https://20051110.xyz/blog/arch-install
Author TheUnknownThing
Published at February 21, 2026
Comment seems to stuck. Try to refresh?✨
浙ICP备2025146421号-1 浙公网安备33010502012185号