使用 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
訂閱“Linux 中國”官方小程式來檢視
相關文章
- 使用 Notmuch 組織你的郵件
- 使用 Vim 傳送郵件和檢查日曆
- Oracle和JDE日曆轉換Oracle
- [轉載] Python日曆模組| 使用示例的weekday()方法Python
- 提升你的組織和規劃技能!OmniOutliner 5 Pro 讓你事半功倍!📋✨
- 日曆管理和提醒工具:EzyCal for MacMac
- HomeAssistantOS和docker的組織關係Docker
- 組織程式和資料
- win10在日曆裡顯示天氣和農曆的方法_win10怎麼讓日曆磁貼顯示農曆和天氣Win10
- 微服務和組織該如何搭配?微服務
- 企業使用Hadoop的重大挑戰:如何在HDFS中組織和使用資料?Hadoop
- 一文了解微服務的流程和組織微服務
- Hyperledger Fabric組織的動態新增和刪除
- Vue日曆的編寫,可顯示周和月的模式(其中可以自定義日曆裡內容的顯示)Vue模式
- Python模組以及日曆常見用法Python
- 如何更好的組織你的Laravel模型Laravel模型
- 同步控制和鎖,ReenterLock和Condition的詳細使用
- win10自帶的郵件和日曆打不開怎麼辦_win10郵件和日曆無法開啟的解決教程Win10
- BI成熟度組織的主要特徵和提升策略特徵
- Vue(12)元件的組織結構和元件註冊Vue元件
- 在 Linux 命令列上使用日曆Linux命令列
- 瞭解 Web 標準規範和組織Web
- win10提示你的病毒和威脅防護由你的組織管理的解決方法Win10
- Python3 日曆(Calendar)模組介紹Python
- 你是如何組織html程式碼的?HTML
- 日曆2021年日曆表|2021年日曆表列印版 Excel版Excel
- Outlook for Mac Beta現在支援共享日曆和.ics檔案Mac
- ADMIN05 - 管理使用者和組、tar備份和恢復、NTP時間同步
- LINUX下的使用者和組的概念和管理Linux
- C日曆
- 日曆表
- Win10 Mobile或PC版郵件和日曆獲更新Win10
- 待辦事項和日曆工具:Task Office for Mac中文版Mac
- 使用RecycleView實現無限滾動的日曆View
- CRM和C4C裡的組織架構 - Organizational Structure架構Struct
- 如何使用 Ansible 同步 GitHub 和 GitLabGithubGitlab
- Springboot非同步事件配置和使用Spring Boot非同步事件
- 同步和非同步非同步