google calendar 是時下最流行的網頁應用程式之一。使用者可以通過網絡接口或者本地的應用程式跨裝置通路或同步 google calendar。在 linux 上,有很多方法可以本地通路 google calendar,比如用電子郵件用戶端插件(如 evolution 或 thunderbird )或者用月曆應用程式(如 sunbird 或 rainklendar)。這些方法通常都需要安裝不必要的大型軟體,這些軟體你很可能根本不需要。
在這個教程中,我會展示如何利用 gcalcli 和 conky 将 google calendar 融入 linux 桌面

<a target="_blank"></a>
在安裝 gcalcli 之前,要確定你正在用的是 python 2 而不是 python 3 ,因為 python 3 與 gcalcli 不相容。
如果是在 debian、ubuntu 或 linux mint 上可以用下面的指令安裝 gcalcli
溫馨提醒:ubuntu 或 linux mint 的軟體庫中雖然有 gcalcli,但是這些版本并不包含其最新的特性和針對 bug 的修複。是以這裡推薦按以上所述的方法由源檔案建構 gcalcli。
對于fedora 、centos 或 rhel,可按如下方法安裝。
為了能讓 gcalcli 通路 google calendar ,你需要用你的 google 帳号通過 oauth2 認證,以使 gcalcli 獲得許可來通路你的 google calendar。
第一次運作 gcalcli 的時候,oauth2 認證會自動進行初始化。是以運作下面的指令開始
$ gcalcli agenda
該指令會輸出如下的一個 url 。
同時這個指令也會彈出一個指向該 url 的浏覽器視窗。如果因為一些原因,你的浏覽器沒有反應,你可以手動複制粘貼這個 url 到你的浏覽器中。
如果你還沒有登入你的 google 帳号,你得先登入。然後你會看到下面要求你許可 gcalcli 管理 google calendar 的資訊。點選“accept”即可。
認證後,下一步就是支援 google calendar 的 api 通路。gcalcli 通過 google calendar api 通路google calendar 。但是,如果要使用 google api 就必須明确設定你的 google 帳号支援 google api。
轉到“apis & auth ”下面的“apis”你會看見一個 google apis 清單。點選“calendar api”的開關按鈕使其能支援 api。
現在轉到“apis & auth”下的“registered apps”那裡,去注冊 gcalcli app。點選最頂端的“registered app”按鈕。
填寫 app 的名字(如,“my gcalcli”),然後選擇“ native ”作為平台。點選“registered”按鈕。
這一步會生成并顯示 oauth 使用者的 id 和密碼。另外關于上面提示的“you have not set up your product name(您沒有設定您的産品名稱)”,你可以忽略掉。
oauth的認證結果将會儲存在 ~/.gcalcli_oauth 文本檔案中。
你現在馬上就可以用 gcalcli 通路google calendar 了。
在你的家目錄建立一個如下的 gcalcli 配置檔案。将你先前獲得的 oauth 使用者 id 和 密碼按下面格式輸入進去。
$ vi ~/.gcalclirc
--clientid='xxxxxxxxxx.apps.googleusercontent.com' --clientsecret='yyyyyyyyyyyyyyyy'
到了這一步,你應該可以在指令行運作 gcalcli 了。
試試下面的指令,這兩個指令會分别列印出一個你的 google calendar 的清單和今後 5 天的日程安排。
$ gcalcli list
最後一步就是将 gcalcli 的輸出導入你的桌面主題中。為了做到這一點,你需要 conky 這個非常強大的工具,它可以把許多資訊直接顯示在你的桌面主題中。
然後,在你的家目錄下的某個地方( 例如 ~/bin )建立如下的腳本程式。
$ vi ~/bin/gcal.sh
重要提醒:上面腳本中的 ‘[’ 必須是真正的 escape 鍵( 也就是說在 vi 中按 ctrl-v 然後按 esc )。
最後,在你的家目錄中建立下面的 conky 配置檔案。
$ vi ~/.conkyrc
這個 conky 配置檔案會直接在你的桌面主題上顯示你的 google calendar 的一個日程表和一個兩個星期的時間表。
現在,你可以運作下面的指令激活 conky。
$ conky
你應該可以在 linux 桌面的右邊看到 google calendar,如題圖。
确認 google calendar 可以正常運作後,你可以将 conky 設為在每次登入時自動啟動。
gcalcli 也可以為 google calendar 中即将到來的事件發送一個提醒。它使用 notify-send 指令。對于 google calendar 提醒,你可以像下面一樣設定一個工作程序。
$ crontab -l
*/10 * * * * /usr/local/bin/gcalcli remind
原文釋出時間為:2014-02-12
本文來自雲栖社群合作夥伴“linux中國”