首页 / 资讯中心 / 文章详情

在 Slackware 上安装 Qtile:SlackBuild 包、slpkg 与手动依赖安装指南

在 Slackware 上安装 Qtile:SlackBuild 包、slpkg 与手动依赖安装指南 ★ FEATURED ARTICLE
桌面应用操作系统【免费下载链接】qtile:cookie: A full-featured, hackable tiling window manager written and configured in Python (X11 Wayland)项目地址https://gitcode.com/gh_mirrors/qt/qtile点击查看免费下载本文以 Qtile 官方文档中的 Slackware 安装指南docs/manual/install/slackware.rst为骨架系统讲解在 Slackware 发行版上安装这一款纯 Python 编写的平铺窗口管理器的三种可行路径官方 SlackBuild 包、slpkg 第三方包管理器一键安装、以及手动逐依赖编译安装。读完本文你将清楚掌握 Qtile 在 Slackware 上的完整依赖链条、安装命令与安装后的启动配置方式并能理解每个依赖在 Qtile 运行时体系中的实际作用。Qtile 与 Slackware纯 Python 平铺窗口管理器的组合Qtile 是一个功能完整、可高度定制的平铺窗口管理器完全用 Python 编写与配置见 README.rst既可运行于 X11 环境也可作为 Wayland 合成器运行。其核心特性包括简单小巧且易于扩展可自行编写布局、控件与命令、完全使用 Python 配置文件、内置命令 shell 支持对所有状态的管理与检视、以及完整的远程脚本能力。对于 Slackware 这类强调精简、手工、透明的发行版而言Qtile 的纯 Python 实现与 SlackBuilds 社区从源码构建的理念天然契合——你不需要庞大的桌面环境只需按序安装若干 Python 依赖即可获得一个完全由自己掌控的平铺桌面。官方文档正是为此准备了专门的 Slackware 安装章节并提供稳定的 SlackBuild 包供社区使用。官方 SlackBuild稳定分支的 qtile 包Qtile 官方文档明确指出Qtile 已收录于 SlackBuilds.org 仓库以qtile包名提供包名说明qtilestable branch稳定发行版/正式发布版本这意味着 Slackware 用户可以依托 SlackBuilds.org 成熟、可复现的构建流程获得 Qtile 的稳定版本而无需手工从源码折腾依赖顺序。SlackBuild 脚本的常规使用流程是从 SlackBuilds.org 下载对应源码包与构建脚本以 root 身份执行./qtile.SlackBuild脚本会自动下载源码、应用补丁并调用 makepkg 生成.txz安装包最后通过 installpkg 安装。若你倾向于完全手动掌控则可以跳过该途径直接按下文手动安装一节逐依赖构建。方式一使用 slpkg 第三方包管理器一键安装官方文档推荐的最便捷方式是使用 slpkg——一个第三方的 Slackware 包管理器。它能够整合 SlackBuilds.orgSBO等源自动解析并安装依赖免去手工逐一构建的麻烦。安装 Qtile 只需一条命令slpkg -s sbo qtile其中-s指定软件源sbo即 SlackBuilds.org 仓库qtile是要安装的包名即上表所列的稳定分支包。slpkg 会读取 qtile 的 SlackBuild 依赖声明按正确的顺序pycparser → cffi → futures → python-xcffib → trollius → cairocffi → qtile详见下文依次构建并安装整个过程自动化完成。这是官方文档认可的easy way简易方式适合希望开箱即用、不想手工维护依赖链的 Slackware 用户。方式二手动安装——按序构建依赖链如果偏好 Slackware 传统的手工构建风格官方文档提供了明确的依赖安装顺序。请先下载全部依赖的 SlackBuild 并依次安装顺序不可颠倒pycparsercffifuturespython-xcffibtrolliuscairocffiqtile这条依赖链的次序不是随意的每一步都为下一步提供构建或运行基础。结合当前仓库的源码与构建元数据可以更深入地理解每一环的意义pycparser纯 Python 编写的 C 语言解析器是 cffi 解析 C 头文件时的底层依赖因此必须最先安装。cffiPython 的 C 外部函数接口库是 Qtile 的核心运行时依赖。从 pyproject.toml 的项目声明可见Qtile 的运行时依赖明确包含cffi 1.1.0在官方安装总览docs/manual/install/index.rst中cffi 的用途被标注为Bars and popups状态栏与弹窗因为 Qtile 需要借助 cffi 绑定底层 C 库来完成绘制与交互。futuresconcurrent.futures标准库在旧版 Python2.x 时代下的 backport 包。它是 SlackBuilds.org 14.2 时代构建脚本为兼容当时环境而保留的历史依赖当前 Qtile 已要求requires-python 3.12见 pyproject.toml新安装时请以 SlackBuilds.org 上最新构建脚本的实际依赖清单为准。python-xcffibXCBX C Binding的 Python 绑定是 QtileX11 后端的必要依赖。这一点在源码中有直接印证后端注册表 libqtile/backend/init.py 中CORES声明为{wayland: (), x11: (xcffib,)}即只有 X11 后端要求 xcffib 存在pyproject.toml 同样列出xcffib 1.4.0。trolliusasyncio 在 Python 2 时代的 backport 包与 futures 同属历史依赖用于补足旧版 Python 的异步能力。当前版本基于 Python 3.12 的原生 asyncio安装新构建脚本时通常不再需要。cairocfficairo 图形库的 Python 绑定基于 cffi负责在状态栏bar与弹窗popup上进行实际绘制。官方依赖表将其用途标注为Drawing on bars and popups与 pyproject.toml 中cairocffi 1.7.0的声明一致。qtile最后的安装对象在上述依赖全部就位后方可构建。该顺序是官方文档明确给出的安装次序任何一步跳级都可能导致后续包的编译或运行失败。关于 SlackBuild 构建脚本的具体写法与打包规范可参考 SlackBuilds.org 官方提供的《SlackBuild Usage HOWTO》。安装后的启动与配置依赖与 Qtile 本体安装完成后还需要完成启动接入才能让平铺窗口管理器接管会话。qtile 命令入口与子命令Qtile 通过统一的qtile命令行入口启动其子命令在 libqtile/scripts/main.py 中注册包括start、shell、top、run_cmd、cmd_obj、check、migrate、launch、repl、x11_identify_output与help。日常最常用的就是qtile start。qtile start支持的常用参数见 libqtile/scripts/start.py包括-c / --config指定配置文件路径默认按XDG_CONFIG_HOME规则查找-d / --use-default-config使用 Qtile 内置的默认配置仓库中的 libqtile/resources/default_config.py-b / --backend显式选择后端如wayland-n / --no-spawn不自动启动配置中的应用常用于重启 Qtile-s / --socket指定 IPC socket 路径--with-state加载保存的会话状态用于重启场景。无显示管理器从 .xinitrc 启动如果 Slackware 上未使用 SDDM、LightDM 等显示管理器官方推荐直接在~/.xinitrc末尾加入exec qtile start更完整的无显示管理器方案含虚拟控制台自动登录、startx 自动拉起等可参考 docs/manual/install/without-dm.rst。官方还建议在极端情况如 Qtile 会话崩溃下用循环包裹启动命令以保全运行中的应用while true; do qtile done使用登录管理器desktop 文件若通过 X 会话管理器菜单启动需在/usr/share/xsessions下放置 desktop 条目。仓库中已提供现成模板 libqtile/resources/qtile.desktopWayland 场景则使用 libqtile/resources/qtile-wayland.desktop放入/usr/share/wayland-sessions。后端自动检测与 Wayland从源码结构看Qtile 的后端选择逻辑相当直观detect_backend()libqtile/backend/init.py优先读取XDG_SESSION_TYPE环境变量值为x11或wayland否则回退检查DISPLAY环境变量存在则选 X11最终兜底为 Wayland。Slackware 用户既可以在 X11 会话中运行也可以直接运行qtile start -b wayland在 TTY 或已有图形会话中把它当作嵌套合成器使用。官方安装总览 docs/manual/install/index.rst 同时提醒Wayland 后端依赖 wlroots且部分发行版打包的 wlroots 版本可能过旧安装前需确认版本匹配。硬件控件权限udev 规则Qtile 的部分控件LCD 背光、键盘背光、电池充电阈值等需要通过内核 sysfs 端点写硬件状态而这需要相应权限。仓库内置了 udev 规则文件 libqtile/resources/99-qtile.rules从源码安装的用户应将其复制到/etc/udev/rules.d/使其生效# 将仓库内 udev 规则文件复制到正确位置让 udev 加载它 cat ./libqtile/resources/99-qtile.rules | sudo tee /etc/udev/rules.d/99-qtile.rules依赖与后端原理速查综合 docs/manual/install/index.rst 的官方依赖表与 pyproject.toml 的项目声明Qtile 的核心依赖可归纳如下便于在 Slackware 手动构建时核对依赖作用官方/源码依据cffi含 pycparser绑定 C 库支撑状态栏与弹窗pyproject.toml、docs/manual/install/index.rstcairocffi在状态栏与弹窗上绘制图形pyproject.toml、docs/manual/install/index.rstxcffibpython-xcffibX11 后端与 X 服务器通信libqtile/backend/init.py、pyproject.tomllibpangocairo在状态栏与弹窗上书写文本docs/manual/install/index.rstwlroots 等Wayland 合成器支持docs/manual/install/index.rstdbus-fast可选通过 dbus 发送通知docs/manual/install/index.rst值得注意的是Qtile 可以在 X11 与 Wayland 两种后端中择一运行因此只需满足所选后端的依赖即可无需全部安装docs/manual/install/index.rst 对此有明确说明。这在 Slackware 上尤其有用——不跑 Wayland 的用户完全可以跳过 wlroots 相关的构建负担。总结在 Slackware 上安装 Qtile 有三条清晰路径直接用 SlackBuilds.org 的qtile稳定包适合严谨的 SlackBuild 流程爱好者、用slpkg -s sbo qtile一键自动化官方文档推荐的简易方式、或严格按 pycparser → cffi → futures → python-xcffib → trollius → cairocffi → qtile 的顺序手工构建适合深度掌控依赖链的用户。安装完成后通过qtile start、~/.xinitrc或 desktop 文件即可接入会话配合后端自动检测与仓库内置的 udev 规则Slackware 用户就能获得一个完全由 Python 驱动、可深度定制的平铺桌面环境。赞分享桌面应用操作系统【免费下载链接】qtile:cookie: A full-featured, hackable tiling window manager written and configured in Python (X11 Wayland)项目地址https://gitcode.com/gh_mirrors/qt/qtile点击查看免费下载相关推荐在 macOS 上从源码构建 Rnote依赖安装、Meson 编译与安装全指南在 macOS 上从源码构建 Rnote依赖安装、Meson 编译与安装全指南 本篇技术指南以仓库中的 misc/building/rnote macos b桌面应用图形学Pwndbg插件依赖安装指南依赖安装步骤还在为GDB调试时功能匮乏而烦恼吗Pwndbg让你的调试体验焕然一新本文将手把手教你完成Pwndbg插件的依赖安装让你轻松享受专业的调试和逆向工程环境。逆向工程调试器应用安全开发工具sf包在Ubuntu系统上的安装依赖问题解析sf包在Ubuntu系统上的安装依赖问题解析 背景介绍 sf是R语言中处理空间数据的重要扩展包它提供了简单特征Simple Features标准的实现是上一篇如何使用Narou.rb让Kindle阅读小说更便捷的完整指南下一篇Dropplets 项目常见问题解决方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站