Linux中國

在 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 和它的工具,所以你所需要的基於終端的日曆完成了!

從終端查看你的日曆

由於 NextCloudRadicale 等項目的存在,你可以託管自己的 iCal 日曆服務,或者你可能已經在流行的供應商(例如,Google)那裡擁有一個 iCal 賬戶。當你使用 Kontact 管理日曆時,你訂閱了一個日曆對象(用 Akonadi 的術語說是一個「 集合 collection 」)。當你對你的本地日曆進行更新時,這些變化會被送回你的 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

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國