Org-mobile usage

作为 org-mode 的粉丝和日常使用者,遇到 GTD 类的工具,我都会尝试一下:比如即将提到的 Emacs 拓展 org-mobile

实际上 Emacs 的 org-mode 已经足够我的使用,也定制了自己需要的那部分功能, org-mobile 的功能现在来说有一些「鸡肋」了:它提供 Emacs 到移动端 MobileOrg 的中继功能。

1. 设置

1.1. dav 服务设置

我已经在 Archlinux 上使用 apache2 设置好了 dav 服务,使用 cloudflare 的域名托管和免费 tunnel 服务即可在任何移动设备上使用 dav 服务。

1.2. org-mobile 设置

需要设置两个变量 org-mobile-directoryorg-mobile-filesorg-mobile-directory 是「中继」功能所需要的空间,也即在手机端 MobileOrg 和 Emacs 互通的中继空间, org-mobile-files 是 PC 端需要同步的文件。我认为「鸡肋」的一点就是平时使用 org-mobile-files 比较分散而且比较多,虽然可以所有的文件都加入进来,但后续使用维护比较麻烦;另外一点是 dav 服务鉴权有些简单。

  (setq org-mobile-directory "/home/httpd/dav/org")
  (setq org-mobile-files '("~/Sync/org/2023/todo.org")

变量 org-mobile-inbox-for-pull 我并没有设置,一个原因是 dav 创建文件的权限和 emacs 操作该文件的权限相互冲突: dav 在每次处理该文件(以 mobileorg.org 为例)时会将文件 owner:group 重新设置为 dav 的管理员,这样导致 emacs 后续读写出现权限不足而影响使用。

1.3. MobleOrg 设置

在 IOS 端的 MobileOrg 中设置 dav 服务器和 URL ,及 dav 鉴权凭证。设置 dav 服务的链接,其中 URL 设置为默认的 index.org 文件,也即 dav/index.org 。 index.org 内容里会包含所有使用到的 org-mobile-files 文件。

_20230617_223030screenshot.png

2. 使用

设置完成后,即可 M-x org-mobile-push 将设置的 org-mobile-files 同步到 org-mobile-directory 目录,与此同时生成同步信息文件。手机端同步并修改过文件内容后会同时向 org-mobile-directory 中同步,再使用 M-x org-mobile-pull 将更新内容同步更新至 org-mobile-files 中。