在 Linux 終端管理你的日曆
我是一個 KDE 用戶,多年來我一直在 Plasma 桌面上進行著看似無盡的探索。如果你在公開場合問我,我可能會聲稱自己對我每天使用的桌面了如指掌。但實際上,我只是剛剛觸及到表面而已。似乎每天我都能學到一個新的 KDE 技巧,讓我的生活變得更輕鬆或更有趣,我最新的發現是 konsolekalendar
命令,它讓你從終端查看和管理 iCal 日曆。
Akonadi
Akonadi 項目是一個底層 KDE 框架,幫助 Plasma 桌面跟蹤所有的個人信息管理器(PIM)數據。它主要是為開發者服務的,包括很多可以讓程序員用來創建應用的庫,通過這些程序你可以訪問你的聯繫人、筆記、電子郵件、日曆等等。Akonadi 中包括一些終端命令,比如 akonadictl
可以啟動和停止 Akonadi 服務,但它們大多是為了排除故障。然而,konsolekalendar
是一個面向用戶的命令,可以讓你完全訪問 Kontact 套件的所有數據,包括 KMail、Notes 和日曆。
如果你正在運行 KDE 的 Plasma 桌面,那麼你已經安裝了 Kontact 套件。
![Kontact UI](/data/attachment/album/202204/18/161429yz84an34z95cu3il.jpg "Kontact UI")
你也安裝好了 Akonadi 和它的工具,所以你所需要的基於終端的日曆完成了!
從終端查看你的日曆
由於 NextCloud 和 Radicale 等項目的存在,你可以託管自己的 iCal 日曆服務,或者你可能已經在流行的供應商(例如,Google)那裡擁有一個 iCal 賬戶。當你使用 Kontact 管理日曆時,你訂閱了一個日曆對象(用 Akonadi 的術語說是一個「 集合 」)。當你對你的本地日曆進行更新時,這些變化會被送回你的 iCal 伺服器以同步你的日曆伺服器和客戶端。
無論你是否使用過 Kontact 的日曆功能,你在 Kontact 中都有一些默認的日曆對象。你有一個叫個人日曆和生日和紀念日的日曆對象。
以下是如何顯示當天的日曆(默認為個人日曆):
$ konsolekalendar
Date: Saturday, January 15, 2022
10:00 AM - 11:00 AM
Summary: Covid booster shot
UID: 8d8a1e38-c88c-4d84-99e5-23...
-------------------------------Date: Saturday, January 15, 2022
12:00 PM - 01:00 PM
Summary: Lunch
UID: 7aa89a...
-------------------------------Date: Saturday, January 15, 2022
01:00 PM - 04:45 PM
Summary: Afternoon coding
UID: 9cde38b...
-------------------------------Date: Saturday, January 15, 2022
06:00 PM - 10:00 PM
Summary: Planescape game
UID: c73f7e98-722f-48a2-8006-66...
-------------------------------
添加一個事件
要查看你訂閱的所有日曆,請使用 --list-calendars
選項:
$ konsolekalendar --list-calendars
-------------------------------3 - (Read only) Birthdays & Anniversaries
11 - Personal Calendar
60 - (Read only) Open Invitations
61 - (Read only) Declined Invitations
66 - Dnd
67 - Work
68 - Museum
左邊的數字是日曆的 ID。要添加一個事件到一個特定的日曆,請使用 --calendar
選項,然後是日曆 ID:
$ konsolekalendar --add --calendar 66
--date 2022-01-16
--time 20:00 --end-time 23:59
--summary "Another game"
--description "Remember to bring dice"
Success: "Another game" inserted
刪除一個事件
你也可以刪除事件。每個事件都有一個唯一的 ID(UID),在每個事件列表的底部提供:
$ konsolekalendar --list
Date: Saturday, January 15, 2022
06:00 PM - 10:00 PM
Summary: Planescape game
UID: c73f7e98-722f-48a2-8006-66aa8ddcf789
要刪除一個事件,請使用 --delete
選項,同時使用 --uid
選項:
$ konsolekalendar --delete
--uid c73f7e98-722f-48a2-8006-66aa8ddcf789
終端中的 Akonadi
你用 konsolekalendar
所做的一切都會立即在 Akonadi 中執行,並在 Kontact 中得到同樣快的反映。使用一個並不意味著你必須放棄另一個。由於它們共享 Akonadi 後端,兩者查看和編輯相同的數據。konsolekalendar
命令是一項正在進行的工作。未來的計劃包括與 Kontact 的筆記和日記部分的整合,而且還有很多比本文所涉及的更多的選項。如果你在使用 KDE 桌面,試試 konsolekalendar
,體驗一下終端的 PIM!
via: https://opensource.com/article/22/2/manage-calendar-linux-konsolekalender-kde
作者:Seth Kenlon 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive