通过 konsolekalendar 命令从 Linux 终端管理您的日历

KDE 非常适合在 Linux 上进行基于终端的日历管理。 konsolekalendar 命令允许您从终端查看和管理 iCal 日历。
41 位读者喜欢这篇文章。
Poll: Upcoming open source conferences

Dafne Cholet。CC BY-SA 2.0。

 

我是一名 KDE 用户,多年来,我一直在 Plasma 桌面上的探索之旅中不断前行。如果有人在公开场合问我,我可能会声称自己对每天使用的桌面了如指掌。但事实上,我其实只是略知皮毛。似乎每天我都会学到一个新的 KDE 技巧,这些技巧要么让我的生活更轻松,要么更有趣,而我最近的发现是 konsolekalendar 命令,它允许您从终端查看和管理 iCal 日历。

Akonadi

Akonadi 项目是一个底层 KDE 框架,它帮助 Plasma 桌面跟踪所有个人信息管理器 (PIM) 数据。它主要面向开发人员,包含许多库,允许程序员创建应用程序,通过这些应用程序您可以访问您的联系人、笔记、电子邮件、日历等等。Akonadi 中包含一些终端命令,例如 akonadictl 用于启动和停止 Akonadi 服务,但它们主要用于故障排除。但是,konsolekalendar 是一个面向用户的命令,它为您提供对 Kontact 套件中所有数据的完全访问权限,包括 KMail、Notes 和 Calendar。

如果您正在运行 KDE 的 Plasma 桌面,那么您已经安装了 Kontact 套件。

您也已经安装了 Akonadi 及其工具,因此基于终端的日历管理所需的一切都已就绪!

从终端查看您的日历

借助 NextCloudRadicale 等项目,您可以托管自己的 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 的 Notes 和 Journal 部分集成,并且有比本文涵盖的更多的选项可用。如果您正在使用 KDE 桌面,请尝试 konsolekalendar 并体验终端的 PIM!

标签
Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。他曾在电影和计算机行业工作,经常同时进行。

2 条评论

哇,这真酷!

感谢分享,Seth!

Creative Commons 许可协议本作品根据 Creative Commons 署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.