Omarchy 浏览器管理完全指南:默认浏览器、Chromium 家族扩展与 Firefox/Zen 的 Wayland 策略
2026/9/9 19:52:14 网站建设 项目流程

Omarchy 浏览器管理完全指南:默认浏览器、Chromium 家族扩展与 Firefox/Zen 的 Wayland 策略

【免费下载链接】omarchyBeautiful, Modern & Opinionated Linux项目地址: https://gitcode.com/GitHub_Trending/om/omarchy

Omarchy 以开源的 Chromium 作为系统默认浏览器,并在菜单中提供一套完整的浏览器生命周期管理能力(安装、设默认、应用主题、移除)。本文基于 manual/23-browsers.md 及仓库内对应脚本与配置源码,带你掌握 Omarchy 浏览器体系:Chromium 家族(Chromium/Chrome/Edge/Brave)如何借助 Copy URL、Download Video 原生扩展打通浏览器与桌面,Firefox/Zen 如何获得 Wayland 原生渲染与硬件加速策略,以及如何在终端用一行命令完成默认浏览器切换。

适用前提:本文描述的行为基于当前仓库源码,面向 Omarchy(Arch Linux 系、Hyprland + Quickshell 桌面)环境。文中涉及的命令与目录(如/etc/chromium/policies/managed~/.config/environment.d)为安装脚本执行时的实际落点。

Omarchy 的浏览器定位:Chromium 为基座

在 Omarchy 中,Chromium 不只是"一个浏览器",而是整个桌面中"打开链接"这一语义的统一落点:

  • 它是 安装时配置 的基础组件,属于 base 系统的一部分,无法被当作可选浏览器移除;
  • Super + Shift + Return快捷方式打开的就是它(相关启动逻辑见 bin/omarchy-launch-browser,对应窗口规则见 default/hypr/apps/browser.lua);
  • 每一个 Web App(如 manual/25-web-apps.md 所述)也都跑在 Chromium 内部。

它是一个纯开源的构建版本,且会被 Omarchy 主题化——通过下发的浏览器机器策略(managed policy)写入主题色,让浏览器外观与系统其余部分保持一致。主题刷新的实现细节可继续阅读 theming.md 与 theme-system.sh。

安装一个浏览器:Install > Browser

如果 Chromium 不合口味,Omarchy 不会把你困在其中。在 Omarchy 菜单的Install > Browser下可以看到:Chrome、Edge、Brave、Brave Origin、Firefox、Zen。选择一个后,Omarchy 会完成三步工作:

  1. 安装对应软件包;
  2. 为它建立策略目录(Chromium 家族是managed机器策略,Firefox/Zen 是distribution/policies.json);
  3. 把当前主题应用到该浏览器上。

安装动作的真正执行者是 bin/omarchy-install-browser,按参数分发到不同分支,下表总结了各浏览器的安装细节:

参数软件包来源策略目录启动参数文件(flags)
chromium官方仓库chromium/etc/chromium/policies/managed~/.config/chromium-flags.conf
chromeAURgoogle-chrome/etc/opt/chrome/policies/managed~/.config/chrome-flags.conf
edgeAURmicrosoft-edge-stable-bin/etc/opt/edge/policies/managed~/.config/microsoft-edge-stable-flags.conf
braveAURbrave-bin/etc/brave/policies/managed~/.config/brave-flags.conf
brave-originAURbrave-origin-bin/etc/brave/policies/managed~/.config/brave-origin-flags.conf
firefox官方仓库firefox/usr/lib/firefox/distribution无(走 environment.d)
zenAURzen-browser-bin/opt/zen-browser/distribution无(走 environment.d)

从实现上看(bin/omarchy-install-browser):

  • Chromium 家族统一走copy_chromium_flags:把仓库预置的 config/chromium-flags.conf 复制到用户的~/.config/<browser>-flags.conf,随后调用omarchy-install-chromium-copy-urlomarchy-install-chromium-ytdlp安装两个原生扩展(下文详述);
  • Firefox/Zen 走setup_firefox_wayland:向~/.config/environment.d/omarchy-firefox-wayland.conf写入MOZ_ENABLE_WAYLAND=1,强制以原生 Wayland 模式启动,这对分数缩放(fractional scaling)和平滑触控板滚动至关重要;
  • 每个 Chromium 家族安装完成后都会调用omarchy-theme-set-browser立刻应用当前主题。

值得强调的是上表中的机器策略目录。在 Omarchy 中,Chromium 家族的 managed policy 是"每个 profile 都必须存在"的强约束,其目录的创建不是简单的mkdir,而是经过精心加固的流程,见 install/helpers/browser-policy.sh:

  • 目录固定为0755 root:root,可写的、非 root 拥有的父目录会被重建(browser_policy_setup_parent);
  • 目录内非 root 拥有的文件会被清理(browser_policy_purge_dir),防止被植入的符号链接或文件干扰策略解析;
  • 主题色通过特权写入工具omarchy-theme-set-browser-policy写为color.json(配合 etc/sudoers.d/omarchy-theme-browser 的 sudoers 规则),内容形如{"BrowserThemeColor": "<hex>", "BrowserColorScheme": "device"},其中 hex 会经browser_policy_theme_hex校验,只接受三段 0-255 的 RGB,否则回退到默认色#1c2027

也就是说,用户安装的主题色永远无法让浏览器策略目录变得不可信——这是一套"主题可自由定制、策略路径必须可信"的纵深防护设计。

设默认浏览器:Setup > Defaults > Browser 与 omarchy default browser

安装一个浏览器并不会自动把它提升为默认。安装脚本的收尾提示也印证了这一点:"Make it the default via Setup > Defaults > Browser"(bin/omarchy-install-browser)。

图形化路径:Setup > Defaults > Browser,菜单只列出你实际安装过的浏览器,并在当前默认项上打勾。

终端路径则是对应命令 bin/omarchy-default-browser:

# 无参数:查询当前默认浏览器 omarchy default browser # 设置默认浏览器 omarchy default browser firefox omarchy default browser brave

核心机制是调用xdg-settings读写default-web-browser(即 XDG 默认 web 处理器):

env -u BROWSER xdg-settings get default-web-browser # 查询 env -u BROWSER xdg-settings set default-web-browser <desktop_id> # 设置

脚本内部维护了 7 个浏览器与.desktop文件、显示名、图标的映射(bin/omarchy-default-browser),例如chromium → chromium.desktopfirefox → firefox.desktopzen → zen.desktop。查询时把.desktop反向翻译回简短别名,便于阅读与复用。

两个细节值得注意:

  • 命令中刻意用env -u BROWSER排除环境变量BROWSER的干扰,保证读写始终以 XDG handler 为准;
  • 如果选中的浏览器尚未安装,脚本并不会报错退出,而是通过omarchy-default-browser --install <browser>自动触发一次安装(在浮动终端中呈现进度),安装完成后继续设置默认并发送通知"<Name> is now the default browser"(bin/omarchy-default-browser)。

因为设置的是 XDG handler,所以这影响的远不止 Omarchy 的快捷键:从聊天应用里点链接,到终端里执行的任何"打开 URL"操作,都会遵循你的选择。

Chromium 家族专属:Copy URL 与 Download Video 原生扩展

Chromium、Chrome、Edge、Brave 会附带两个由 Omarchy 提供的扩展。它们之所以能做到"网页里取视频、网页地址进系统剪贴板"这种普通扩展做不到的事,关键在原生消息主机(native messaging host)——一个由浏览器拉起、运行在你系统上的小程序。两个扩展对应的消息主机在安装浏览器时随 flags 一起部署(见 bin/omarchy-install-chromium-ytdlp:脚本会把模板 default/chromium/native-messaging-hosts/com.omarchy.ytdlp.json 中的__HOST_PATH__替换为真实路径,并同时写入 Chromium、Chrome/Beta/Unstable、Brave/Brave Origin 全系列、Edge 共十余个 profile 目录的NativeMessagingHosts/下)。

浏览器侧的 flags 也一并确认了扩展的加载方式:config/chromium-flags.conf 中--load-extension=指向/usr/share/omarchy/default/chromium/extensions/下的copy-urlyt-dlpwhatsapp-slim(后者是 Web App 场景的辅助扩展)。

Copy URL:Alt + Shift + L快速取地址

Copy URL 用Alt + Shift + L把当前标签页地址放进系统剪贴板。它刻意绕过浏览器自身剪贴板而走系统剪贴板,因此会触发一条 Omarchy 桌面通知确认操作成功,且该 URL 立刻进入统一剪贴板历史(见 manual/08-unified-clipboard-history.md),可以在任何应用里继续粘贴。工具栏也保留了按钮,供偏好点击的用户使用。

其行为有测试兜底,见 test/shell.d/chromium-copy-url-test.sh。

Download Video:Alt + Shift + D抓取页面视频

Download Video 用Alt + Shift + D抓取当前页面正在播放的视频。它把 URL 交给yt-dlp,因此覆盖面远不止 YouTube。下载文件默认落在~/Videos;如需改目录,设置环境变量OMARCHY_YTDLP_DIR(关于环境变量写在哪里,参见 manual/46-faq.md)。

底层实现非常能体现 Omarchy 的工程风格,见 bin/omarchy-chromium-ytdlp-host:

  • 原生消息协议:主机按 native messaging 规范读取 4 字节小端长度前缀 + UTF-8 JSON,校验 URL 必须以http(s)://开头后,用setsid -f把下载任务完全脱离浏览器进程去执行,让扩展回调能立即干净地 resolve(bin/omarchy-chromium-ytdlp-host);
  • 先模拟后实下:先用yt-dlp --simulate确认页面上确有可下载的视频,找不到就发一条 critical 通知"No video found for download",而不是空转一次下载(bin/omarchy-chromium-ytdlp-host);
  • 进度复用 OSD:下载百分比通过omarchy-osd驱动屏幕上同一条 OSD(就是音量/亮度用的那条),原地刷新而非堆积通知;实现还做了约 4 次/秒的重绘节流,避免快速下载时进程风暴(bin/omarchy-chromium-ytdlp-host);
  • 成功后的收尾:只有after_move真正打印了文件路径才算成功;随后用ffmpeg截取中心裁剪的 256×256 缩略图作为通知预览,通知带--exec mpv点击即播,且文件名与标题都经过防注入校验(拒绝控制字符、拒绝-开头的"参数伪装"、强制落在下载目录内),详细逻辑见 bin/omarchy-chromium-ytdlp-host。

整条链路有系统测试覆盖,见 test/shell.d/chromium-ytdlp-test.sh。

局限:这两套扩展仅限 Chromium 家族。Firefox 与 Zen 不提供。

Firefox 与 Zen:不同的家族,不同的待遇

Firefox 和 Zen 属于 Gecko 家族,Omarchy 对它们采用另一套处理方式(bin/omarchy-install-browser):

  1. 写入 policies 文件以启用合理默认值。安装脚本把仓库预置的 default/firefox/policies.json 以0644 root:root安装进各自的distribution目录,内容包含:
    • apz.overscroll.enabled: true—— 启用触控板/滚轮弹性回弹的过滚动反馈;
    • media.ffmpeg.vaapi.enabled: truemedia.hardware-video-decoding.force-enabled: true—— 开启 VA-API 硬件视频解码(对 X11/合成器的省电解码很重要);
    • widget.disable-swipe-tracker: false—— 保留 Wayland 手势滑动的惯性追踪;
    • widget.wayland.fractional-scale.enabled: true—— 开启 Wayland 分数缩放支持。
  2. 切换原生 Wayland 模式:向~/.config/environment.d/写入MOZ_ENABLE_WAYLAND=1,这在分数缩放显示器与触控板平滑滚动场景下是刚需(Firefox 的 XWayland 模式在这些场景表现不佳)。
  3. 不做的事:不给它们安装上述 Chromium 扩展,也不对其做 Omarchy 主题化——这两块体验留给你自行配置。

策略文件的加固同样不放松:browser_policy_setup_firefox_distribution会先加固 distribution 目录,再写入 policies.json,并拒绝 group/other 可写的策略文件(install/helpers/browser-policy.sh)。

另外在 Hyprland 的窗口管理层面,浏览器家族是被显式区分的:default/hypr/apps/browser.lua 用正则把 Chromium 系(chromium/chrome/brave-browser/microsoft-edge/Vivaldi 等)打上chromium-based-browser标签、Firefox 系(firefox/zen/librewolf)打上firefox-based-browser标签,并给二者应用一致的窗口透明度规则(opacity 1.0 0.985,聚焦时全不透明);像 YouTube、Zoom 这类视频窗口还会被摘掉该标签,避免透明叠加干扰观影与视频会议。

移除浏览器:Remove > Browser

前面安装的一切都可以在Remove > Browser下撤销——对应脚本 bin/omarchy-remove-browser 负责卸载软件包与清理配套文件。唯一例外是Chromium:它属于 base 系统的一部分,不会出现在移除列表中,也不应被当作可选项卸载。

移除后若浏览器仍是 XDG 默认 handler,记得重新到Setup > Defaults > Browser或使用omarchy default browser指定一个新的默认浏览器,让系统里的"打开链接"行为保持指向一个真实存在的程序。

小结

能力Chromium / Chrome / Edge / BraveFirefox / Zen
Omarchy 主题化是(managed policy 写入BrowserThemeColor
Copy URL / Download Video 扩展是(通过原生消息主机)
默认策略文件无(仅主题色 policy)是(default/firefox/policies.json)
原生 Wayland 切换由启动参数--ozone-platform=wayland保证MOZ_ENABLE_WAYLAND=1写入 environment.d
能否从Remove > Browser移除除 Chromium 外均可

这套设计的核心权衡清晰:Chromium 家族获得深度系统集成(主题、剪贴板、yt-dlp、OSD 进度),代价是策略路径的严格加固;Firefox/Zen 则退一步,只保证 Wayland 原生渲染与开箱即用的播放/滚动体验,把集成深度交给用户决定。无论选哪条路,Omarchy 都保证"安装 → 设默认 →(可选)移除"整条生命周期在菜单与终端中一致、可审计。

【免费下载链接】omarchyBeautiful, Modern & Opinionated Linux项目地址: https://gitcode.com/GitHub_Trending/om/omarchy

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询