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(桌面,Web)

 

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

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

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

Thunderbird(桌面)

 

Thunderbird and Lightning

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

Thunderbird 的优势在于其插件架构以及它是跨平台的。 如果您在一天中使用不同的操作系统,您可以使用 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(Web)

 

AgenDAV

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

AgenDAV 支持 CalDAV,并且能够流畅运行。 它具有与其他 CalDAV 日历交互所需的所有 CalDAV 功能,以及我们大多数人期望从日历 Web 应用程序获得的其他功能(例如颜色编码)。


这些远不是您可能考虑用于使用开源维护日历的唯一工具。 还有很多其他工具提供他们自己的功能选择。 您使用哪些开源工具来维护日历? 您是否已经 使用 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 上的内置/默认应用程序)。

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

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

将 ownCloud / Nextcloud 放在公开可访问的地方,并尝试消除我对 Google 的依赖,这个想法非常诱人。但我太担心将我生活中的那么多东西放到“荒野”中了。

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

然后,再加上 LetsEncrypt(免费 SSL),你基本上就拥有了最稳固和最好的系统。 一个不会随意与任何人分享你的数据或将其出售给广告商的系统。

回复 ,作者是 dragonbite

我在服务器上使用 NextCloud,日历被视为一等公民(在 ownCloud 下从未如此)。 我将它与桌面上的 Thunderbird/Lightning 和 Android 上的 Etar (来自 f-droid) 配对。 真是太棒的组合了!

以前,我使用 ownCloud 作为自托管的日历提供商。
后来,我使用了 radicale:http://radicale.org
对于日历客户端,在 PC 上我使用 Thunderbird 和 Lightning 日历插件(现在已内置)。 在 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.