如何在 Linux 桌面上集成 Google 日历如何在 Linux 桌面上集成 Google 日历如何在 Linux 桌面上集成 Google 日历如何在 Linux 桌面上集成 Google 日历
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Linux 桌面上集成 Google 日历

Google 日历是最流行的网络应用程序之一。人们可以通过网络界面或使用本机应用程序跨多个设备访问或同步 Google 日历。在 Linux 中,有多种方法可以本地访问 Google 日历,例如使用电子邮件客户端插件(例如 Evolution 或 Thunderbird)或日历应用程序(例如 Sunbird 或 Rainlendar)。然而,这些解决方案通常涉及安装您可能不需要的不必要的庞大软件。

如果您只想在 Linux 上本地访问 Google 日历并获得提醒,那么您可以考虑 Google 日历命令行界面(或 gcalcli),它更加轻量级。对于 Linux 桌面来说,更好的是,您可以将 gcalcli 与 Conky 一起使用,将 Google 日历透明地集成到您的桌面主题中。

在本教程中,我将演示如何使用 gcalcli 和 Conky 将 Google 日历集成到 Linux 桌面中。

在 Linux 上安装 gcalcli

在安装 gcalcli 之前,请验证您使用的是 Python 2,因为 gcalcli 与 Python 3 不兼容。

要在 Ubuntu、Debian 或 Linux Mint 上安装 gcalcli,请使用以下命令。


$ sudo apt-get install git python-pip python-gdata python-dateutil python-gflags python-vobject python-parsedatetime
$ sudo pip install google-api-python-client
$ sudo pip install apiclient urllib3
$ git clone https://github.com/insanum/gcalcli.git
$ cd gcalcli
$ sudo python setup.py install

注意: gcalcli 包含在 Ubuntu 或 Linux mint 的标准存储库中。但是,该版本并未更新最新功能和错误修复。因此,我建议从源代码构建 gcalcli,如上面所述。

要在 Fedora、CentOS 或 RHEL 上安装 gcalcli,请运行以下命令。


$ sudo yum install git python-pip python-gdata python-dateutil python-gflags python-vobject
$ sudo pip install google-api-python-client
$ sudo pip install apiclient urllib3
$ git clone https://github.com/insanum/gcalcli.git
$ cd gcalcli
$ sudo python setup.py install

gcalcli 的 Google 身份验证

为了能够使用 gcalcli 访问 Google 日历,您需要使用您的 Google 帐户进行 OAuth2 身份验证,以便授予 gcalcli 访问您的 Google 日历的权限。

第一次运行 gcalcl 时,OAuth2 身份验证将自动启动。因此运行以下命令来启动。


$ gcalcli agenda

该命令将打印出一个 URL,如下所示。

同时,它会弹出一个网络浏览器窗口,并引导您访问该 URL。如果 Web 浏览器窗口因任何原因无法打开,您可以手动将 URL 复制并粘贴到 Web 浏览器窗口中。

如果您尚未登录 Google 帐户,系统会要求您登录。登录后,您将看到以下消息,要求您允许 gcalcl 管理您的 Google 日历。单击接受按钮。

启用 Google 日历 API

身份验证后,下一步是启用 Google 日历的 API 访问。 gcalcli 通过 Google Calendar API 访问您的 Google Calendar。但是,为了使用 Google Calendar API,您需要在您的 Google 帐户下明确启用该 API。

首先访问:https://cloud.google.com/console。点击项目列表下的API Project。

转到 API 和身份验证 → API 查看 Google API 列表。单击Calendar API 的切换按钮以启用该 API。

现在转到 APIs & auth → Registered apps 注册 gcalcli 应用程序。单击顶部的注册应用程序按钮。

填写应用程序名称(例如 My Gcalcli),然后选择 Native 作为平台。单击注册按钮完成。

这将创建并显示 OAuth 客户端 ID 和密钥,如下所示。记下此信息。您可以忽略“您尚未设置产品名称”的警告。

OAuth 身份验证的结果将保存在 ~/.gcalcli_oauth 文本文件中。

使用 gcalcli 从命令行访问 Google 日历

您即将准备好使用 gcalcli 访问 Google 日历。

在您的主目录中创建一个 gcalcli 配置文件,如下所示。按照以下格式输入您之前获得的 OAuth 客户端 ID 和密钥。


$ vi ~/.gcalclirc

--client_id='XXXXXXXXXX.apps.googleusercontent.com'
--client_secret='YYYYYYYYYYYYYYYY'

此时,您应该能够从命令行运行 gcalcli。

尝试以下两个命令,这将分别打印您的 Google 日历列表和接下来 5 天的议程。


$ gcalcli list
$ gcalcli agenda

将 gcalcli 与 Conky 集成

最后一步是将 gcalcli 的输出集成到您的桌面主题中。为此,您需要 Conky,这是一个非常强大的工具,可以直接在桌面主题上显示各种信息。

首先在 Linux 系统上安装 Conky。

然后,在主目录中的某个位置创建以下脚本(例如 ~/bin)。


$ vi ~/bin/gcal.sh

#!/bin/sh

gcalcli --conky calw 2 |
    sed -e 's/^[(0x71^[(B/─/g' 
        -e 's/^[(0x78^[(B/│/g' 
        -e 's/^[(0x6A^[(B/┘/g' 
        -e 's/^[(0x6B^[(B/┐/g' 
        -e 's/^[(0x6C^[(B/┌/g' 
        -e 's/^[(0x6D^[(B/└/g' 
        -e 's/^[(0x6E^[(B/┼/g' 
        -e 's/^[(0x74^[(B/├/g' 
        -e 's/^[(0x75^[(B/┤/g' 
        -e 's/^[(0x76^[(B/┴/g' 
        -e 's/^[(0x77^[(B/┬/g'

$ chmod +x ~/bin/gcal.sh

重要提示:上述脚本中的^[必须是实际的ESCAPE键(即在vi编辑器中按Ctrl-V ESC)。

该脚本将 VT100 转义序列转换为 Unicode 方框图字符。这是一个必要的解决方法,因为 Conky 不支持 gcalcli 使用的 ASCII 线条艺术。

最后,在您的主目录中创建一个 Conky 配置文件,如下所示。


$ vi ~/.conkyrc

alignment top_right
maximum_width 630
minimum_size 330 10
gap_x 25
gap_y 50

own_window yes
own_window_type conky
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_transparent yes
own_window_argb_visual yes
own_window_argb_value 0

update_interval 300
background no

border_width 1
default_color cornflowerblue
default_outline_color white
default_shade_color white
double_buffer no
draw_borders no
draw_graph_borders no
draw_outline no
draw_shades no
max_port_monitor_connections 64
max_specials 512
max_user_text 16384
text_buffer_size 8096
no_buffers yes
out_to_console no
uppercase no
use_xft yes
xftfont Bitstream Vera Sans Mono:size=10

TEXT
*** Google Calendar Agenda ***
${execpi 300 gcalcli --conky agenda}
${execpi 300 ~/bin/gcal.sh}

此 Conky 配置将直接在您的桌面主题中显示 Google 日历的议程和两周的日程安排。显示的信息每 5 分钟更新一次。

现在您可以通过运行以下命令来激活 Conky。


$ conky

您应该会在 Linux 桌面的右侧看到 Google 日历,如下所示。

验证 Google 日历正确显示后,您可以将 Conky 设置为每次登录桌面时自动启动。

设置 Google 日历提醒

gcalcli 还可以针对 Google 日历中即将到来的任何日程发送提醒。它使用 notify-send 命令发送桌面通知。对于 Google 日历提醒,您可以设置如下 cron 作业。


$ crontab -l

*/10 * * * * /usr/local/bin/gcalcli remind
©2015-2025 艾丽卡 support@alaica.com