桌面应用【免费下载链接】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),仅供参考