关于在使用 Linux 作为日用时,如何恰当的让 Windows 和 Linux 双系统各司其职。
总览
简单总结 Windows 和 Linux 的区别
- Windows 的图形界面底层有较多逻辑冲突,但使用简单。Linux 的图形界面体验统一优秀,但如果你想要构建自己的工作流,需要花点时间配置。
- Windows 的适配软件数量是压倒性的优势,但 Linux 的软件适配也正在逐步提升,且具有 Wine (包括 Proton) 可以运行大部分未适配的软件。
- 部分软件即使未适配 Linux, 其在 Linux 上通过兼容层运行反而比 Windows 上的性能/体验更好 (如 GTAV)。
- Windows 的底层通常具有更强的存在感(如在作者的笔记本上会不定时自动重启),Linux 虽然开源活跃,但同样具有漏洞[1]但比 Windows 少,且修补及时。
- NVIDIA 系在 Windows 上有更好的表现,在 Linux 上表现极差。[2]
就 Windows 与 Linux 的各自的优点对比来看,作者更倾向于将 Linux 作为主要系统,而 Windows 仅在部分场景(如游戏等)使用。 以下是作者推荐(同时正在使用)的系统环境:
-
Windows: 使用 Windows 11 专业版,注意保持系统更新。
-
Linux: 使用 Arch Linux, 使用
Hyprland搭配 end_4 的 Hyprland配置 作为桌面环境。
微调
若想合理分配资源,推荐应用以下调整:
Windows
-
使用占用较小且检测相对精准的
火绒替代Windows Defender,避免扫盘和误杀[3]。 -
考虑移除部分系统预装软件,以及关闭具有很多问题的动画效果。
-
在高级设置中应用最佳性能预设,然后将字体平滑和UI元素改进回退至启用状态。
-
使用纯色壁纸,始终使用亮/暗色模式,关闭动态计算主题色(推荐使用森绿色)。
-
关闭小组件、屏幕键盘等(如果不需要或内存吃紧的话)。
-
若将 Linux 作为主力机,考虑关闭虚拟机平台、WSL等虚拟化功能。相比而言
QEMU/KVM具有和Hyper-V相近的定位和更好的性能。 -
将搜索索引设置为“增强”以启用自定义筛选,然后在筛选中排除所有硬盘分区来阻止索引。
相比于直接关闭索引,该方法在最大程度减小影响的同时避免了 配色前卫 的"启用 Windows 索引"的温馨提示持续占用搜索面板。
-
注意:安装时请谨慎使用
ATLAS OS调整工具。尽管获得了(名义上)更好的性能,但可能会导致 Windows 的部分功能(包括核心功能)缺失。
Linux
-
使用
linux-zen内核,其通常具有更好的性能,或使用linux-git获得更快的修复和更新的功能。 -
基于性能考量决定是否启用视觉效果提升(如半透明、背景模糊等)。
-
照常进行外观自定义和快捷键自定义。
-
考虑安装
Wine来尽量减少切换系统的次数,提升效率。 -
始终使用
Fcitx5作为输入法。相比 GNOME 的IBus而言,其在跨桌面(包括 GNOME )使用上具有更好的兼容性,且相比 GNOME 的IBus更加兼容 GNOME 自家的软件。IBus的兼容问题是因为其切换输入法的方式是弹出一个强制聚焦的窗口,而这在本身就有较多可改进空间的GTK4上会触发诸如输入框失焦、光标复位等特性。虽然
Fcitx5在 Hyprland 上仍有诸如 GTK 应用弹窗错位等问题,考虑到某基金会近期资金短缺[4],这更像是 GTK 自身未修复的缺陷。也许他们 应该问问 另一个基金会 为什么可以完善地维护知名大型桌面。IBus在 Hyprland 上则更加跳跃:其在 GTK 应用中虽然位置正常,但窗口撕裂、绘制残缺且存在闪烁, Qt 应用更是直接忽略(即使你设置了QT_IM_MODULE和QT_IM_MODULES),其在 Hyprland 中更像是运行在 XWayland 里的古董。
Wine 简明配置
该小节以作者在主力机器上配置 Wine 使用的方法为基准,可能不适用于所有环境。
-
安装 Wine:
sudo pacman -S wine wine-gecko wine-mono winetricks -
配置:
- 启动
Winetricks。 - 选择默认的容器。
- 安装所有字体,或只安装 CJK 字体。
- 安装
dxvk和d3dx11_43。假如你在安装
dvxk时遇到错误,可以尝试安装名字符合dxvkXXXX的锁定版本。
- 启动
Fcitx5 简明配置
该小节以作者在主力机器上配置 Fcitx5 使用的方法为基准,可能不适用于所有环境。
-
安装 Fcitx5:
sudo pacman -S fcitx5-im fcitx5-rime -
设置环境变量:在 Hyprland 配置中添加:
hl.env("QT_IM_MODULE", "fcitx") hl.env("QT_IM_MODULES", "fcitx") hl.env("XMODIFIERS", "@im=fcitx")通常不必为全局 GTK 程序设置
GTK_IM_MODULE,其值应当为空或wayland,GTK 程序会请求窗口管理器来获取输入法。 -
设置启动:在 Hyprland 配置中添加:
hl.on("hyprland.start", function() hl.exec_cmd("fcitx5 -d") end); -
重新启动 Hyprland 或运行
fcitx5 -d,然后在任意程序中尝试输入,输入法应当已经被启动。这是因为 Hyprland 会自动重载环境变量(这不包括已经启动的程序)
-
打开
Fcitx 5 配置应用程序,可以进行适当调整。 -
额外的,由于 Fcitx5 的输入法切换实现非标准快捷键注册,你可以使用 作者的 GitHub 仓库内的脚本,具体是
bin/fcitx5-switch,在 Hyprland 中将其注册为 SUPER+SPACE (默认),并可选的取消 Fcitx5 自身的快捷键监听(实际上,在注册之后该监听已经失效了,取不取消无所谓)。原理:Hyprland 会优先独占自身注册的快捷键,并防止快捷键被传入到应用程序,但 Fcitx5 不会保证独占,这会导致诸如切换输入法同时也打开应用菜单之类的问题。通过一次脚本桥接可以解决该问题。
软件
作者使用的以下软件都已适配 Linux, 可从软件源或 Flathub 下载:
- 钉钉: 官网,
AUR - QQ: 官网(
.deb,.rpm),AUR,Flathub - 微信: 官网(
.deb,.rpm),AUR,Flathub Steam: 几乎所有渠道[5]- 部分 Steam 游戏: 相当多的游戏都已经适配了 Linux
HMCL及Minecraft: 原生支持 Linux- Microsoft VS Code: 官网,
AUR,Flathub Ubuntu: 官网(ISO)尽管
Ubuntu是发行版,但基于其后现代的设计理念和 Canonical 的战略操作,应当作为(商业)软件考量。
当然这并不代表你必须忽略Ubuntu使用其他发行版。Ubuntu在广告宣发和劝退用户[6]两方面上的决策仍然是遥遥领先。如果你刚入门,我推荐你使用EndeavourOS(基于 ArchLinux) 或Fedora。 这也不代表 RedHat 是救世主公司,但就目前来看,其在商业化和社区之间尚且取得了动态 平衡。