[软件] 用Syncthing跨系统跨软件同步行事历

楼主: pauillactw (秧得)   2019-09-05 21:29:19
图文好读版:http://bit.ly/2kjWRiW
最近在研究,如何用Syncthing将单机非网络服务的行事历软件
(Rainlendar、Osmo、Etar/内建行事历),
在三种不同的作业系统平台(Windows、Linux、Android)皆达成更新同步。
弃用Google Calendar的阵痛期意外地长,
但就“不因被单一服务绑架,而废弃淘汰仍可使用的机器”来说,
这阵痛期的适应和尝试新方法又是必要的。
但是要如何找到Google Calendar的替代品?
这是个让人相当头大的问题。
在经过长久的搜寻和尝试之后,渐渐地有一个奇特的想法架构在脑中成型。
这篇文章仅专注讲述大概念,软件操作细节则不会多加着墨。
## 架构
https://images.plurk.com/5JfZnLmtD0sFpzby5W60NY.png
两台桌电,公司用的是Windows 7;
家里使用的是Windows 10和Puppy Linux Xenialpup双系统;
手机使用的是Android 4.4.4 Kikat;
另外有一台笔电是用Windows XP,无网络。
两台电脑(先不计断网的笔电)、一只手机,系统不一样,使用的软件也不一样,
同样也能同步更新行事历。
简单来说架构是这样:
1. 桌电Windows 7使用Rainlendar。
2. Syncthing同步ics档案到手机、桌电Linux/Windows 10。
> 1. 手机用Etar行事历,汇入ics档。
> 2. Linux用Osmo,连结ics档。
> 3. 桌电Windows 10用Rainlendar,连结ics档。
> 4. 断网笔电Windows XP用Rainlendar旧版,
用传统随身碟/蓝芽/手机MTF传输等方式手动更新档案。
## Syncthing
https://syncthing.net/images/screenshot-720.jpg
首先最重要的是每台装置都须安装Syncthing,
把之后预定存放ics档案的资料夹在全装置设为同步。
Syncthing默认档案覆蓋模式是直接覆蓋,
为了避免不小心盖错档,建议使用简单版本控制,
在档案内容有冲突的当下,旧档会另存一个版本当备份。
## 行事历软件
个人使用的行事历软件如下:
Windows桌面行事历Rainlendar
https://images.plurk.com/7Cea00PqMgEnL7O8JgKpga.png
https://images.plurk.com/3GgsEV9oNUxMR9JFh7Y3CF.png
Linux桌面行事历Osmo
https://images.plurk.com/2VPdMLEAvMrTqm2D66gOHe.png
手机行事历Etar
https://images.plurk.com/6HWovRbzRTd0TOwu8aWQU7.png
https://images.plurk.com/1IlHNjhBUPR5UuXf692w42.png
### 电脑
Rainlendar是相当老牌的桌面行事历软件,
至少在十年前,有段时间我非常喜欢使用这套软件,
直到Google Calendar崛起后逐渐转移,才停止使用。
现在回头翻遍各种桌面行事历软件,剩下他还屹立不摇,这时才真正体会到他的美好。
Osmo是我使用的Puppy Linux版本内建的行事历,画面简洁干净,操作简单。
虽然Rainlendar也是有linux版本,但是就我的linux显示会有点问题,
所以维持使用Osmo。
Osmo跟Rainlendar的操作逻辑基本上是一样的,分成Event事件和Task代办事项。
Osmo可以汇入ics,不过不太能更改汇入的事件Event内容,
要改就是直接用文字编辑器改ics档,但至少同步是没什么问题。
### 手机
这边手机端除却行事历,所需安装的软件列表:
> Syncthing:同步用。
> Offline Calendar:让你可以在local本机增加行事历分类,还可以用颜色区分。
> Calendar Import-Export:在local本机用ICS档汇入/汇出行事历的app。
> ICSx5:可订阅网络上公开的行事历。
虽然我用的是Etar行事历,但是依照这个同步方式,
内建的手机行事历软件也一样可以用。
严格来说手机没有完全同步,因为我用的是纯Local本机端,
需要一些额外软件像是DAVx5或ICSx5,以及Calendar Import-Expor汇入ics,
不然就是要动手执行行事历事件汇入,但至少是比以前得一则一则输入贴上方便多了。
若要达到手机也同步行事历,大致上有两种方式:
1. Nextcloud搭配DAVx5,这也是网络上大部分建议的方式。
但这一样有个需要汇入行事历的动作,
只是差别在于这次是电脑端需要汇入档案至Nextcloud的行事历,
这也变成往后所有行事历都要在Nextcloud上更新,所以我没采用这种方式。
2. 用Nextcloud跟ICSx5订阅解决手机的行事历需手动汇入的问题,可以即时更新。
只是一样要上传到Nextcloud的网络空间,而且只能单向从电脑更动内容。
所以决定只有工作行事历和学习行事历采用Nextcloud同步,
其他私人如杂事约会类的依旧维持手动汇入。
Nextcloud可以只装在其中一台桌电,把有ics档案的资料夹设为同步资料夹即可,
也就是该资料夹同时接受Syncthing和Nextcloud的同步。
手机不需要安装Nextcloud。
### 其他技巧
使用emoji可以配合子弹笔记术的习惯,不限纸本或电脑平台的快速分类和连结。
在电脑上安装Segoe UI Symbol这个字体,也更改软件显示字型,
就能顺利在电脑上显示emoji了。
## 结语
为什么要弄得这么麻烦,有什么好处呢?
理由和优点有下列几项:
1. 每一款都可以离线使用,除了同步功能外,皆不必连线网络。
2. 自己的行事历自己管,可依自己需求决定是要同步或者纯粹放本机端,
从行事历到单一事件都可以做个别的同步微调,不用完全放上网络,大大提升隐密性。
3. 不会被单一软件服务绑死,基本上只要是支援连结ics档案的行事历软件,
都可以用这种方式同步更新。
4. 对于旧系统和跨系统的兼容性极高,不耗效能。最低可相容至Windows 7
(因Syncthing没有XP版本,XP要用传统方式例如随身碟或蓝芽传输文件来更新)、
Android 4。
现行实验的行事历同步架构大概是这个模样。
虽然不是很完善,有些仍然是单向通道,但至少还算符合我自己的使用习惯。
如果各位往后有类似的使用需求,可以参考这个同步模式看看。
作者: bobby4755 (苍郁之夜)   2019-09-05 21:48:00
Syncthing 好东西给推
作者: sunnya (鴨鴨)   2019-09-22 15:02:00
我是用termux 跟 crontab 跟 linux 桌电 同步

Links booklink

Contact Us: admin [ a t ] ucptt.com