桌面应用【免费下载链接】DankMaterialShellDesktop shell for wayland compositors built with Quickshell GO, optimized for niri, hyprland, sway, MangoWC, labwc, and MiracleWM.项目地址https://gitcode.com/gh_mirrors/da/DankMaterialShell点击查看免费下载本文以 distro/void/README.md 为核心骨架结合srcpkgs/dms/template、srcpkgs/dms-git/template以及 core/Makefile 等仓库资源系统讲解 DankMaterialShell 在 Void Linux 上的 XBPS 打包、自托管仓库安装、依赖关系、源码构建与无 greeter 环境下的运行配置。读完本文你将掌握如何配置 Void Linux 软件源、安装 stable 或 git 变体、从 void-packages 源码构建以及在 niri / Hyprland / mango 等合成器compositor上以用户态方式启动 DMS。一、仓库背景DMS 的 Void Linux 打包现状DankMaterialShellDMS是一个基于 Quickshell 与 Go 构建的 Wayland 桌面外壳针对 niri、Hyprland、sway、MangoWC、labwc 与 MiracleWM 等合成器做了优化。在 Void Linux 上DMS 的官方 XBPS 模板目前维护在仓库的distro/void/srcpkgs/目录中包含两个模板包名源码仓库模板位置dmsDankMaterialShelldistro/void/srcpkgs/dms/templatedgopAvengeMedia/dgop由danklinux仓库维护distro/void/srcpkgs/dgopdanksearchAvengeMedia/danksearch由danklinux仓库维护distro/void/srcpkgs/danksearch其中dgop与danksearch的模板并不在本仓库内而是随 DMS 生态在 danklinux 仓库中维护本仓库模板中的依赖声明dependsquickshell accountsservice dgop matugen dbus elogind mesa-dri则直接引用了dgop印证了“dms 需要 dgop 才能构建”的依赖链。需要特别说明的是这些包目前是 DMS 社区为 Void Linux 维护的过渡方案目的是在 DMS 相关包被正式合并进 Void Linux 官方仓库之前让 Void 用户能够通过自托管的 XBPS 仓库安装使用。所有包均从源码构建模板中build_stylego、build_wrksrccore即指明以core/为 Go 构建工作目录。二、添加自托管 XBPS 仓库DistributionDMS 的 Void 包托管在 Cloudflare R2 的void.danklinux.com上提供stable 发布版与git/nightly 开发版两类包。仓库迁移提示文档明确指出此前基于 GitHub Pages 的avengemedia.github.io仓库将在切换时被冻结 14 天后退役。如果你曾经配置过旧的avengemedia.github.io源请务必用下面的新 URL 替换。步骤 1写入仓库配置文件在/etc/xbps.d/下创建指向 DMS 仓库的配置文件stable 与 git 变体都需要这两行echo repositoryhttps://void.danklinux.com/dms/current | sudo tee /etc/xbps.d/dms.conf echo repositoryhttps://void.danklinux.com/danklinux/current | sudo tee /etc/xbps.d/danklinux.confdms.conf指向 DMS 主包仓库danklinux.conf指向 danklinux 生态包如dgop、danksearch的仓库。步骤 2同步并安装 DMSstable 变体sudo xbps-install -S dmsgit/nightly 变体该包会与 stable 包冲突并将其替换sudo xbps-install -S dms-git首次同步注意事项第一次执行xbps-install时xbps 会输出 DMS 仓库的签名密钥指纹并要求输入y以信任并导入该密钥。请务必核对指纹与官方发布渠道公布的签名指纹一致后再确认。模板是唯一事实来源自托管仓库由模板驱动构建因此distro/void/srcpkgs/下的模板是事实来源source of truth如果你想在自己的 void-packages 检出中构建或提交这些包需要将每个模板复制到srcpkgs/pkg/template位置。三、依赖关系必装与可选功能包安装dms会自动拉取以下必需依赖定义于 distro/void/srcpkgs/dms/template 的depends字段依赖包作用quickshellDMS 的 QML 运行时与外壳载体accountsservice用户账户信息服务会话 / 用户管理dgopDMS 生态的 Go 守护进程/工具链matugen驱动 Material You 主题配色生成dbus系统与会话总线基础elogind登录会话管理电源菜单等动作依赖mesa-driGL 驱动合成器渲染所必需其余功能均为可选按需安装即可可选包启用的功能danksearch启动器 / 文件系统搜索cava音频可视化小组件qt6-multimedia系统声音反馈qt6ctQt 应用主题化power-profiles-daemon电源模式控制cups-pk-helper打印机管理NetworkManager网络控制niri/hyprland/swayWayland 合成器niri 是团队首选注意dms-git模板的依赖声明为quickshell accountsservice matugen dbus elogind见 distro/void/srcpkgs/dms-git/template与 stable 模板相比少了dgop与mesa-dri并且通过conflictsdms、providesdms-${version}_${revision}声明了与 stable 包的冲突与替换关系。四、从 void-packages 源码构建与测试Building testing若要在本地构建例如在 Void 上打测试包先在 void-packages 检出中通过符号链接或复制放入srcpkgs/pkg目录# 先构建依赖包dms 依赖 dgop ./xbps-src pkg dgop ./xbps-src pkg danksearch ./xbps-src pkg dms # 语法检查xlint 随 xtools 包分发 xlint srcpkgs/dms/template # 安装构建出的包 sudo xbps-install --repositoryhostdir/binpkgs dms dgop模板的关键构建细节从 distro/void/srcpkgs/dms/template 可以提炼出几个对自建/排查有重要价值的细节构建风格build_stylego、build_wrksrccore、go_import_pathgithub.com/AvengeMedia/DankMaterialShell/core、go_package${go_import_path}/cmd/dms即以仓库根core/为工作目录构建cmd/dms主程序。构建标签go_build_tagsdistro_binary withshell。这两个标签对应源码中的条件编译distro_binary剔除应用内自更新命令commands_features.go以//go:build !distro_binary排除特性命令main_distro.go以//go:build distro_binary提供精简版入口并会拒绝以 root 运行withshell将 Quickshell UI 嵌入二进制core/internal/shellembed/embed_withshell.go 通过go:embed all:dist嵌入dist目录。未嵌入 UI 的二进制将没有界面——这正是模板注释强调“无 UI”风险的原因。版本注入go_ldflags-X main.Version${version}将包版本注入二进制。pre_build 阶段执行make sync-shell把仓库quickshell/树打包进core/internal/shellembed/dist详见 core/Makefile 的sync-shell目标它会剔除测试、Git 元数据、编辑器目录等并生成.dankrev修订标识。post_install 阶段安装 3 个 desktop entry 与 SVG 图标dms-open.desktop、com.danklinux.dms.desktop、com.danklinux.dms.notepad.desktop、com.danklinux.dms.svg均来自仓库 assets/ 目录并在非交叉编译时用刚构建的二进制生成 bash/zsh/fish 三套 shell 补全最后安装 LICENSE。Go 版本要求dms需要构建环境中的Go ≥ 1.26由 core/go.mod 的go 1.26.5声明。CI 驱动dms-git模板由 CI 独占构建CI 会临时放置源码压缩包并动态改写 version/checksum/distfiles 后再调用 xbps-src模板中的 checksum 为占位符badbad...不要手动构建 dms-git。五、运行外壳用户态启动与无 greeter 场景DMS 是一个用户级 Wayland 外壳不提供系统服务应从合成器的自启动autostart中启动niri编辑 niri 配置spawn-at-startup dms runHyprlandexec-once dms run在 Void 上从 TTY 启动无 greeter 场景先通过 D-Bus 会话再启动合成器避免缺少总线导致外壳服务异常dbus-run-session niri dbus-run-session Hyprland dbus-run-session mangomango命令由mangowc包提供。从源码看dms run经由 core/cmd/dms/shellapp.go 的shellapp框架执行启动时bootBackend会先清理历史 Hyprland 残留配置文件并启动 Unix socket 后端服务server.New()srv.Serve随后preLaunch打印 ASCII 标识并预热字体缓存dmsExtraEnv还会注入DMS_EXECUTABLE、QSG_USE_SIMPLE_ANIMATION_DRIVER1、MALLOC_CONFthp:never,narenas:4,dirty_decay_ms:3000与 EGL 厂商环境变量以保证 QML 渲染与内存分配行为稳定。root 运行时main_distro.go会直接报错退出“This program should not be run as root”这也是用户态运行的重要原因之一。runit 系统上的电源菜单前置条件在 Void 的 runit 初始化系统下若要让电源菜单动作正常工作需要确保系统 D-Bus 与 elogind 服务已启用sudo ln -sf /etc/sv/dbus /var/service/dbus sudo ln -sf /etc/sv/elogind /var/service/eloginddankinstall的 Void 安装路径在装完包后会自动启用这两个服务。六、小结安装/etc/xbps.d/写入两个repository配置 →sudo xbps-install -S dms或dms-git依赖dms自动拉取quickshell、accountsservice、dgop、matugen、dbus、elogind、mesa-dri其余功能按需选装构建模板以distro_binary withshell标签、Go 1.26 环境从core/构建pre_build需make sync-shell嵌入 QML UI运行无系统服务dms run随合成器自启动TTY 下先dbus-run-sessionrunit 下启用 dbus/elogind 服务后电源菜单才能工作。相关资源distro/void/README.md本文依据、distro/void/srcpkgs/dms/template、distro/void/srcpkgs/dms-git/template、core/Makefile、core/cmd/dms/shellapp.go。赞分享桌面应用【免费下载链接】DankMaterialShellDesktop shell for wayland compositors built with Quickshell GO, optimized for niri, hyprland, sway, MangoWC, labwc, and MiracleWM.项目地址https://gitcode.com/gh_mirrors/da/DankMaterialShell点击查看免费下载相关推荐Outline Wiki 自托管安装与配置指南Outline Wiki 自托管安装与配置指南 1. 项目基础介绍和主要编程语言 项目基础介绍 Outline Wiki 是一个开源的团队知识管理工具旨在帮助Convex 自托管版 Dashboard 本地运行与配置指南Convex 自托管版 Dashboard 本地运行与配置指南 导读 在自托管 Convex 的完整部署中除后端backend与你的前端应用外还需要一个数据库后端《自托管AI套件安装与配置指南》《自托管AI套件安装与配置指南》 1. 项目基础介绍 本项目是一个开源的自托管AI套件它提供了一个基于Docker的模板可以快速搭建一个功能完备的本地AI和人工智能本地部署低代码后端上一篇百度ERNIE 4.5大模型技术突破多模态协同与高效部署双引擎驱动AI产业升级下一篇Qwen-Image LightningComfyUI八步提速方案重新定义AI图像生成效率创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
Mumble 网络协议深度解析:TCP 控制通道与 UDP 语音通道的通信机制全解 音视频即时通讯 【免费下载链接】mumble Mumble is an open-source, low-latency, high quality voice chat software. 项目地址: https://gitcode.com/gh_mirrors/mu/mumble 点击查看 免费下载 Mumble 是一款开源、低延迟、高质量语音聊天软件,其客户端… · 2026/9/26 2:35:15
GR00T-WholeBodyControl数据采集教程:从VR遥操作到LeRobot数据集的完整路径 GR00T-WholeBodyControl数据采集教程:从VR遥操作到LeRobot数据集的完整路径 【免费下载链接】GR00T-WholeBodyControl Welcome to GR00T Whole-Body Control (WBC)! This is a unified platform for developing and deploying advanced humanoid controllers. This … · 2026/9/26 3:10:39
Univer在线表格引擎:从Canvas渲染到协同编辑的开源实践指南 1. 先认识Univer:一个能嵌入自家产品的在线表格引擎做前端这几年,有个需求被提过无数遍:项目里需要一张“像Excel一样的表格”,用户要能点、能拖、能算,最好还能多个人一起编辑。过去一听到这种需求,我的第… · 2026/9/26 3:10:39
AI编程工作流进阶:用Claude Code模板体系固化高效提示词与自动化实践 1. 为什么我会盯上 claude-code-templates 这个项目先说个背景。我用 Claude Code 写了不少东西,从脚本到小工具都有。用得越久越发现一个问题:每次开新会话,把同样的系统提示词、工具配置、交互习惯重新敲一遍,实在太烦了。更糟的… · 2026/9/26 3:10:39
Git本地部署与常用指令#1 一、Git下载与安装
Git - Install for Windows
在Git官网中下载与自己系统版本相符的安装包安装即可。 一路默认选项到Install安装之后,打开Git Bash,如图: 即安装完成。
二、本地账户配置及创建仓库
在GitBash中配置本地用户信息&#x… · 2026/9/26 3:10:32
nvm 管理 Node.js 多版本实战指南:Windows/macOS 全流程配置与避坑 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 3:10:26
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46