如何在Ubuntu中同步我的Exchange日历(Thunderbird / Lightning)?

从微软Windows环境转到Ubuntu / Thunderbird / Lightning,如何最好地同步日历?
3个回答

Thunderbird的ExchangeCalendar/exchangecalendar插件似乎优雅地解决了这个问题。以下是一些帮助你开始使用的步骤:
  1. 在Thunderbird上安装Lightning插件
  2. ExchangeCalendar/exchangecalendar下载ms-exchange日历插件。*.xpi插件可能在一个zip文件中。将文件保存到您的下载文件夹(或其他位置)。
  3. 在Thunderbird中,点击菜单-->附加组件
  4. 点击图标以从本地文件安装附加组件(如下图1所示)。
  5. 一旦所有插件都安装完毕并且Thunderbird已重新启动,在Thunderbird中打开日历选项卡。右键单击日历部分,选择“新建日历”。
  6. 选择“在网络上”
  7. 选择Microsoft Exchange。
  8. 为日历选择一个名称。
  9. 现在是棘手的部分。我无法让自动发现功能正常工作,但如果您输入正确的服务器URL和用户名,就可以继续了。对于Office 365,URL是:https://outlook.office365.com/ews/exchange.asmx。请参见下图2。
  10. 点击“检查服务器和邮箱”。如果您正确设置了服务器和用户名,文件夹基础输入框应该出现一个“下一步”按钮(图3)。点击下一步。从这一点开始,一切似乎都正常工作。祝您好运!

图1 -- 安装已下载的交换插件

Install the locally saved exchange add-on

图2 -- 配置 Exchange 设置

Configure the exchange settings

点击“检查服务器和邮箱”后,文件夹基础输入框会出现一个“下一步”按钮。

Correctly configured exchange server -- yay


哇,感谢你提供的逐步说明!它完美地运行了。 - pagliuca
没问题,我只需要手动输入服务器的URL(https://mail.domain.com/EWS/Exchange.asmx),就解决了。 - Roberto Leinardi
当我尝试时,我的服务器URL被预先输入并变灰,我没有看到“检查服务器和邮箱”的选项。 http://askubuntu.com/questions/663223/is-it-possible-to-use-microsoft-exchange-calendar-with-ubuntu?noredirect=1#comment957161_663223 - Niklas Rosencrantz
@Programmer400 - 它是真的变灰了还是只是占位文本,你可以覆盖输入吗?在 Windows 版本上,它骗了我几分钟。 - mwardm
我已经写了一个教程,包含更多图片:http://www.kwoxer.de/2016/06/03/thunderbird-mit-office365-verbinden/ 需要的人可以参考。 - kwoxer
1这对共享日历也适用。只需将电子邮件地址设置为"无",并填写共享日历的主要电子邮件即可。我认为您的Lightning需要在帐户下激活您的主要Exchange帐户。当我添加另一个员工的共享日历时,并没有提示我输入密码。 - akahunahi
GitHub地址已更改为https://github.com/ExchangeCalendar/exchangecalendar/releases。 - Adrian Schmidt
1我不得不下载最新的测试版(beta 5)4.0.0版本才能使其正常工作。我遇到了与一年前问题讨论串中描述的完全相同的连接问题,所以我猜测微软现在和以后会更新API并破坏向后兼容性... - Adrian Schmidt


我在Linux上成功实现了这个功能,以下是我的做法。在Windows上,文件的位置不同(可以通过谷歌搜索找到),但是整体方法仍然适用于DropBox、SeaFile或类似的数据同步服务。
我在我的主要电脑(Thinkpad W541,Ubuntu Unity,16.04)和旅行用的Chromebook(Acer C720,Ubuntu XFCE,16.04)上使用Thunderbird/Lightning作为我的邮件/日历客户端,并且我希望定期同步两台机器之间的日历数据。网上的建议通常提到Google Calendar,但我更愿意使用开源工具(我可以控制)来完成这项工作。我使用SeaFile(一个FOSS DropBox替代品)来同步文件夹和文件。 第一步:在我的新Chromebook上,我复制了整个Thunderbird目录: rsync -zarv user@thinkpad:~/.thunderbird/ ~/.thunderbird/ 然后,我安装了Thunderbird并打开它:瞧,所有我的账户、旧邮件和(最重要的是)日历事件都可以访问。太棒了! 第二步:看起来所有相关的Thunderbird数据都存储在~/.thunderbird/blah.default/目录下,其中日历数据存储在~/.thunderbird/blah.default/calendar-data/目录下。在Chromebook上,我创建一个新的日历事件,保存后发现~/.thunderbird/blah.default/calendar-data/local.sqlite文件的大小增加了,并且有一个更新的“last-modified”时间戳。我得出结论,local.sqlite包含了所有相关的日历数据。

第三步:我关闭了两台机器上的Thunderbird,然后使用SeaFile将整个calander-data/文件夹同步到两台机器上。我看到较新的文件大小和时间戳已成功同步到Thinkpad上。我在新机器上打开Thunderbird,我的新事件就在日历中显示出来了。成功!

缺点: 主要的缺点似乎是如果两台机器上都打开了Thunderbird,并且编辑了任何一个日历,同步calendar-data文件有时会导致另一台机器上的Thunderbird崩溃。它们只是没有被设计来处理这种类型的输入/输出。但除此之外:它工作得很好!