6 个 Google 日历的开源替代方案

938 位读者喜欢这篇文章。
Poll: Upcoming open source conferences

Dafne Cholet。CC BY-SA 2.0。

 

对于我们许多人来说,日历是我们的命脉。虽然有些人可以使用挂历或纸质日程本来安排日程,但我们很多人已经将时间管理过程转交给数字日历。

大多数主要供应商生态系统都提供某种日历解决方案,可以在设备之间同步。其中,Google 日历可能是最普遍的。对于许多人来说,它只是好用,可以轻松地在多台计算机和移动设备上跟踪他们的日程安排,并与需要协调的其他人共享适当的信息。

但是,与无数其他工具一样,您不必为您的日历需求使用专有的托管解决方案。可能有一个开源项目适合您。但在我们深入探讨之前,让我们先看看日历实际上是什么。

互联网日历和日程安排

如果您正在使用像 Google 日历这样的工具,您实际上正在使用两个独立的工具:用户界面(网站或移动应用程序)和日历服务器。日历服务器生成事件、接受邀请,并在您安排的事件即将发生时向您发送提醒。

iCalendar 格式(与 Apple 的 iCal 应用程序无关)的事件是一个简单的文本文件。它是一种非常简单的格式。这是一个基本事件的示例

BEGIN:VCALENDAR
PRODID:Seth
VERSION:2.0
CALSCALE:GREGORIAN
BEGIN:VEVENT
CREATED:20200511T114136
DTSTAMP:20200511T114136
LAST-MODIFIED:20200511T114136
UID:VE3HK1CEFCK7O7HUSNUM8X
SUMMARY:Example event
CLASS:PUBLIC
STATUS:CONFIRMED
DESCRIPTION:This is an example ICS file.
DTSTART:20200520T200000Z
DTEND:20200520T203000Z
END:VEVENT
END:VCALENDAR

如果您将该文本复制并粘贴到以 .ics 结尾的文件中,您可以将其导入到您的日历中,它将显示在您的日程安排中。一个好的日历应用程序会自动执行该过程,因此您很少意识到它正在发生,但这确实是共享日历的显而易见的魔力所在。

收到一封电子邮件,其中包含 .ics 文件邀请您参加活动或会议是很常见的。如果您的电子邮件客户端没有自动为您管理此格式,那么您可以下载并将其导入到您选择的日历应用程序中。您甚至可以通过运行 CalDAV 服务器来让其他人查看和编辑您的约会,CalDAV 服务器是 WebDAV 的扩展,WebDAV 是一种通过 HTTP 编辑远程文件的协议。

了解任务如何划分后,您必须决定哪些功能对您至关重要。如果您只是在寻找一种快速简便的方式与他人共享日历事件,那么您真正需要的只是一个符合 iCalendar 标准的日历应用程序。如果您希望允许其他人查看和编辑您的日历,那么您还需要 CalDAV 服务。

Nextcloud(桌面,网页)

 

Nextcloud 是您在外的家,或者至少是您在办公桌外的工作区。它是您自己的个人云存储、文本编辑器、照片库、文件共享、日历应用程序等等。由于 Nextcloud 包含 CalDAV 组件,您可以创建、导出、导入和订阅 iCalendar 事件和订阅源。Nextcloud 的日历提供了您期望从数字日历获得的所有常用选项:颜色编码、私人和公共事件、导入和导出 .ics 文件、重复事件、位置标签、描述等等。

您不必使用 Google 日历来接收和接受来自朋友和同事的邀请,或者与他人共享您自己的日历。更棒的是,您甚至不必在所有设备上都使用 Nextcloud。您可以在桌面上使用 Nextcloud,在手机上使用内置日历,在笔记本电脑上使用完全不同的东西。由于开放规范,它们都是兼容的。

您可以将 Nextcloud 安装在您自己的服务器或托管帐户上,或者您可以加入现有 Nextcloud 提供商的服务器,或者付费购买您自己的私有实例。

Thunderbird(桌面)

 

Thunderbird and Lightning

Firefox 的创建者还维护 Thunderbird 电子邮件客户端,这是一个适用于 Linux、Windows 和 Mac 的桌面应用程序,用于在 Web 浏览器之外阅读电子邮件。与 Firefox 一样,您可以使用插件自定义 Thunderbird,最流行的插件之一是 Lightning,一个日历组件。如果您正在使用 CalDAV 服务(如 Nextcloud),Lightning 允许您创建事件,甚至将它们发布到 CalDAV 服务。它还支持对不同的日历订阅源进行颜色编码,具有多种视图,甚至还有一个侧面板,方便您在浏览电子邮件时快速参考。

Thunderbird 的优势在于它的跨平台特性,除了其插件架构之外。如果您在一整天中使用不同的操作系统,您可以通过在所有操作系统上使用 Thunderbird 来为自己提供一点 UI 稳定性。您无法让 Windows 或 macOS 改变它们的运行方式,但至少您可以确保无论您使用哪台计算机,至少您的电子邮件和日历都将完全相同。

Evolution 和 Kontact(桌面)

 

Evolution

opensource.com

如果您在任何现代 Linux 发行版上使用过桌面电子邮件客户端,那么您可能遇到过 GNOME 的 Evolution。除了熟练处理大量电子邮件外,Evolution 还具有日历组件。该日历符合 iCalendar 标准,因此您可以导入和导出 iCalendar 事件,还可以订阅 CalDAV 订阅源。因为它使用 iCalendar 规范,所以它具有熟悉的选项,例如重复事件、描述、位置等等。

Evolution 日历提供了几种查看您的日程事件的方式。常用的周视图和月视图可用,但您也可以查看“工作周”(省略周末,这诚然只适用于一部分工作者)、日视图以及仅包含任务列表而没有空白空间的视图。它还在其电子邮件窗格中提供了当天的任务列表,因此您不必单击进入日历即可查看稍后会发生什么。

对于 KDE 用户,Kontact 包含 Korganizer,这是一个类似于 Evolution 中的日历组件。

Etar(移动端)

 

Etar

Android 股票日历本身实际上是开源的,因此您可能已经在您的手机上使用开源客户端来管理您的日历。但是,并非所有设备都随附该日历,因此您可以从 F-Droid 存储库下载类似的日历,或在 GitHub 上查看 源代码。它使用与 Android 本身相同的视觉风格,因此它看起来和感觉上与您的移动操作系统完全集成。它具有月、周、日和仅包含每日议程的视图。它符合 iCalendar 标准,因此您可以共享日历、导入和导出 .ics 文件以及订阅 CalDAV 订阅源。

AgenDAV(网页)

 

AgenDAV

在现代世界中,我们中的许多人都依赖于能够从任何地方访问我们的日历,无论我们碰巧手头有什么设备,而且很少有东西可以替代可靠的网页日历。虽然有很多网页工具可以从 CalDAV 中提取数据,但我最喜欢的是 AgenDAV,它具有与 Google 日历相似的外观和感觉。与 Nextcloud 不同,没有任何 AgenDAV 主机可以加入。如果您想运行 AgenDAV 服务器,您必须自己托管和安装它。但与 Nextcloud 不同,AgenDAV 只是一个日历,因此您不会遇到一堆您可能无意使用的网页应用程序带来的额外复杂性或臃肿。

AgenDAV 使用 CalDAV,并且非常流畅。它具有与其他 CalDAV 日历接口所需的所有 CalDAV 功能,以及我们大多数人期望从日历网页应用程序中获得的其他功能(如颜色编码)。


这些远非您可能考虑用于使用开源日历的唯一工具。还有很多其他工具提供他们自己选择的功能。您使用哪些开源工具来管理日历?您是否使用 org-mode 和 Git 拼凑了一个解决方案?或者您是否做了更具创意的事情?请在下面的评论中告诉我们!


编者注:本文最初于 2016 年发布,并已更新了新信息。

Jason Baker
前红帽员工。现在是顾问和有抱负的企业家。地图爱好者、创客,以及开源桌面和自托管软件的热情安装者。
Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。他曾在电影和计算机行业工作,通常同时从事这两个行业。

11 条评论

我在 Emacs 中使用 org-mode。它的日记功能很棒,但不得不承认我并没有真正经常使用日历,而且我的日历通常不需要与任何其他人的日历同步。

Zimbra 是我在以前的工作中使用的东西,它的工作方式正如您所期望的那样;电子邮件、日历、贯穿始终的集成。强烈推荐(并且是开源的,尽管 Zimbra 也具有“开放核心”模型)。

我曾有兴趣加入一些关于终端选项的内容,但我对它们不太熟悉,而且我不想将人们引导到我不甚了解的东西上。我对在终端中使用日历的经验几乎可以用 `cal` 来概括。Emacs org-mode 可以与远程日历同步吗,或者,也许可以与另一个本地日历同步,然后您可以使用无头的 CalDAV 工具在 cron 中与之同步?

回复 作者 sethkenlon

自托管的一个选项是 ownCloud/Nextcloud。

我很难处理日历,因为我在不同的系统中使用它们。

当我在家时,我通过桌面运行我的日历(Linux 上的 Lightning/Evolution/kOrganizer,Windows 10 和 Android 上的内置/默认应用程序)。

但是,当我在工作时,我使用网络访问所有内容(电子邮件、日历、文件等)。

所以我使用 Google 作为我的主要日历,并与桌面应用程序甚至 Outlook.com 共享,因为它在所有环境中都可用,并且与在线电子邮件/等等集成良好。缺点是必须配置我的多个日历并将其设置为读写(这并非总是有效)。

将 ownCloud / Nextcloud 放在公共可访问的地方并尝试消除我对 Google 的依赖的想法非常诱人。我只是太紧张,不敢把我的大部分生活都放在“野外”。

说真的!如果您习惯于从命令行安装东西,Owncloud 非常容易。我认为您必须处理的唯一主要问题是在重大升级后检查任何问题,因为有时您可能会发现一些问题。但这发生在任何开源软件中。

然后,与 LetsEncrypt(免费 SSL)一起,您基本上拥有了最可靠和最好的系统。一个不会轻易将您的数据分享给任何人或将其出售给广告商的系统。

回复 作者 dragonbite

我在服务器上使用 NextCloud,日历被视为一流的(在 ownCloud 下从未如此)。我将其与桌面上的 Thunderbird/Lightning 和 android 上的 Etar(来自 f-droid)配对。非常棒的组合!

在过去,我使用 ownCloud 作为自托管日历提供商。
后来,我使用了 radicale: http://radicale.org
对于日历客户端,在 PC 上,我使用了带有 Lightning 日历插件的 Thunderbird(现在是内置的)。在 Android 上,它本身不支持 CalDAV,我使用了一个付费(不幸的是)CalDAV Sync 适配器,但它运行良好并与任何日历应用程序集成。看起来 F-Droid 中现在有一个免费的同步适配器。
我从未获得过具有“推送”同步功能的解决方案,尽管我尝试过,并且有各种选项可用,例如 z-push。它们都需要大量的设置,或者我根本无法理清的设置过程。这意味着客户端必须定期轮询日历(例如,每 15 分钟一次),以与其他日历保持同步。
那是 3 年多以前的事了。情况可能已经改变。

我多年来一直使用的东西有点复古日历,Remind。在 Fedora 上,获取 remind 和 remind-gui 以获得可视化的交互方式来输入我需要记住的事情。我不想要任何为我把东西放进日历的东西,我也不想要在我最不期望和想要它们的时候自发通知。
我总是从命令行使用它。
在终端中键入 tkremind,就会弹出一个日历,可以输入项目。您可以输入一次性事件或重复事件。对于像牙医预约这样的事情,我会创建一次,然后只需编辑下一次预约的日期和时间。
在命令行中,键入“remind -c+4 -w85,0,0 /home/me/.reminders”会打印出接下来 4 周的日历,宽度为 85 列。我为它创建了一个别名以使其易于使用,然后可以发送到一个文件,我可以打印该文件。
.reminders 是默认日历,但您可以创建其他日历,例如 .work 并分别使用它们。
当我需要 remind 中的内容时,我就拥有它。当我不需要时,它不会打扰我。

呵呵,我一直只使用 date 和 cronie

我是 ownCloud 的忠实粉丝,用于我的个人事物。对于更多的企业功能,Tine2.0 通过 *DAV 和 ActiveSync(尽管该连接器在美国并非完全 *合法*)提供日历、任务、联系人(私人和共享)。项目管理/人力资源/资产与库存/销售 CRM 是贡献的模块,自然它也提供 WebMail(POP/IMAP,无论什么)。Web 前端看起来像 OutLook Web Services,并且与 iStuff、Droid(使用文章的 DAV 连接器)配合良好,而 OutLook 完全不知道它不是在与 Exchange 通信。

如果您需要这样的东西,还有一个 Appliance(尽管看到这一点,我在大约十分钟内在 Raspberry Pi 上运行了它)。

有一些 Web 界面调整非常明显地具有东欧工作流程。

我将其部署为 Exchange/GStuff 杀手。

大多数情况下,它只是运行并且不会打扰我,这转化为:“它只是工作,我的用户不会打扰我。”

还有 eGroupware,但我无法忍受丑陋的 UI(用户抱怨)。

Outlook 日历与几乎所有东西(如 Owncloud)同步的最佳 Outlook 插件是在 Sourceforge 上维护的 Outlook CalDav Synchronizer。自从该项目发布的第一周以来,我一直在客户站点上的 Owncloud 上使用它。

https://sourceforge.net/projects/outlookcaldavsynchronizer/

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.