如何在Linux桌面背景上嵌入Google日曆小部件

本文介紹如何在Linux桌面背景上嵌入Google日曆小部件。它還包括一些自定義技巧。
Conky和gcalcli用於在桌面牆紙上顯示Google日曆事件。

  • 康喜 在桌面上顯示信息的工具。它用作具有內置功能的系統監視器,用於顯示CPU使用率,RAM等以及顯示自定義命令輸出。
  • 加鈣利 Google日曆命令行界面。當您使用OAuth2連接到Google帳戶時,該工具可以列出Google日曆,添加,編輯和刪除日曆事件。

相關:MineTime:支持Google Calendar,Outlook.com,Microsoft Exchange,iCloud,CalDAV的桌面日曆應用程序

請按照以下步驟安裝Conky和gcalcli,並使用這些工具將Google日曆嵌入桌面背景。有一些可選步驟可自定義Conky,日曆顏色等,並將此小部件添加到您的啟動中。
本文中的Conky配置文件使用Conky 1.10語法。要使用以下Conky配置,需要Conky 1.10或更高版本。安裝gcalcli和Conky。
對於Debian,Ubuntu或Linux Mint,請使用:

sudo apt install gcalcli conky-all

您還需要安裝Ubuntu Mono字體(或者您可以使用下面的.conkyrc代碼更改字體)。默認情況下,它必須安裝在Ubuntu.2上。將gcalcli連接到您的Google帳戶。
要啟動OAuth2身份驗證過程,您需要使用任何選項運行gcalcli。跑吧 list 命令如:

gcalcli list

gcalcli在您的默認網絡瀏覽器中打開一個新頁面,並詢問您是否要使用您的Google帳戶對gcalcli進行身份驗證。允許它並繼續下一步。創建並輸入Conky配置文件(~/.conkyrc)。
創建一個名為 .conkyrc 在您的主文件夾中 Ctrl + H 顯示或隱藏隱藏的文件和文件夾,並將以下內容粘貼到該文件中:

conky.config = {
    background = true,
    update_interval = 1.5,
    cpu_avg_samples = 2,
    net_avg_samples = 2,
    out_to_console = false,
    override_utf8_locale = true,
    double_buffer = true,
    no_buffers = true,
    text_buffer_size = 32768,
    imlib_cache_size = 0,
    own_window = true,
    own_window_type = 'desktop',
    own_window_argb_visual = true,
    own_window_argb_value = 120,
    own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
    border_inner_margin = 10,
    border_outer_margin = 0,
    xinerama_head = 1,
    alignment = 'top_right',
    gap_x = 90,
    gap_y = 90,
    draw_shades = true,
    draw_outline = false,
    draw_borders = false,
    draw_graph_borders = false,
    use_xft = true,
    font = 'Ubuntu Mono:size=12',
    xftalpha = 0.8,
    uppercase = false,
    default_color = '#FFFFFF',
    own_window_colour = '#000000',
    minimum_width = 0, minimum_height = 0,
};

conky.text = [[
${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --nolineart calm --monday}
]];

對於具有gcalcli 4.0.0或更高版本(不是較早的4.0.0a4、4.0.0a3等)的Linux發行版,請使用例如Ubuntu 19.04 --lineart=ascii 代替 --nolineart 在上面的Conky代碼中。您可以輕鬆檢查gcalcli的版本是否支持 --nolineart 通過運行 gcalcli --conky --nolineart calm 如果在終端中出現錯誤“-無法識別的參數:-nolineart”,則說明您使用的新gcalcli版本不受支持 --nolineart,應使用 --lineart=ascii 代替(--lineart=unicode 也可以))。
通過在終端中輸入以下內容,以此配置運行Conky:

conky

Google日曆小部件應嵌入到桌面背景中,如下所示。Conky Google日曆

如果您已經具有Conky配置,則將文件命名為: .conkyrc2 (或者 .conkyrc3每次您在本文中看到“ conky”命令時(如果在執行過程中或啟動時將其添加) -c ~/.conkyrc2 (或任何您命名的文件)。例如,運行第二個Conky實例以使用 ~/.conkyrc2 使用以下命令作為配置文件:

conky -c ~/.conkyrc2

要關閉所有正在運行的Conky實例,請使用:

killall -9 conky

4.(可選)自定義gcalcli和ConkyI。基本的Conky配置
您可以更改的內容 .conkyrc 根據您的需要歸檔。每次保存時,使用Conky顯示在桌面上的Google日曆都會自動更新 .conkyrc 配置文件。如果這種情況沒有發生,請使用以下命令殺死所有正在運行的Conky進程 killall -9 conky並再次運行Conky。
例如 gap_xgap_y 用於將桌面上顯示的日曆移至離右上角更近或更遠的值。右上角的位置是 alignment = 'top_right' 更改它可以將日曆移動到屏幕的另一個角落,因為它是可選的。
大多數選項是不言而喻的,例如在上面的Conky代碼中為Ubuntu Mono設置的字體值。確保已安裝Ubuntu字體,或將字體值更改為系統上安裝的等寬字體。
如果您有多台監視器,並且想要將日曆窗口小部件移至另一台監視器, xinerama_head 價值。
否則,步驟3中的示例Conky配置中使用的值應適用於大多數用戶。請參閱Conky幫助(conky --help)II。更改日曆顏色
使用 .conkyrc 第3步中列出的代碼使用默認的gcalcli值顯示Google日曆。但是,您可以更改顏色。
例如,您可以添加 --nocolor 執行 ~/.conkyrc 不要在行上使用gcalcli顏色(在最後一行之前),而要依靠Conky來獲得文本顏色。更改行,如下所示:
-gcalcli版本4.0.0穩定或更高版本:

${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --lineart=ascii --nocolor calm --monday}

-舊的gcalcli(例如4.0.0a4):

${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --nolineart --nocolor calm --monday}

然後,您可以更改default_color值(可以是十六進制數字或顏色名稱)以指定日曆文本的顏色。 ~/.conkyrc 文件這是使用方法 default_color = 'green' 例如:Conky Google日曆綠色

但是,這僅允許在整個日曆中使用一種顏色。如果要更改單個顏色,例如日期顏色,當前標記等,請不要添加 --nocolor 將它們添加到excepci行中,而是以您要使用的顏色添加這些選項。

  --color_border: Color of line borders
    (default: 'white')
  --color_date: Color for the date
    (default: 'yellow')
  --color_freebusy: Color for free/busy calendars
    (default: 'default')
  --color_now_marker: Color for the now marker
    (default: 'brightred')
  --color_owner: Color for owned calendars
    (default: 'cyan')
  --color_reader: Color for read-only calendars
    (default: 'magenta')
  --color_writer: Color for writable calendars
    (default: 'green')

但是,支持的顏色不多。關於的評論 這個 錯誤報告指出,支持黑色,紅色,綠色,黃色,藍色,品紅色,青色和白色。
例如,要將當前標記的日曆顏色更改為藍色,將日期顏色更改為白色,並將其他元素保留為默認顏色,則可以將execpi行更改為:
-gcalcli版本4.0.0穩定或更高版本:

${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --lineart=ascii calm --monday --color_now_marker blue --color_date white}

-舊的gcalcli(例如4.0.0a4):

${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --nolineart calm --monday --color_now_marker blue --color_date white}

三, gcalcli選項
gcalcli有很多選擇。的 --monday 例如,這些選項是 .conkyrc 該文件將一周的第一天設置為星期一。從execpi行刪除( .conkyrc 文件)將一周的第一天設置為星期日。
calm 該選項將gcalcli配置為以日曆格式顯示當前月份的日曆。用於顯示當前星期而不是月份 calw 代替 calm,例如:
-gcalcli版本4.0.0穩定或更高版本:

${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --lineart=ascii calw --monday}

-舊的gcalcli(例如4.0.0a4):

${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --nolineart calw --monday}

這是小部件在桌面上的外觀:gcalcli conky周視圖

另一個可能的觀點是 agenda默認情況下,它現在是從上午12:00開始(並顯示接下來5天的事件),但是您可以接受自定義日期。交換 calmagenda 使用和刪除它 --monday 如果存在(此視圖中不需要; gcalcli會引發錯誤):
-gcalcli版本4.0.0穩定或更高版本:

${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --lineart=ascii agenda}

-舊的gcalcli(例如4.0.0a4):

${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --nolineart agenda}

這就是在接下來的5天中只有一個事件的外觀。加卡爾利議程

您還可以查看當月的日曆和其上方的五天日曆。 ~/.conkyrc 文件如:
-gcalcli版本4.0.0穩定或更高版本:

conky.text = [[
${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --lineart=ascii agenda}
${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --lineart=ascii calm}
]];

-舊的gcalcli(例如4.0.0a4):

conky.text = [[
${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --nolineart agenda}
${execpi 300 PYTHONIOENCODING=utf8 gcalcli --conky --nolineart calm}
]];

這是它在桌面上的外觀:gcalcli月視圖和議程為了進一步定製, gcalcli --help 和GitHub項目 頁數
附帶說明一下,使用以下命令運行gcalcli PYTHONIOENCODING=utf8 為避免潛在的日曆顯示問題-如果日曆顯示正確,則可以將其刪除。還有我 --nolineart gcalcli選項(或 --lineart=ascii 相反,對於新的gcalcli版本),Conky會禁用線條圖,因為gcalcli的線條圖無法正確顯示。 (可選)將Google Calendar Conky桌面小部件添加到您的啟動中。
要添加到啟動中,請從應用啟動器中打開啟動應用程序或等效的應用程序,添加新的啟動程序,輸入Conky Google Calendar作為名稱,然後在命令字段中使用以下命令:

conky --daemonize --pause=5

或者您可以創建一個名為 conky.desktop~/.config/autostart/ 具有以下內容:

[Desktop Entry]
Type=Application
Exec=conky --daemonize --pause=5
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Conky Google Calendar
Sidebar