創用 CC 授權條款
除非另有註明,本網站的著作Fygul Hether製作,以創用CC 姓名標示-非商業性-禁止改作 4.0 國際 授權條款釋出。

2020年12月19日 星期六

Conky:Linux桌面輕量系統監控程式

概要

Linux桌面環境多半會提供一個預設的系統監控程式,對於多數一般使用者而言已經很夠用。然而若想要自行定製窗口樣式與監控項目就得另行設法。Conky是個輕量的系統監控程式,提供了定製的功能,適合喜歡打造個人使用環境的進階使用者。

本文簡單介紹Conky以及其安裝、執行與設置方式,簡單提一下Conky Manager與其他類似軟體。環境是Ubuntu MATE 20.04, Conky 1.10。

Conky簡介

Conky是X視窗上免費輕量的系統監控程式,可在桌面上顯示各種資訊。可在Linux與BSD上的X執行。除了內建的監控項,也可以利用腳本或其他外部程式來顯示其他資訊。

Conky這名稱源自加拿大一部電視劇中的一位角色。

Conky初體驗

安裝

若執行 $ apt search conky ,會看到有基本版、預設標準版與啟用全部功能的版本(conky-cli, conky (即conky-std), conky-all)。這裡為方便展示僅使用標準版,如果想用全部功能,可裝 conky-all 。以apt安裝:


$ sudo apt install conky

安裝的東西不多,一回就裝好了。再來看一下說明,並簡單測試執行一下,執行檔是 /usr/bin/conky

顯示說明

可用 conky -hman conky 分別看簡單與較完整的說明文字, conky -v 可顯示版號、預設設置檔位置與啟用的功能。這裡不列說明文字,免得佔篇幅,建議看倌在此可先自行實際動手看一下,因後面用到其中幾個參數時就不解釋其意義。

執行與自動啟動

簡單執行一下 conky -d 看看結果:

現在是依預設設置執行,會顯示在左端,此時只要滑鼠點在桌面,它就自動消失不見了(事實上它還在背景執行),感覺很不方便,後面會調整設置檔讓它在桌面一直維持顯示。

我們會希望讓Conky進入桌面時自動啟動,所以打開“啟動應用程式”在名稱欄位填入Conky,指令欄位中加入 conkey -d,同時在延遲欄中填入適當的延遲秒數,如5,按“儲存”後會存到 ~/.config/autostart/conky.desktop。也可以直接編輯此檔,使用 conkey -d -p=5 的指令,而不在上述處設延遲秒數。

調整設置

設置檔位置

到目前為止都還是使用Conky的系統預設設置檔 /etc/conky/conky.conf 中的設定,Conky執行時若沒有找到個人設置檔($HOME/.conkyrc$HOME/.config/conky/conky.conf),就採用前述檔案。

現在來改成使用個人設置檔,並將其調整成適合自己使用的設置。可以複製系統預設設置檔過來修改,不過這裡利用conky本身有個顯示預設參數的功能來產生新檔案:


$ mkdir -p ~/.config/conky && conky -C > ./config/conky/conky.conf

前述採用系統設置的conky還在執行,這裡以登出桌面後重新登入的方式測試一下前述自動啟動是否生效,而新執行的conky是改成採用個人設置檔。

待會修改此檔後儲存即立即生效,要注意別寫錯。在進入修改之前,先看一下其中結構。

設置檔結構

設置檔是以Lua編程語言的語法寫的,排除掉前面的註釋,主體就二部分:

  • conky.config:放置用來設置Conky本身外觀與行為的設定值Settings。
  • conky.text:放置要讓Conky顯示資訊的變數Variables;也就是說,這些變數代表著所要監控的項目,這段就相當於監控的顯示內容。

可用 man conky 查閱 Settings 與 Variables的列表。要注意的是,並非列表中的設定值或變數都可用,這要視所安裝的Conky編譯時是否啟用該特性。

一開始也許會覺得設置有點複雜,不過也不必一開始就去讀完整說明,只先調整必要的少數部分設置即可。若要做較複雜的設置檔,也可以抄現成的參考別人分享的,見後述。

必要的調整與窗口設置

conky.config

將顯示窗口從左邊改到右邊;還有別被最小化而不見,讓它總是出現在桌面,這屬窗口設置,在不同桌面環境,可能會有點不同,要測試一番。在我的環境,在conky.config修改或增加了以下設定值:


    alignment = 'top_right',
    background = true,
    double_buffer = true,
    own_window = true,
    own_window_type = 'override'
    own_window_transparent = false,
    own_window_hints = 'undecorated,sticky,below,skip_taskbar,skip_pager',
    own_window_argb_visual = true,
    own_window_argb_value = 50,

上述 own_window_argb_value 可用來調整透明程度,255是不透明,但 own_window_type 是 override,無法有透明效果,若調成 desktop 則有,但會被最小化。不能 click through(雖然 conky -v 顯示有此功能),也就是被壓在底下的圖示無法點選。

以上的設置適用在我用的Ubuntu MATE 20.04,在其他不同桌面環境,不一定適用。

conky.text

你可能會發現Conky的網路並沒有顯示數值,因為預設是監看 eth0 ,但實際上並不是用 eth0,看一下“連線資訊”或用 ip -a 查看一下實際的網路介面。譬如以下是把conky.text中,網路上下行流量那行的 eth0 改成 enp3s0:


Up:$color ${upspeed enp3s0} ${color grey} - Down:$color ${downspeed enp3s0}

用戶提交的設置檔

在官方Wiki的這頁面可以看到他人分享的畫面與設置檔,有興趣可以觀摩一番。要注意的是別無腦照抄,大多要調整過,因為有些是依據作者自己特有環境所寫的,不一定適用他人。還有就是有的是舊版本的,由於隨著Conky版本的改變,早期版本所寫設置檔的語法若未經過轉換並不適用於目前版本[1]。

Conky Manager

Conky Manager收集了許多現成設置,方便以圖形界面切換使用。但同樣要注意,有些可能是適用舊版而不是目前版本的Conky,所以其中的有些widget與theme會無法用。有興趣的話可自行見參考[4]。

若執行出現問題

如果執行conky但沒顯示,可以檢查一下設置檔是否有寫錯,若在命令行執行conky,若設置檔中寫錯字而無法解析,會有錯誤訊息出現。遇到其他問題,可以查看一下官方的FAQ頁面

另類選擇

使用Conky多少要翻點說明文件,如果不想太麻煩,可以試試GKrellM (GNU Krell Monitors),裝好後將它執行,對著程式視窗的頂部或邊框點滑鼠右鍵就會出現設置視窗,簡單幾個動作就可使用,只是它有數年未出新版。它還有額外的外掛,可更換主題theme,這些要另行下載安裝。

GKrellM的安裝很簡單:


$ sudo apt install gkrellm

裝好後在選單的系統工具類中可以找到它。

結語

以上只是Conky的基礎使用,並沒有調整到多少設定,畫面看來並不起眼,事實上它提供的定製化,可做出相當華麗且吸引人的效果。體積與資源耗用都算小(除非用戶自己執行了太過複雜的腳本),想善用它得花點時間翻說明文件就是了。這軟體的開發工作也算活躍,吸引不少關注。

但它也並非十分完善,在某些環境上執行可能會出現問題;或者也有可能必須反覆調整某些設置才能測試出較佳的執行結果;適合他人的設置不見得適合你用。這些對於一般使用者而言也許就沒那麼有吸引力,較適合不知天高地厚不怕挫折感的用戶。

參考與連結

  1. Conky官方Wiki
  2. Conky - ArchWiki
  3. Ubuntu 20.04 System Monitoring with Conky widgets
  4. How to Install Conky & Conky Manager in Ubuntu 20.04 LTS

沒有留言:

張貼留言