我的 Windows 软件之道

引言

最近迷上了世嘉游戏机,从 Game Gear 到 MD(Genesis)到打破行业潜规则推出「X 限定」游戏的 SS(土星🪐)到 DC 的绝唱,甚至于世嘉三代(SMS,因原型机为 SEGA Mark III 也通称 MK-III)都玩了个遍。之前对世嘉游戏机的了解止步于 海王星系列 的各种 neta,前段时间看了王亚晖写的 中国游戏风云,回顾了不少国产老游戏,书中时常提到游戏杂志『电子游戏软件』(电软),而电软的编辑基本都是世嘉粉,对世嘉游戏机的兴趣也就水涨船高。一番体验下来确实为世嘉感到惋惜,一代神机 MD,部分游戏和 SFC 的顶尖大作五五开也不成问题,不少跨平台游戏更是体验吊打超任。更让人叹为观止的是,MD 在巴西代理 Tectoy 的努力下,更是从 1990 年起持续销售 34 年,直到 23 年才宣布停产。好的代理商真的很重要,像深圳市南山区某企业代理的国行机器,除了合规化的象征意义和存在感稀薄的比赛,似乎毫无用武之地……

综上所述 博客更新一直暂缓。英文文章也是两个多月没发布,倒不是懒得写,只是考虑到文章受众和资料获取难易程度,恰好最近几篇都更适合中文读者。

镜像

介绍软件之前,首先要有个 Windows 系统,最好再有一个趁手的 PE 环境。 引言说了一堆废话这里不再多说,直接上排名(按推荐度/技术要求降序):

  1. UUPdump + NTLite 高度自定义镜像
    • UUPdump 日常炸,可以换镜像或参考 MyDigitalLife 教程自行部署
    • NTLite 只是个人习惯,可换成任意 Windows 镜像修改工具
    • 可能换成 AME Wizard下载试用跑路一条龙,playbook 配置文件都加密还搞什么🙄
  2. AtlasOS / tiny11builder 等开源的 Windows 镜像构建脚本/系统
  3. 官方镜像(通过第三方工具从微软服务器下载,实在不行再用 MSDN ITellYou)+ 辅助脚本(见下文)
  4. 各路可靠纯净的第三方封装系统
  5. 不知道来源随便下的镜像

上面只列举了构建系统的选择,事实上也可以不封装系统,安装完纯净系统后运行 Sophia-Script-for-Windows (实在不想看那一千多行的 PowerShell 脚本可以用 Sophia-Script-Wrapper)之类的装机/优化脚本。当然,我全都要,甚至还写了(恢复软件和配置后运行的)服务禁用和系统净化脚本。

PE 同理类推,不再赘述,我用的是微 PE 和 Edgeless,使用 Ventoy 引导,另有 vlink 快速启动本地硬盘的虚拟磁盘,详见 void-vtoybootwindows-vhdboot

软件源

安装

介绍软件之前,其次要保证获取的软件来源清晰,不是从什么奇奇怪怪的地方下的。 这里不像镜像那样列 12345,直接列个人偏好,首选 Scoop, Chocolatey, Winget 等软件包管理器,其次选择自行撰写更新脚本,再者选择 Microsoft Store,实在没有办法再选择下载独立安装包。

当然,这也不是绝对的。偶尔测试来路不明的软件,根据 threat model 可能选择 Windows Sandbox、Sandboxie 这类沙盒应用,或者直接虚拟机,从而避开软件包管理器和微软商店。

方法论

安装软件容易,恢复配置难。我曾经非常热衷于各种「修改版」、「破解版」和「绿色软件」,随着装机次数增加,现在已经看淡了。

🚨 Warning

方法论已弃用,scoop 不需要「重装」,直接复制 $env:SCOOP/$env:SCOOP_GLOBAL,恢复环境变量,添加 shims 到 PATH,然后简单几行命令即可恢复。整个过程甚至可以离线操作,从而实现单一机器联网更新,随后同步到内网全部离线机器的操作。

根据软件类型和使用场景的不同,划分成几种类型:

  • Non-Portable: 对于像 InkScape、VirtualBox 这类软件,安装完配置一次基本就不用动,定期更新本体和插件,直接 Chocolatey 安装,同时使用 choco-package-list-backup (CPLB) 自动备份软件列表 和安装参数,下次装机可以一键重装全部软件。
  • Portable: 部分软件使用频率高,而且提供「便携版」。对于这部分软件那更简单,通通存放在非系统盘,重装也不受影响,马上就能使用。
  • Nightly: 部分软件更新频繁,但使用频率不固定。针对这类软件,我选择撰写更新脚本,随用随更,减轻更新负担的同时保证需要时能立即体验最新特性。
  • APPX/MSIX: 在 Windows 10 刚发布时,我和许多软粉一样对 UWP 和官方运营的商店寄予厚望,但时过境迁,两者都是一潭死水。通常只用来安装一些驱动或者影音相关的软件,比如 Dolby Access、DTS Sound Unbound。
  • Installer: 独立安装包,比如集成各版本 .NET 和 Visual C++ 运行库的 vcredist
  • DIY: ……其实还有一种选择,就是自己写。网上的工具可能带壳容易报毒,这类程序用 AutoHotKey 写起来非常简单 (写单机外挂也很简单),不打包成 EXE 就不会报毒,安装 AHK 即可运行。

管理

说是管理,但其实只需要管卸载,安装部分 scoop/CPLB 基本都能搞定。 目前用的是 Bulk-Crap-Uninstaller,相比于之前用过的 Glary Utilities、DISM++ 和一大批连名字都忘了的软件,优点在于可以识别安装源,支持 Choco 这类软件包管理器,甚至能识别各种 gal 引擎的启动器。

推荐

说了半天,终于到正题,不多说直接列表,在符合上文提到的 #方法论 的同时,尽量用开源/自由软件替换系统组件和常见垃圾软件。

LFS 编译记录#前言 类似,为避免维护链接的麻烦,scoop 收录且维持更新的软件只列出 bucket,不用 scoop 也可以在 搜索界面 阅读介绍和官网。

ℹ️ Note

下面出现的 sb我维护的 Scoop Bucket(首字母缩写)无不良导向

功能/分类替代品
字体FiraCode/Cascadia + Sarasa-Gothic + Sarasa-Gothic-Nerd-Fonts + extras/nomeiryoui
截图extras/sharex
输入法Rime
防火墙extras/simplewall
播放器mpv + MPV_lazy 懒人包 + extras/gridplayer
浏览器extras/{firefox-esr,palemoon} + sb/{chromium,supermium}
图片查看sb/neeview-fd + Susie 插件
文件校检nonportable/openhashtab-np
文件压缩extras/peazip
流量记录TrafficMonitor
Hex 编辑extras/imhex
文本编辑sb/pragtical-rolling + extras/vscodium
右键菜单sb/contextmenumanager
屏蔽渣软sb/malware-patch
多屏亮度调节sb/monitorian
用户提权main/gsudo
单一工具extras/autohotkey
A/B 测试main/vivetool, main/mach2, stagingtool(微软内部工具)

解释

字体

💡 Tip

虽然 scoop-nerd-fonts 提供了很多字体,由于 Scoop 糟糕的运行检测和 Windows 糟糕的字体缓存机制,没有精神病史不建议使用。最好通过 RSS 接收更新,再手动下载字体(或者 scoop download),然后手动 安装到所有用户,任何情况下都不要只为当前用户安装。不过既然要手动下载,其实网页点开也一样,Scoop 就多个可有可无的校验功能。

  • 上面列的只是系统 UI 和代码的基本显示,特殊用途的一大堆,随便列几个
  • 花园字体(Hanazono),官网万年打不开就不放链接了,中日韩统一表意文字(Unihan)支持到扩展 E 区,非常恐怖,用于 中国哲学书电子化计划Rime 显示罕见字、异体字
  • 霞鹜文楷,即 LxgwWenKai,用作 MPV OSD。通用规范汉字表的 8105 字不说,还支持到扩展 A 区,但部分字形不够美观,只用 Mono
  • STXihei Regular,华文黑体系列,Office 简中语言包自带,也用作 pragtical 显示
  • DFP 勘亭流-XB(DFPKanteiryu-XB)和 FOT-Ōedo Kanteiryu Std E (FOT-大江戸勘亭流 Std E) ,日文字体,太鼓用,偶尔也用于生肉 Gal
  • 零零散散的 emoji、设计字体、Gal 补丁魔改字体,不适合日常使用就不介绍了

播放器

  • mpv:虽然开箱体验不佳(指 UI),但上限极高,配合懒人包、着色器和滤镜脚本,分分钟手搓一个播放器,Lua 扩展起来也方便,详细配置可以参考 MPV 配置备忘录
  • GridPlayer:瀑布流视频,酌情选择同时播放数量,16 个足够把 CPU 干到 100%,很有用但使用场景有限,随便列举几个正经的以正视听
    • 监控回放
    • 影片删减对比
    • 多机位拍摄的 live(配合多声道音响系统,临场感拉满)

浏览器

  • Firefox ESR:比 Firefox 更稳定和安全,搭配基于 arkenfox/user.js 修改的 user.jspref.js,自定义的 policy-templatesuserChrome.cssuserContent.css,同时使用部分 插件自建搜索引擎,每一个元素展开都能讲几千字,详见 浏览器调教指南 系列
  • Chromium
    • 和 Firefox 类似,配置基于注册表和 JSON 的 policy-templates,便于批量部署
    • 没选择 ungoogled-chromium 是因为 Windows 版需要自行编译,耗时过长,而社区的二进制包又更新太慢,0-day 一年能有几十个,实在不安全,而且项目重点是 de-Google(完全移除 Google 服务),不是隐私保护
    • 其他魔改不是砍特性就是跟进太慢,要不就是闭源,不然就是发展不可持续,容易烂尾
  • Supermium:在 Windows XP/7 上古系统体验新内核 Chromium
  • Pale Moon
    • 基于 Mozilla Gekco 的 Goanna 内核,支持 Silverlight/Flash/Java/Unity 插件,是的,支持 Flash 插件
    • 此外还有基于 Pale Moon 的 Basilisk,UI 稍微现代一点,但由于历史原因我还是选择 Pale Moon
  • Flash
    • 如今想要体验 Flash 页游(不是单纯基于客户端/网页插件的 Flash 游戏,这些 ruffle 都能搞定),并不是一件易事
    • 万能不更新内核版本、内置各种遥测和屏蔽列表的闭源浏览器 + 中国大陆特供版 Flash 这种下三烂显然入不了我的法眼
    • 借助 Pale Moon + CleanFlashinstaller + clean-flash-builds,可以实现同样的效果,还支持 GNU/Linux
    • 话虽如此,不少页游强制使用专版 Flash 插件,面对这种流氓只能好自为之……

图片查看

  • NeeView 支持查看压缩包,配合 Susie 插件还能免解包查看 gal CG
  • 我维护的 sb/neeview-fd 相较于 extras/neeview 体积更小,但依赖于 .NET9
  • 之前用的 ImageGlass 依赖于 EdgeWebView,硬盘占用徒增,替代品符合需求的太少(ICC/ICM 色彩管理、EXIF 识别、APNG/WebP/AVIF 支持和开源只是门槛,最好再支持 PSD、HEIF、JXR 和若干特殊需求),NeeView 先顶着吧
  • 其实 NeeView 也能看视频,但扩展格式需要(弱于 MPV 的)libVLC,我还是爱用 MPV
  • 顺带一提,PeazipNeeView 都支持脚本语言,批量操作很方便

Gsudo

ℹ️ Note

如果使用 scoop,很多过时教程会建议安装 sudo,即 main/sudo,但是对应的 psutils 多年未更新,建议立即卸载转用 main/gsudo

  • Windows 11 24H2 支持 Sudo for Windows,开源在 microsoft/sudo,需要手动启用
  • (管理员权限运行)启用命令:sudo config --enable normal
  • 不过微软官方的实现很多基础功能都不支持,短期内没法完全替代 gsudo
  • 24H2+ 默认使用 gsudo 而非 sudo:gsudo config PathPrecedence --global True

结语

洋洋洒洒三千多字,其实还有很多烂大街和过于小众的软件,写累了不再一一赘述。 很多软件只简单提及,实际展开能讲十来篇,有缘再介绍。

Vinfall's Geekademy

Sine īrā et studiō