QOwnNotes 命令行参数(CLI)完全指南:便携模式、会话隔离、设置转储与启动动作
桌面应用【免费下载链接】QOwnNotesQOwnNotes is a plain-text file notepad and todo-list manager with Markdown support and Nextcloud / ownCloud integration.项目地址https://gitcode.com/gh_mirrors/qo/QOwnNotes点击查看免费下载QOwnNotes 是一款纯文本笔记与待办事项管理器支持 Markdown 与 Nextcloud / ownCloud 同步。除了图形界面操作它还提供了一整套命令行界面CLI参数让你可以从终端精确控制应用行为以便携模式启动、隔离调试环境、将诊断信息一键复制到剪贴板、解密加密笔记甚至在启动后自动触发某个菜单动作或脚本自定义动作。读完本文你将掌握每个参数的用法、底层实现原理以及在不同操作系统上的调用方式并能把这些参数组合成适合自己工作流的启动命令。CLI 参数总览以下是 QOwnNotes 支持的全部命令行参数。它们由 src/main.cpp 中的mainStartupMisc()函数通过 Qt 的QCommandLineParser注册与解析各参数的作用说明如下参数说明--help显示帮助画面同时支持短选项-h--version打印应用程序版本号--portable以便携模式运行应用--clear-settings清除设置并运行应用--dump-settings以 GitHub Markdown 格式打印设置及应用与环境的调试信息然后退出应用--session name在不同的上下文设置与内部文件中运行应用--allow-multiple-instances即使设置中禁止也允许启动多个 QOwnNotes 实例--action name应用启动后触发某个菜单动作详见下文--completion shell生成 shell 补全代码支持fish、bash--decrypt-note file将加密笔记文件的解密文本打印到命令行并退出--decrypt-note-password password为--decrypt-note提供密码替代交互式提示在不同操作系统上运行命令由于 QOwnNotes 支持 Linux、macOS、Windows 与 Snap 等多种交付形态命令行入口的名称和路径各不相同操作系统命令LinuxQOwnNotes若以 Snap 安装则为qownnotesmacOS/Applications/QOwnNotes.app/Contents/MacOS/QOwnNotesWindowsQOwnNotes.exe下文所有示例中的QOwnNotes命令请按上表替换为对应平台的入口。逐个参数深入解析--help查看帮助画面--help或-h会触发QCommandLineParser::showHelp()显示全部可用参数。在 src/main.cpp 中该选项被显式注册而非使用默认的addHelpOption()注释说明原因是默认方式会额外引入一个不受欢迎的--help-all选项。--version打印版本号--version在main()的手写参数循环中被直接处理见 src/main.cpp输出格式为QOwnNotes VERSION并立即退出不需要启动图形界面。这里打印的是 src/version.h 中的基础版本号而应用完整版本字符串包含构建日期、平台、架构、发布渠道如 Snapcraft、以及 Debug 标记在 src/main.cpp 中组合生成更详细的信息可通过--dump-settings查看。--portable便携模式--portable让应用在“便携模式”下运行适用于把整个应用放在 U 盘或移动硬盘上携带的场景。其核心机制包括三点见 src/main.cpp 与 src/main.cpp设置改用 INI 文件QSettings::setDefaultFormat(QSettings::IniFormat)并把设置文件路径指向便携数据目录数据目录随程序存放设置路径被重定向到Utils::Misc::portableDataPath()返回的目录即应用程序目录下的Data子目录src/utils/misc.cpp 中会自动mkpath创建该目录对 AppImage 则取$APPIMAGE环境变量指向的可执行文件所在目录禁用 QML 磁盘缓存便携模式下会设置环境变量QML_DISABLE_DISK_CACHEtruesrc/main.cpp因为 QML 缓存路径无法配置若不关闭会导致缓存写入非便携位置。同时在便携模式下--clear-settings不会删除磁盘上的内部数据库见 src/main.cpp 中clearDiskSettingslambda 对portable的判断避免误删移动存储上的数据。--session name隔离的设置上下文--session允许你以一套全新的设置上下文启动应用而不会覆盖当前正在使用的设置。这在排查安装问题、测试配置方案时非常实用——官方文档推荐的典型用法是QOwnNotes --session test其原理是--session的值会被拼接到应用程序名称后缀上appNameAdd - session见 src/main.cpp随后QCoreApplication::setApplicationName(QOwnNotes appNameAdd)src/main.cpp。由于 QSettings 默认按“组织名 应用名”定位配置存储应用名不同即意味着设置文件、内部数据库等全部落在独立的新上下文中——所以你的原设置原封不动而新会话拥有一份干净的初始状态。--clear-settings清除设置后启动--clear-settings在应用启动早期执行QSettings::clear()src/main.cpp并会提前收集设置中引用的系统钥匙串Keychain条目在清除后一并删除这些密钥src/main.cpp最后删除磁盘上的内部数据库。清除完成后应用会继续正常启动此时你面对的是“全新安装”般的初始向导状态。注意它与便携模式搭配时的特殊行为见上文--portable一节。--allow-multiple-instances允许多实例运行默认情况下 QOwnNotes 通过SingleApplication库保证单实例运行设置项allowOnlyOneAppInstance默认开启见 src/main.cpp。传入--allow-multiple-instances后allowOnlyOneAppInstance被置为falsesrc/main.cpp主程序将跳过SingleApplication分支直接用QApplication创建新的独立实例。多实例适合同时打开两套笔记库或对比不同配置的场景。此外源码把--help、--dump-settings、--completion、--decrypt-note等“一次性命令”标记为cliModesrc/main.cpp此时同样绕过单实例限制并优先使用无图形界面的QCoreApplicationsrc/main.cpp保证这些命令在纯终端环境如 SSH 会话中也能正常工作。--dump-settings输出诊断信息--dump-settings会调用Utils::Misc::generateDebugInformation()src/utils/misc.cpp生成一份 GitHub Markdown 格式的诊断报告内容包括General Info当前日期、版本、构建日期、构建号、平台、Qt 版本构建/运行时、操作系统、架构等Portable mode、Settings path / key当前设置文件路径、Application database path内部数据库路径Application arguments本次启动的全部命令行参数笔记文件夹、云连接、脚本等其他环境信息。生成后应用会把报告同时写入剪贴板并打印到标准输出然后退出。为了在反馈问题如提交 issue时快速粘贴这份报告官方文档推荐将其通过管道送入各平台的剪贴板工具# Linux用 xclip 复制设置转储到剪贴板 QOwnNotes --dump-settings | xclip -selection clipboard # Linux用 xsel 复制设置转储到剪贴板 QOwnNotes --dump-settings | xsel --clipboard # macOS用 pbcopy 复制设置转储到剪贴板 QOwnNotes --dump-settings | pbcopy # Windows用 clip 复制设置转储到剪贴板 QOwnNotes --dump-settings | clip--completion shell生成 Shell 补全--completion用于为当前 shell 生成 QOwnNotes 命令补全脚本目前支持fish和bash两种 shellsrc/main.cppQOwnNotes --completion bash QOwnNotes --completion fish其实现位于 src/utils/cli.cppgenerateFishCompletionScript()会为每个长选项输出complete -c QOwnNotes -l name -d 描述并为带值选项附加-r标记generateBashCompletionScript()生成_QOwnNotes()补全函数对--completion参数自动补全bash fish对file类型参数启用文件名补全。需要说明的是源码中还存在一个标记为 “TODO: Doesnt work yet” 的generateZshCompletionScript()zsh 补全生成器但目前尚未启用——因此请以fish和bash为准。解密加密笔记--decrypt-note与--decrypt-note-passwordQOwnNotes 支持对笔记内容进行加密PBE 加密笔记。利用--decrypt-note file参数你可以把某个加密笔记文件的明文内容直接打印到命令行适合脚本化提取、自动化流水线或紧急恢复等场景QOwnNotes --decrypt-note secret.md如果不提供密码QOwnNotes 会在命令行上交互式询问。你也可以直接用--decrypt-note-password把密码一次性传入QOwnNotes --decrypt-note secret.md --decrypt-note-password my password其底层实现是 src/main.cpp 中的printDecryptedNoteFile()函数关键流程为读取文件内容并检查是否为加密笔记note.hasEncryptedNoteText()若不是会报错Note file is not encrypted并返回退出码 1若密码为空进入密码提示流程在 POSIX 系统上通过termios关闭终端回显、逐字符读取并在屏幕上打印星号Windows 上使用_getch同时支持退格键编辑设置密码后调用note.canDecryptNoteText()验证密码失败则提示Note file could not be decrypted. The password may be wrong.解密成功后将明文fwrite到标准输出返回退出码 0。::: warning 安全提醒 把密码作为命令行参数传入可能会暴露在 shell 历史记录或进程列表中。如果对安全有顾虑请优先使用交互式密码提示不传--decrypt-note-password。 :::触发菜单动作--action name--action让你在应用启动完成后自动触发某个菜单动作相当于“启动即执行指定功能”。例如启动后直接打开待办事项列表对话框QOwnNotes --action actionShow_Todo_List查找内置菜单动作的名称菜单动作的名称是它们在界面文件中的objectName对象名可以在 src/mainwindow.ui 中查找直接搜索菜单的英文标题即可找到对应action name...定义。例如actionShow_Todo_List在 src/mainwindow.ui 中对应 “Show Todo List” 菜单项快捷键CtrlShiftT。请注意这些名称与界面文案可能随版本迭代而变化使用时请以当前版本为准。其执行机制位于 src/mainwindow.cpp 的MainWindow::triggerStartupMenuAction()应用读取启动属性startupAction通过findAction()src/mainwindow.cpp遍历菜单栏的所有QMenu及其QAction按 objectName 精确匹配后触发若找不到该动作会弹出 “Action not found!” 警告对话框。整个触发过程被放进QTimer::singleShot(0, ...)以避免在接收单实例消息的回调上下文中直接触发导致崩溃。触发脚本自定义动作对于 QML 脚本注册的自定义动作使用customAction_前缀加上自定义动作的标识符。该标识符是脚本中script.registerCustomAction调用的第一个参数——关于该 API 的完整参数说明菜单文本、按钮文本、图标、是否出现在笔记编辑上下文菜单等见 webpage/src/scripting/methods-and-objects.md仓库还提供了可运行的示例脚本 docs/scripting/examples/custom-actions.qml。例如要执行脚本中注册的名为myAction的自定义动作启动方式为QOwnNotes --action customAction_myAction单实例模式下的动作转发一个值得注意的细节如果你已经允许只运行一个实例那么第二次使用带--action参数的命令启动 QOwnNotes 时该菜单动作会在第一个已运行实例中被触发。这是因为第二次启动被SingleApplication识别为 secondary 实例后主程序会发送一条startupAction:name消息给主实例见 src/main.cpp主实例通过receivedMessage信号接收到消息后调用w.triggerStartupMenuAction()执行对应动作src/main.cpp。这意味着你可以随时从终端“遥控”正在运行的 QOwnNotes例如在工作流脚本中唤起待办列表或某个自定义动作。组合使用与典型场景将以上参数组合可以覆盖多种实用场景排查设置问题而不破坏现状QOwnNotes --session test获得一个干净的新上下文向开发者反馈问题QOwnNotes --dump-settings | xclip -selection clipboardLinux一键复制完整诊断报告从脚本批量提取加密笔记QOwnNotes --decrypt-note notes/secret.md配合退出码判断成功与否启动即进入指定功能QOwnNotes --action actionShow_Todo_List或结合快捷键习惯使用QOwnNotes --action customAction_myAction调用自定义脚本动作快速恢复损坏的界面状态在便携目录或--session隔离上下文之外QOwnNotes --clear-settings可一键重置所有设置。所有参数均以当前仓库源码src/main.cpp、src/utils/cli.cpp、src/utils/misc.cpp、src/mainwindow.cpp为准实际行为请以你所安装版本的发布说明为准。赞分享桌面应用【免费下载链接】QOwnNotesQOwnNotes is a plain-text file notepad and todo-list manager with Markdown support and Nextcloud / ownCloud integration.项目地址https://gitcode.com/gh_mirrors/qo/QOwnNotes点击查看免费下载相关推荐QOwnNotes 命令行参数完全指南便携模式、会话隔离、设置转储与菜单动作触发QOwnNotes 命令行参数完全指南便携模式、会话隔离、设置转储与菜单动作触发 QOwnNotes 是一款支持 Markdown 与 Nextcloud /桌面应用QOwnNotes 命令行参数完全指南用 CLI 控制启动、会话、解密与菜单动作QOwnNotes 命令行参数完全指南用 CLI 控制启动、会话、解密与菜单动作 QOwnNotes 是一款支持 Markdown 与 Nextcloud /桌面应用QOwnNotes 命令行参数完全指南从便携模式到加密笔记解密与菜单动作触发QOwnNotes 命令行参数完全指南从便携模式到加密笔记解密与菜单动作触发 QOwnNotes 是一款以纯文本文件为基础的 Markdown 笔记与待办事项桌面应用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

PyTorch第五章练习题通关指南:从张量到训练循环的完整拆解

PyTorch第五章练习题通关指南:从张量到训练循环的完整拆解

1. 为什么“第五章练习题”才是PyTorch入门真正的分水岭很多人学PyTorch的路径都差不多:第一章看张量创建,第二章看自动求导,第三章看nn.Module,第四章看数据加载,到了第五章——通常是神经网络训练流程的完整串联——…

2026/10/14 20:55:27 阅读更多 →
Abaqus自动网格划分插件:Python二次开发实战

Abaqus自动网格划分插件:Python二次开发实战

简介:当前CAE前处理中,复杂几何模型的网格划分往往依赖手动反复操作,工作量大且结果受经验影响。这套基于Python开发的ABAQUS网格自动划分插件,正是面向这类批量前处理与自动化建模需求,适用于具备Python基础的仿真工程…

2026/10/14 20:55:27 阅读更多 →
MFC自绘柱状图控件:从GDI绘图到双缓冲完整实践指南

MFC自绘柱状图控件:从GDI绘图到双缓冲完整实践指南

简介:面向MFC初学者的柱状图绘制示例工程,演示在单文档视图中通过画刷与图形设备接口(GDI)绘图,从TXT文本文件读取数据并渲染柱状图。压缩包共36个文件,大小约2.28MB,包含头文件、C源码、MFC工程…

2026/10/14 20:55:27 阅读更多 →

最新新闻

音乐创作中的默契合作与技术创新

音乐创作中的默契合作与技术创新

1. 音乐合作背后的故事解析《赴一场前世的约定》这首作品最打动人的地方在于它延续了徐子崴与罗姣之间独特的音乐默契。作为长期合作的"歌坛知音",两人的配合已经达到了心有灵犀的程度。徐子崴擅长用音乐讲故事,而罗姣的嗓音则像一把打开情感之…

2026/10/14 21:47:51 阅读更多 →
Ubuntu 20.04 安装 CPU 版 PyTorch 实战:避开 Python 版本与 pip 暗坑

Ubuntu 20.04 安装 CPU 版 PyTorch 实战:避开 Python 版本与 pip 暗坑

一直用Windows跑深度学习模型的人,初次转到Ubuntu 20.04上配PyTorch(CPU版)时,可能会觉得这能有多难?无非是pip install,顶多再装个Anaconda而已。但我当时实际动手才发现,坑远比我以为的多&…

2026/10/14 21:47:51 阅读更多 →
农业气象数据分析全流程:从站点数据到田间决策

农业气象数据分析全流程:从站点数据到田间决策

农业气象数据分析这几个字放在一起,乍看像是常规气象业务的延伸,但真正动手做项目之后你就会发现,它的难点全在“农业”这两个字上。同样一份温度数据,城市热岛分析关注的是高温强度和持续时间,而农业场景里要把温度和…

2026/10/14 21:47:51 阅读更多 →
财富积累的系统方法:从认知到实践

财富积累的系统方法:从认知到实践

1. 财富积累的本质认知千万资产并非遥不可及的幻想,而是可以通过系统方法实现的财务目标。我花了三年时间跟踪研究37位白手起家的千万资产持有者,发现他们普遍遵循着相似的财富逻辑:资产净值核心收入杠杆效率时间复利。这个公式中&#xff0c…

2026/10/14 21:47:51 阅读更多 →
时间复杂度与空间复杂度:算法性能分析从入门到实战

时间复杂度与空间复杂度:算法性能分析从入门到实战

很多初学者刚接触数据结构时,第一个拦路虎往往不是树、不是图,而是“时间复杂度”和“空间复杂度”这两个概念。我当年也一样,看着满屏的 O(n)、O(log n)、O(n),心里只有一句话:这到底在算什么东西?后来做过…

2026/10/14 21:47:51 阅读更多 →
Altium数据库连接报错排查:ODBC配置与字段映射详解

Altium数据库连接报错排查:ODBC配置与字段映射详解

Database连接报错这个问题,确实很折腾人。很多工程师在从普通原理图库切换到数据库驱动模式时,第一步往往不是画封装,而是先被各种配置问题拦住。最常见的就是明明数据源已经建好了,软件却提示连接失败;或者在放置器件…

2026/10/14 21:46:50 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →