- 桌面应用
【免费下载链接】QOwnNotes
QOwnNotes is a plain-text file notepad and todo-list manager with Markdown support and Nextcloud / ownCloud integration.
本文面向 Arch Linux(含 Manjaro 等衍生发行版)用户,系统讲解 QOwnNotes 纯文本 Markdown 笔记与任务管理工具的两种官方安装路径:通过 AUR 包qownnotes安装,以及通过 openSUSE Build Service(OBS)维护的Arch_Extrapacman 仓库安装。读完本文,你将掌握仓库配置、GPG 密钥信任、安装命令以及Could not write secret to keychain报错的完整解决方案。
QOwnNotes 简介与 Arch 安装背景
QOwnNotes 是一款开源(GPL)的纯文本 Markdown 笔记与待办事项管理器,支持 GNU/Linux、macOS 与 Windows,可配合 Nextcloud / ownCloud 的 Notes 与文件同步功能使用(详见 README.md 与 obs/qownnotes.appdata.xml)。其笔记以纯文本 Markdown 文件存储,同步由 Nextcloud / ownCloud 的文件同步机制完成。
对 Arch Linux 用户而言,QOwnNotes 官方维护了两条安装渠道,各有利弊:
| 安装方式 | 优点 | 注意事项 |
|---|---|---|
AUR(qownnotes包) | 由官方在 AUR 发布,yay一步完成 | 需要 AUR helper,构建耗时取决于机器性能 |
| OBS pacman 仓库 | 官方预编译二进制包,pacman原生安装 | 需手工添加仓库并信任其 GPG 密钥 |
两条渠道均被官方文档(webpage/src/nl/installation/arch.md)列为标准安装方式。
方式一:通过 AUR 安装 qownnotes
AUR(Arch User Repository)是 Arch 社区软件仓库。QOwnNotes 官方在 AUR 上维护了名为qownnotes的包,这是官方文档明确推荐的渠道之一。
安装前提:系统已安装 AUR helper(如yay)以及base-devel构建工具组。
同步软件包数据库并安装:
yay -S qownnotesyay会从 AUR 拉取 PKGBUILD,解析依赖后编译安装。若你的环境尚未安装yay,需先通过sudo pacman -S --needed base-devel git准备工具链,再手动安装yay。
加速 AUR 构建的小技巧
::: tip AUR 包每次更新都需要重新编译,若想缩短构建时间,可配置 CCACHE 缓存编译产物(官方文档专门提及了 "CCACHE 与 AUR" 的组合技巧)。在/etc/makepkg.conf中启用ccache后,重复构建同一源码树时能显著减少重编译开销。 :::
方式二:通过 OBS pacman 仓库安装(预编译包)
QOwnNotes 的 Linux 发行版打包工作依托 openSUSE Build Service(OBS)完成。仓库中 obs/ 目录即存放了官方打包配置:obs/qownnotes.spec(RPM 规范文件)、obs/appimage.yml(AppImage 构建描述)与 obs/_service(OBS 服务配置)。官方针对 Arch 提供了Arch_Extra仓库,内含预编译好的 x86_64 二进制包。
第一步:添加仓库到 pacman 配置
编辑/etc/pacman.conf(官方文档使用sudo nano /etc/pacman.conf),追加以下内容:
[home_pbek_QOwnNotes_Arch_Extra] SigLevel = Optional TrustAll Server = http://download.opensuse.org/repositories/home:/pbek:/QOwnNotes/Arch_Extra/$arch参数说明:
[home_pbek_QOwnNotes_Arch_Extra]:仓库名,对应 OBS 上home:pbek:QOwnNotes项目的Arch_Extra发布仓库;SigLevel = Optional TrustAll:允许在信任密钥前即接受该仓库的软件包签名(后续步骤会正式信任仓库密钥);Server:仓库地址,$arch会被 pacman 自动替换为x86_64等当前架构值。
第二步:信任仓库的 GPG 密钥
添加仓库后,执行以下两条命令下载并本地签署 OBS 项目的发布密钥:
wget http://download.opensuse.org/repositories/home:/pbek:/QOwnNotes/Arch_Extra/x86_64/home_pbek_QOwnNotes_Arch_Extra.key -O - | sudo pacman-key --add - sudo pacman-key --lsign-key F2205FB121DF142B31450865A3BA514562A835DB第一条命令将 OBS 的密钥文件导入 pacman 密钥环;第二条命令以F2205FB121DF142B31450865A3BA514562A835DB这个密钥 ID 对密钥做本地签署,使其获得本地信任。
密钥签署失败时的排查方法
若第二条命令报错,例如出现:
ERROR: FFC43FC94539B8B0 could not be locally signed.说明本地签署的密钥 ID 与实际下载到的密钥不符(密钥可能已轮换更新)。此时先查看已下载密钥文件的真实keyid:
gpg /path/to/downloaded/home_pbek_QOwnNotes_Arch_Extra.key gpg: WARNING: no command supplied. Trying to guess what you mean ... pub rsa2048 2019-07-31 [SC] [expires: 2021-10-10] F2205FB121DF142B31450865A3BA514562A835DB uid home:pbek OBS Project <home:pbek@build.opensuse.org>以gpg输出中pub行下方的主密钥指纹(即真实的keyid)替换--lsign-key参数重新执行本地签署即可。签名者信息home:pbek OBS Project <home:pbek@build.opensuse.org>可用于核对密钥来源。
第三步:同步数据库并安装
sudo pacman -Syy qownnotes-Syy会强制刷新所有软件源数据库(首次添加新仓库时必须),随后从新仓库安装qownnotes。
直接下载安装包
如果不想配置仓库,也可以直接从 OBS 的Arch_Extra目录下载.pkg.tar.zst安装包,再用sudo pacman -U <文件>本地安装。
Manjaro 等衍生发行版兼容性
::: tip 该 OBS 仓库同样适用于其他基于 Arch 的发行版,如 Manjaro。Arch_Extra遵循 Arch 包规范,Manjaro 直接添加同一仓库配置即可使用。 :::
安装后的验证与运行
安装完成后,在终端执行QOwnNotes即可启动(与其他发行版保持一致,详见 webpage/src/nl/installation/README.md)。可用pacman -Q qownnotes查询已安装版本。
打包依赖一览(源码佐证)
官方打包配置揭示了 QOwnNotes 在 Linux 上的运行时/构建依赖,可用于排查安装后的缺库问题:
- obs/qownnotes.spec 显示 RPM 包需要 Qt5 的 Svg、Qml、Core、Concurrent、WebSockets、X11Extras 等模块,以及
libsecret-1(Linux Secret Service 的客户端库); - obs/appimage.yml 的构建依赖还包括
sqlite3(笔记索引数据库)、aspell-devel(拼写检查)、Qt5Sql、Qt5PrintSupport等模块。
这些依赖在 AUR 的qownnotesPKGBUILD 与 OBS 的Arch_Extra包中均已声明,正常情况下yay/pacman会自动解决。
常见问题:Could not write secret to keychain
首次运行 QOwnNotes 时,若日志输出:
Could not write secret to keychain说明系统缺少可用的 Secret Service 密钥环实现。QOwnNotes 使用QKeychain库将加密密钥、脚本变量等机密写入系统密钥环,写入失败时会打印该警告。
源码层面的行为解释
在 src/services/cryptoservice.cpp 中可以看到完整的密钥存储逻辑:
keychainServiceName()(第 63-76 行)使用服务名QOwnNotes(Debug 构建追加Debug后缀)访问密钥环;isKeychainAvailable()(第 408-421 行)在每次应用运行期间只探测一次系统密钥环是否可用;detectKeychainAvailability()(第 191-201 行)通过 D-Bus 检查org.freedesktop.secrets(libsecret/Secret Service)、org.kde.kwalletd6与org.kde.kwalletd5(KWallet)服务是否已注册或可被激活;writeSecret()(第 527-550 行)写入失败时输出Could not write secret to keychain;storeSecret()(第 494-506 行)在密钥环不可用时自动回退到legacyEncryptToString()(基于 SimpleCrypt 的传统加密存储),因此密钥环缺失不会导致功能不可用,但机密会以传统加密方式保存在本地设置中。
GNOME 及其他 Secret Service 桌面环境
sudo pacman -S gnome-keyring libsecret seahorsegnome-keyring:Secret Service 守护进程实现;libsecret:QKeychain 在 Linux 上加载的 Secret Service 客户端库(也是 obs/qownnotes.spec 中的BuildRequires: pkgconfig(libsecret-1));seahorse:用于查看和管理密钥环的 GUI 工具。
KDE Plasma 桌面环境
sudo pacman -S kwalletmanager kwalletkwallet提供 KWallet 守护进程(对应源码探测的org.kde.kwalletd5/org.kde.kwalletd6服务名),kwalletmanager是管理 KWallet 的图形界面。
安装完成后重启桌面会话,让新安装的 Secret Service 守护进程随桌面启动。若 QOwnNotes 仍在日志中提示 keychain 不可用,可确认对应 D-Bus 服务(org.freedesktop.secrets或org.kde.kwalletd*)是否已在会话总线上注册。
总结
在 Arch Linux 上安装 QOwnNotes 有两种官方推荐路径:追求快速、跳过编译可选 AUR 的qownnotes包;追求官方预编译包则配置 OBSArch_Extrapacman 仓库并信任其 GPG 密钥。若遇到 keychain 写入失败,按桌面环境补装gnome-keyring/kwallet等 Secret Service 实现并重启会话即可,QOwnNotes 会在此期间自动回退到传统加密存储,保证笔记数据不丢失。
- 桌面应用
【免费下载链接】QOwnNotes
QOwnNotes is a plain-text file notepad and todo-list manager with Markdown support and Nextcloud / ownCloud integration.
相关推荐
QOwnNotes 在 Arch Linux 上的安装指南:AUR 与 pacman 仓库两种方式详解
QOwnNotes 在 Arch Linux 上的安装指南:AUR 与 pacman 仓库两种方式详解 本篇技术指南完整讲解 QOwnNotes 在 Arch
桌面应用QOwnNotes 在 Arch Linux 上的安装指南:AUR 与 OBS 仓库两种方式详解
QOwnNotes 在 Arch Linux 上的安装指南:AUR 与 OBS 仓库两种方式详解 QOwnNotes 是一款以纯文本文件为基础的 Markdow
桌面应用QOwnNotes 在 Arch Linux 上的完整安装指南:AUR 包与 pacman 官方仓库两种方式
QOwnNotes 在 Arch Linux 上的完整安装指南:AUR 包与 pacman 官方仓库两种方式 本文以 QOwnNotes 官方安装文档( web
桌面应用
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考