社区编辑申请
注册/登录
在 Linux 终端管理你的日历
系统 Linux
KDE 很适合在 Linux 上进行基于终端的日程安排。konsolekalendar 命令让你从终端查看和管理 iCal 日历。

我是一个 ​​KDE 用户​​​,多年来我一直在 Plasma 桌面上进行着看似无尽的探索。如果你在公开场合问我,我可能会声称自己对我每天使用的桌面了如指掌。但实际上,我只是刚刚触及到表面而已。似乎每天我都能学到一个新的 KDE 技巧,让我的生活变得更轻松或更有趣,我最新的发现是 ​​konsolekalendar​​ 命令,它让你从终端查看和管理 iCal 日历。

Akonadi

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

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

Kontact UI

你也安装好了 Akonadi 和它的工具,所以你所需要的基于终端的日历完成了!

从终端查看你的日历

由于 ​​NextCloud​​ 和 ​​Radicale​​ 等项目的存在,你可以托管自己的 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!

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2022-06-19 14:13:29

tmateLinux

2022-07-28 15:46:08

Linux工具

2022-04-08 12:56:52

Linux终端命令

2018-04-25 10:46:05

Linux命令行日历

2020-04-14 15:10:38

Linux终端命令

2020-04-03 11:24:50

LinuxUnix进程

2016-07-21 14:36:34

2020-01-27 10:48:55

2020-08-23 21:45:18

Linux终端文件

2016-11-14 09:19:40

2016-11-11 14:03:05

2019-09-16 13:48:03

2010-10-08 09:24:52

2019-11-29 20:00:40

Linuxdate命令

2011-07-25 09:43:38

目标设备管理工具日志文件

2018-12-12 09:44:07

2015-08-14 09:47:36

Linux日志基础

2009-12-11 15:37:58

Linux日志处理

2011-09-29 11:22:47

2011-08-22 13:23:38

同话题下的热门内容

超实用的 Linux 高级命令,运维同仁一定要懂!五种常见 Linux 系统安装包管理工具中文使用指南一学就会:如何在 Linux 中挂载远程文件系统或目录Linux下,如何自动对日志进行压缩备份?Linux内存管理(Golang实现)选择 Linux 发行版时要考虑的六个重要因素如何在 Linux 中连接到串行控制台如何在 Linux 上正确使用 cat 命令

编辑推荐

Linux系统下安装MySQL的步骤详解CentOS与Ubuntu有什么不同?Linux下如何使用minicom USB串口为什么你可能想要略过Ubuntu 17.04?Linux中7个判断文件系统类型的方法
我收藏的内容
点赞
收藏

51CTO技术栈公众号