如何在Linux和Android之间同步日历

您在多大程度上依赖日历?

取决于您的生产率方法并将日程表保留在云中,以便可以在任何地方访问它。

当然,这需要您所有的设备都可以与在线日历同步。这个特定的细节通常会引起新Linux用户的担忧。他们想知道是否可以将其桌面Linux日历与Android同步,反之亦然。

简短的答案是:是的。已经可以从Android远程控制Linux,因此没有理由不同步日历。长答案是,在本文中,我们将说明如何执行此操作以及您将需要哪些工具。下图显示了基本概念:您将设置日历服务器,在其上创建日历,然后从您的Android设备连接到它。

该服务器可以位于“云",也可以只在本地网络中的计算机上运行它。在这种情况下,您只能在Android设备连接到该网络时同步日历。此设置依赖于CalDAV协议,该协议使通过HTTP访问,管理和共享iCalendar文件成为可能。

尽管大多数桌面日历应用程序都内置了对CalDAV的支持,但许多Android日历却没有,这就是为什么我们需要使用单独类型的应用程序(称为CalDAV适配器)来连接日历服务器的原因。

现在,让我们逐步进行操作,您很快就可以检查您的Android屏幕上的桌面日历。

1。构建日历服务器

您可以选择所需的任何日历服务器,只要它支持CalDAV。由于这是入门指南,因此我们将提供两个相对简单的选项:Radicale和贝加尔湖。前者是一种简洁的解决方案,几乎不需要任何配置。如果您以前从未安装过Web服务器,Baikal可能很难设置,但是另一方面,它具有图形界面,您可以通过它轻松地对其进行调整。

在存储库中可以找到Radcale。几个Linux发行版,包括Arch Linux,Ubuntu,Fedora,Debian和openSUSE。如果需要,可以通过在终端中键入 pip install roote 从Python软件包索引(PyPi)存储库中进行安装。

安装后,使用以下命令启动服务器 radicale 。请注意,为了同步日历,需要运行Radicale,因此请确保每次使用桌面日历应用程序时都启动它。最好让Radicale在启动时运行。

配置文件是 / etc / default / radicale / etc / radicale / users / etc / radicale / config 〜/ .config / radicale / config 。您只需在您喜欢的文本编辑器中打开它们,然后取消注释或修改所需的参数即可。为了管理日历,您必须创建用户配置文件并设置身份验证方法(为此检查 / etc / radicale / users 文件)。

另一个重要的方面安全问题是谁可以访问服务器上的日历。您可以在 / etc / radicale / config 中的“权限"部分中调整此设置。 Radicale应该是开箱即用的,但是如果遇到一些问题,请参阅在线文档。

与Radicale相比,Baikal较难上手,因为它需要具有以下功能的Web服务器: PHP和SQLite支持。设置此类服务器的快速方法是为Linux安装XAMPP。

下一步是下载Baikal的安装包,并将其内容放入Web服务器的根文档文件夹中。这通常是 / var / www 文件夹,因此您可以在其中创建专用的 baikal 子文件夹并将包解压缩到其中。确保您具有对 / var / www / baikal / Specific 文件夹及其内容的读取,写入和执行特权。在上述文件夹中创建一个名为ENABLE_INSTALL的文件。打开浏览器并将其定向到 http:// yourserver / baikal / admin / install

现在,您可以完成安装,设置Baikal数据库并创建一个管理员帐户。不要忘记勾选“启用CalDAV"选项旁边的框,并同时切换“启用Web界面"。这样,您可以在浏览器中创建日历,因此甚至不需要单独的桌面日历应用程序。

Baikal可让您创建多个用户并一次管理多个日历。只需记住,您的Web服务器需要运行才能使用贝加尔湖。令人遗憾的是,贝加尔湖官方文档还不够详细,因此如果遇到麻烦,您将不得不诉诸各种在线教程。

2。创建共享日历

现在您的日历服务器已启动并正在运行,现在该创建日历了。如果您使用的是贝加尔湖,则可以直接通过网络界面进行操作。这些选项非常简单,但是可以让您添加和编辑事件。

所有流行的Linux日历应用程序都支持共享(“网络")日历。要在Evolution中创建新的共享日历,请打开文件>新建>日历,然后选择CalDAV作为日历类型。

在Thunderbird的Lightning日历附件中,您可以创建一个共享日历,方法是选择新建日历>在网络上,然后将CalDAV设置为格式。

在两种情况下,您都必须提供共享日历的位置或URL将被托管。如果您使用的是Radicale,请输入 http://您的服务器地址:5232 / username / calendarname.ics / http://您的服务器/cal.php/calendars/username/calendarname

KDE的KOrganizer具有用于共享日历的三个选项:DAV组件资源,远程文件中的日历和iCal日历文件。对于Radicale,您可以选择这些选项中的任何一个,然后输入与上述相同的URL。对于贝加尔湖,在下载中选择远程文件中的日历,然后输入 http://yourserver/cal.php/calendars/username/calendarname 上传到字段。

如果要将现有的贝加尔日历添加到KOrganizer中,请将其创建为DAV组件资源。按下取消跳过登录对话框,然后单击 Add 按钮进行新的服务器配置。选择CalDAV作为访问协议,然后键入贝加尔湖的远程URL: http://yourserver/cal.php/calendars/username/calendarname

类似地,如果您已经具有要与Android设备共享的桌面日历,则可以将其发布在日历服务器上。在Lightning中,该选项简称为发布日历。 Evolution在操作菜单下以发布日历信息的形式提供它,在KOrganizer中,您可以选择文件>导出>导出为iCalendar 选项。在所有情况下,您输入的URL都应与您的用户名和日历文件名匹配。

3。安装CalDAV Android适配器

我们建议了两个日历服务器选项,因此我们也将两个Android应用程序保持不变。两种应用程序都在基本功能和高级功能之间取得平衡,高级选项的全部功能取决于您使用的桌面日历应用程序。

DAVDroid supports multiple calendars, two-way synchronization, and alongside calendar events, it can also sync tasks. You can adjust the synchronization interval and configure authentication settings. DAVDroid is free on F-Droid, but if you want to support the developers, you can purchase it for $3.61 on Google Play Store.

另一个选项是 CalDAV-Sync 还支持多个用户帐户和日历,任务,双向同步和重复事件。 CalDAV-Sync使您可以对日历进行颜色编码并定义同步时间表。您可以在Play商店以$ 2.32的价格购买它。

4。设置CalDAV帐户

如果您已安装DAVDroid,请不要误将应用程序移至SD卡,因为它无法正常运行。要将共享日历与Android同步,请打开设置应用,选择帐户,然后添加一个新的DAVDroid帐户。对于Radicale,输入 http://您的服务器/用户名作为基本URL,并提供登录详细信息。如果您使用的是贝加尔湖,则基本URL应为 http://yourserver/cal.php 。 DAVDroid将自动检测可用的日历,您可以选择要同步的日历。

CalDAV-Sync的过程几乎相同。再次,转到Android的“设置",找到“帐户"部分,然后添加一个新的CalDAV帐户。 Radicale用户应输入 http://您的服务器:5232 /用户名/ ,并确保使用相同的用户名登录。 CalDAV-Sync将获取该用户名的所有日历,因此您可以选择要同步的日历。

对于贝加尔湖,您应输入特定日历的路径,例如 http:// yourserver / cal.php / calendars / username / calendarname ,尽管官方Wiki建议 http:// yourserver:port / baikal / cal.php / calendars / username / calendarname 。如果第一个网址不起作用,您可以尝试使用它,也可以不使用日历名称尝试使用它; CalDAV-Sync将扫描可用的日历。

5。同步您的Android日历应用

最后,您的日历服务器正在运行,并且您已经在其中创建或共享了日历。在Android上,您已经设置了CalDAV适配器和一个帐户。现在,您的日历应根据其设置自动同步。您可以通过打开Android日历应用程序来检查是否一切正常。

尽管已经对贝加尔湖和Radicale的DAVDroid和CalDAV-Sync进行了测试,但总会出现问题。如果同步不起作用,请尝试以下操作:

  • 检查Android上的Calendar Storage应用是否未禁用或丢失。
  • 如果您使用的是Privacy Guard,则不应阻止DAVDroid可访问日历和联系人数据。
  • 尝试在Android的设置>数据使用情况中禁用“限制背景数据"选项。
  • 如果您的Android设备具有系统范围的同步开关,请确保未关闭。
  • 由于Android错误,更新日历应用可能会导致CalDAV帐户被删除。如果发生这种情况,您可以为CalDAV-Sync和DAVDroid [不再可用]安装变通方法应用程序。
  • 尽管听起来可能很复杂,但在Linux上设置日历服务器的时间不应超过30分钟。当然,还有其他方法可以将您的桌面日历与Android同步。您可以使用基于自己的基于Cloud的解决方案,而不是您自己的日历服务器。

    如果您还有其他在Linux和Android之间共享日历的技巧,那么如果将其留在注释中会很棒。您如何同步日历?您使用哪些日历应用程序?让我们知道。

    标签: