从 Mac 到 ArchLinux:探索及自用配置

这篇博客只是对自己的配置做简单记录,从 Notion 上拷贝下来的,随时更新。

基本情况

  • Linux 使用经验:8年左右,之前使用 Linux 主要用来配置服务器,具有一定的运维经验。
  • 显示协议: Wayland
  • 桌面环境: Gnome
  • GPU: Nvidia + Intel

Part1:可视化

文字相关

字体大小

经过测试,对于27寸4K显示器,在使用 Gnome(Wayland)时采用全域 HIDPI 缩放 150%+字体 1.25 倍时取得的显示效果是最舒服的,参考指标为 Mac 在同样显示器上的效果。

设置全域HIDPI缩放:

gsettings set org.gnome.mutter experimental-features '["scale-monitor-framebuffer", "xwayland-native-scaling"]’

设置1.25倍字体并开机生效:
gsettings set org.gnome.desktop.interface text-scaling-factor 1.25

Apple 风格 Emoji 显示

首先安装字体:yay ttf-apple-emoji 之后应该就能正常显示了。

对于 emoji 选择的问题,可以直接在 fcitx5 输入法中输入 emoji 名称(中英文均可),也可以安装一个 picker:pacman -S gnome-characters,然后自己绑定一个快捷键。

CJK 字体设定

默认来说 Noto 或者Adwaita 字体系列是有 CJK 支持的,但在高分辨率显示器上感觉中文还是不够平滑和锐利。经过对 ChatGPT 推荐字体的测试,感觉 HarmonyOS Sans SC 字体(即鸿蒙字体)还不错,我们来为 CJK 单独设置为该字体。

首先安装 ttf-harmonyos-sans (aur)。随后创建配置文件 mkdir -p ~/.config/fontconfig/conf.d, 新建一个字体配置文件 ~/.config/fontconfig/conf.d/65-harmonyos-cjk.conf,写入如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?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="hintstyle" mode="assign"><const>hintslight</const></edit>
<edit name="rgba" mode="assign"><const>rgb</const></edit>
</match>

<!-- 仅中文语言优先使用 HarmonyOS Sans -->
<match target="pattern">
<test name="lang" compare="contains"><string>zh</string></test>
<edit name="family" mode="prepend">
<string>HarmonyOS Sans SC</string>
</edit>
</match>

<!-- 全局 sans-serif 不放 HarmonyOS Sans,只保留英文默认 -->
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans</family>
<family>Noto Sans CJK SC</family>
<family>Source Han Sans SC</family>
</prefer>
</alias>
</fontconfig>

保存后刷新字体缓存 fc-cache -fv,并重启 Gnome Shell。使用 fc-match 检查中英文字体情况,应当显示:

1
2
3
4
5
6
❯ fc-match :lang=en
NotoSans-Regular.ttf: "Noto Sans" "Regular"

❯ fc-match :lang=zh
HarmonyOS_SansSC_Regular.ttf: "HarmonyOS Sans SC" "Regular"

视觉效果增强

模糊效果

yay -S gnome-shell-extension-blur-my-shell(remember to reboot),

then go to the extensions and activate blur-my-shell,

go to the settings and turn on the “applications blur”,

finally, turn on “enable all by default”, and then turn off “opaque focused window”.

now you get a blur and transparent terminal.

显示驱动

https://wiki.archlinuxcn.org/wiki/硬件视频加速

Part2:外设

显示器

亮度调节

yay ddccontrol-db

蓝牙

Part3:软件及功能

  1. 屏幕截图和标注:sudo pacman -S flameshot

    安装并绑定命令为 flameshot gui 的快捷键后,可能发现无法正常截图。参考了这个讨论:https://github.com/flameshot-org/flameshot/issues/3446#issuecomment-1931292685

    按他的方法创建一个脚本,然后快捷键执行这个 sh 即可正常截图。

    1
    2
    #!/bin/sh
    /usr/bin/flameshot gui
  2. 屏幕录制:gnome自带 ctrl+shift+alt+r,功能挺齐全的

  3. flameshot

    NVIDIA显卡用户注意:在最新版本的 Webkit2Gtk (2.42.0) 中,由于 Nvidia 专有驱动未完全实现 DMABUF,将导致无法启动和崩溃的情况发生。请降级或在 /etc/environment (或者其他设置环境变量的地方)中加入 WEBKIT_DISABLE_DMABUF_RENDERER=1 环境变量关闭 DMABUF 的使用。

  4. 屏幕录制:sudo pacman -S kooha

  5. nVidia on Wayland 中 Gnome Video Failed to initialized OpenGL with Gtk:

    ~/.config/environment.d/gdk.conf 中添加:

    GDK_GL=gles

Part4:网络

DNS

/etc/systemd/resolved.conf

resolvectl status

sudo systemctl restart systemd-resolved

DHCP(SERVER)

让虚拟机通过 NAT 访问指定网段 10.0.0.0/8

sudo iptables -A FORWARD -i br0 -o enp0s31f6 -d 10.0.0.0/8 -j ACCEPT
sudo iptables -A FORWARD -i enp0s31f6 -o br0 -m state –state RELATED,ESTABLISHED -j ACCEPT

sudo iptables -t nat -A POSTROUTING -o enp0s31f6 -d 10.0.0.0/8 -j MASQUERADE

从 Mac 到 ArchLinux:探索及自用配置

https://www.catop.top/2025/08/16/my-arch-explore/

作者

Catop

发布于

2025-08-16

更新于

2025-10-24

许可协议

评论