使用 khal 和 vdirsyncer 組織和同步你的日曆
儲存和共享日曆可能會有點麻煩。在我們的 20 個使用開源提升生產力的系列的第五篇文章中瞭解如何讓它更簡單。
去年,我在 19 天裡給你介紹了 19 個新(對你而言)的生產力工具。今年,我換了一種方式:使用你在使用或者還沒使用的工具,構建一個使你可以在新一年更加高效的環境。
使用 khal 和 vdirsyncer 跟蹤你的日程
處理日曆很麻煩,要找到好的工具總是很困難的。但是自從我去年將日曆列為我的“失敗"之一以來,我已經取得了一些進步。
目前使用日曆最困難的是一直需要以某種方式線上共享。兩種最受歡迎的線上日曆是 Google Calendar 和 Microsoft Outlook/Exchange。兩者都在公司環境中大量使用,這意味著我的日曆必須支援其中之一或者兩個。
Khal 是基於控制檯的日曆,可以讀取和寫入 VCalendar 檔案。它配置相當容易,但是不支援與其他應用同步。
幸運的是,khal 能與 vdirsyncer 一起使用,它是一個漂亮的命令列程式,可以將線上日曆(和聯絡人,我將在另一篇文章中討論)同步到本地磁碟。是的,它還可以上傳新事件。
Vdirsyncer 是個 Python 3 程式,可以透過軟體包管理器或 pip
安裝。它可以同步 CalDAV、VCalendar/iCalendar、Google Calendar 和目錄中的本地檔案。由於我使用 Google Calendar,儘管這不是最簡單的設定,我也將以它為例。
在 vdirsyncer 中設定 Google Calendar 是有文件參考的,所以這裡我不再贅述。重要的是確保設定你的同步對,將 Google Calendar 設定為衝突解決的“贏家”。也就是說,如果同一事件有兩個更新,那麼需要知道哪個更新優先。類似這樣做:
[general]
status_path = "~/.calendars/status"
[pair personal_sync]
a = "personal"
b = "personallocal"
collections = ["from a", "from b"]
conflict_resolution = "a wins"
metadata = ["color"]
[storage personal]
type = "google_calendar"
token_file = "~/.vdirsyncer/google_calendar_token"
client_id = "google_client_id"
client_secret = "google_client_secret"
[storage personallocal]
type = "filesystem"
path = "~/.calendars/Personal"
fileext = ".ics"
在第一次 vdirsyncer 同步之後,你將在儲存路徑中看到一系列目錄。每個資料夾都將包含多個檔案,日曆中的每個事件都是一個檔案。下一步是匯入 khal。首先執行 khal configure
進行初始設定。
現在,執行 khal interactive
將顯示本文開頭的介面。輸入 n
將開啟“新事件”對話方塊。這裡要注意的一件事:日曆的名稱與 vdirsyncer 建立的目錄匹配,但是你可以更改 khal 配置檔案來指定更清晰的名稱。根據條目所在的日曆,向條目新增顏色還可以幫助你確定日曆內容:
[calendars]
[[personal]]
path = ~/.calendars/Personal/kevin@sonney.com/
color = light magenta
[[holidays]]
path = ~/.calendars/Personal/cln2stbjc4hmgrrcd5i62ua0ctp6utbg5pr2sor1dhimsp31e8n6errfctm6abj3dtmg@virtual/
color = light blue
[[birthdays]]
path = ~/.calendars/Personal/c5i68sj5edpm4rrfdchm6rreehgm6t3j81jn4rrle0n7cbj3c5m6arj4c5p2sprfdtjmop9ecdnmq@virtual/
color = brown
現在,當你執行 khal interactive
時,每個日曆將被著色以區別於其他日曆,並且當你新增新條目時,它將有更具描述性的名稱。
設定有些麻煩,但是完成後,khal 和 vdirsyncer 可以一起為你提供一種簡便的方法來管理日曆事件並使它們與你的線上服務保持同步。
via: https://opensource.com/article/20/1/open-source-calendar
作者:Kevin Sonney 選題:lujun9972 譯者:geekpi 校對:wxy
相關文章
- Oracle堆組織表的索引和索引組織表Oracle索引
- 使用 Notmuch 組織你的郵件
- 組織程式和資料
- Oracle DBA的資源和組織Oracle
- 使用 Vim 傳送郵件和檢查日曆
- Oracle和JDE日曆轉換Oracle
- 日曆管理和提醒工具:EzyCal for MacMac
- win10在日曆裡顯示天氣和農曆的方法_win10怎麼讓日曆磁貼顯示農曆和天氣Win10
- 微服務和組織該如何搭配?微服務
- 如何在Mac中使用佛教日曆,波斯日曆等Mac
- 一文了解微服務的流程和組織微服務
- Hyperledger Fabric組織的動態新增和刪除
- 通用的人員和組織結構模型模型
- 如何更好的組織你的Laravel模型Laravel模型
- Vue(12)元件的組織結構和元件註冊Vue元件
- BI成熟度組織的主要特徵和提升策略特徵
- 瞭解 Web 標準規範和組織Web
- 企業使用Hadoop的重大挑戰:如何在HDFS中組織和使用資料?Hadoop
- Kalendae:JavaScript日期選擇和日曆控制元件JavaScript控制元件
- win10提示你的病毒和威脅防護由你的組織管理的解決方法Win10
- Vue日曆的編寫,可顯示周和月的模式(其中可以自定義日曆裡內容的顯示)Vue模式
- Java 周曆日曆Java
- Oracle日誌組新增冗餘檔案和日誌組Oracle
- 對日誌檔案組和日誌檔案組成員的管理
- win10自帶的郵件和日曆打不開怎麼辦_win10郵件和日曆無法開啟的解決教程Win10
- CRM和C4C裡的組織架構 - Organizational Structure架構Struct
- SAP MM 採購組織和公司程式碼的分配關係
- JS編寫日曆控制元件(支援單日曆 雙日曆 甚至多日曆等)JS控制元件
- 12款優秀的JavaScript日曆和時間選擇外掛JavaScript
- Outlook for Mac Beta現在支援共享日曆和.ics檔案Mac
- Displio智慧日曆 生活規劃它幫你
- 在 Linux 命令列上使用日曆Linux命令列
- 同步控制和鎖,ReenterLock和Condition的詳細使用
- 【SQL】日曆SQL
- ADMIN05 - 管理使用者和組、tar備份和恢復、NTP時間同步
- iOS應用架構談(2):View層的組織和呼叫方案iOS應用架構View
- 多團隊敏捷開發的組織架構和協作模式敏捷架構模式
- ASP.NET MVC同步和非同步的使用總結ASP.NETMVC非同步