news 2026/10/22 18:09:20

QOwnNotes 在 Arch Linux 上的安装指南:AUR 与 OBS pacman 仓库两种方式详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
QOwnNotes 在 Arch Linux 上的安装指南:AUR 与 OBS pacman 仓库两种方式详解
  • 桌面应用

【免费下载链接】QOwnNotes

QOwnNotes is a plain-text file notepad and todo-list manager with Markdown support and Nextcloud / ownCloud integration.

项目地址:https://gitcode.com/gh_mirrors/qo/QOwnNotes
点击查看免费下载

本文面向 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 qownnotes

yay会从 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 seahorse
  • gnome-keyring:Secret Service 守护进程实现;
  • libsecret:QKeychain 在 Linux 上加载的 Secret Service 客户端库(也是 obs/qownnotes.spec 中的BuildRequires: pkgconfig(libsecret-1));
  • seahorse:用于查看和管理密钥环的 GUI 工具。

KDE Plasma 桌面环境

sudo pacman -S kwalletmanager kwallet

kwallet提供 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.

项目地址:https://gitcode.com/gh_mirrors/qo/QOwnNotes
点击查看免费下载

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/22 19:38:45

TTL与CMOS逻辑门电气特性详解:电平匹配、扇出计算与混用避坑指南

1. 为什么还要聊TTL和CMOS这两老古董刚入行那会儿&#xff0c;我总觉得逻辑门这东西早就被FPGA和MCU吞掉了&#xff0c;谁还关心74系列芯片内部用的是TTL还是CMOS。直到有一次做一个工业现场的信号调理板&#xff0c;3.3V的MCU去驱动一个5V的老式继电器驱动芯片&#xff0c;死活…

作者头像 李华
网站建设 2026/10/22 21:43:05

嵌入式综合实训:从零拆解指纹开锁项目全流程

1. 从零拆解一个指纹开锁实训项目&#xff1a;它到底在练什么指纹开锁这四个字&#xff0c;第一次看到的人多半会觉得不过是个小玩具——按一下手指&#xff0c;锁就开了&#xff0c;能有多复杂&#xff1f;但真正上手做过的人心里都清楚&#xff0c;这个项目麻雀虽小&#xff…

作者头像 李华
网站建设 2026/10/21 15:43:07

Simulink 64位 REFPROP 物性调用:S-Function 封装与避坑指南

简介&#xff1a;这份资源面向需要在MATLAB/Simulink环境中进行热物性计算的工程师与研究人员&#xff0c;提供Refprop 9.1数据库与Simulink的64位集成接口&#xff0c;下载后即可在仿真模型中直接调用NIST标准热物性数据&#xff0c;免去手动查表与数据录入的繁琐。压缩包共11…

作者头像 李华
网站建设 2026/10/22 15:52:42

JavaScript汉字拆分:按Unicode字素簇安全切分中文文本

简介&#xff1a;这是一份面向前端开发者与汉字信息处理学习者的JavaScript汉字结构拆分工具代码&#xff0c;解决汉字部首与部件级解析需求&#xff0c;适用于汉字教学工具开发、输入法逻辑实现及搜索引擎关键词扩展等场景。资源为单文件Word文档&#xff08;.doc&#xff09;…

作者头像 李华