ちょっと4月5月は忙しくて更新が滞ってすいません><
roadtoalinuxmintuser

theming

roundup
Linux Mint 18.3 : Conky をインストール・自動起動・変数リスト[修正再up] 00:24
アイキャッチ

Conky とは


Linux と BSD で利用できる無料の軽量なシステムモニタです。CPU 使用量、ディスク使用量、RAM 使用率、ネットワーク速度などのシステム情報や統計情報をエレガントにリアルタイムで表示できます。情報はすべてデスクトップ上に表示されます。それはまるでライブ壁紙のようです。表示される情報や見た目は、Conky の設定ファイルを編集することで変更できます。

「Samurize」や「Rainmeter」はご存知ですか。Windows 向けのデスクトップにシステム情報を表示できるアプリです。Linux ではこれらのアプリで実現していたことを Conky を使ってやります。

インストール & 起動


Ctrl
+
Alt
+
T
を押して端末を起動します。
端末へコマンドをペーストするには
Ctrl
+
Shift
+
V
を押します。
次のコマンドを実行します:
sudo apt install -y conky-all conky
conky を端末から起動するには次のようにします:
conky
そのままでは、表示がちらつくので良くないでしょう。ちらつかないようにするためには -b をつけます:
conky -b
更に、バッググランドで実行するには & を最後につけます:
conky -b &

設定ファイルの作成


設定ファイルはデフォルトでは /etc/conky/conky.conf に配置されますが、自分で設定ファイルは作成すると良いでしょう。

Conky の設定ファイルを作成するには、まずホームディレクトリにいることを確実にします:
cd
そこから隠しフォルダー「.conky」に移動します:
cd .conky
もし、.conky フォルダーがなければ作成します:
mkdir ~/.conky
まとめて次のように移動しても構いません:
cd ~/.conky
現在 .conky フォルダー内にいるはずなので、デフォルトの設定ファイルをそこにコピーします:
sudo cp /etc/conky/conky.conf .conkyrc

起動時に Conky が自動で起動するスクリプトの作成


Conky 自身を [ 起動時に自動起動するアプリ ] にそのまま追加してもうまく行きません。デスクトップが完全に読み込まれるのを待つ必要があります。一番いい方法は Conky を起動するスクリプトを作成し、このスクリプトを起動時に実行することです。

テキストエディターを開き、以下を貼り付けホームディレクトリに保存します。ファイル名は conkystartup.sh とします:
#!/bin/bash
sleep 10
conky -b &


次にこのスクリプトに実行権限を与えます:
sudo chmod a+x ~/conkystartup.sh
~/conkystartup.sh を [ 起動時に自動起動するアプリ ] に追加します:
範囲を選択_020

デフォルトでは Conky は .conky フォルダー内の .conkyrc ファイルを優先して使います。もし設定ファイルを複数作れば、複数同時に起動することも可能です。例えば、次のようにデフォルトの設定ファイルをコピーしてあげます:
sudo cp /etc/conky/conky.conf ~/.conky/.conkyleftrc
sudo cp /etc/conky/conky.conf ~/.conky/.conkyrightrc

conkystartup.sh を次のように編集します:
#!/bin/bash
sleep 10
conky -b -c ~/.conky/.conkyleftrc &
conky -b -c ~/.conky/.conkyrightrc &


保存します。これで、conkystartup.sh を実行すれば、2つの Conky が表示されます。更に 2 つ以上 Conky を実行することはできますが、表示するシステム情報の数には制限があることに留意してください。

設定ファイルの編集


.conky フォルダー内に作成した設定ファイルを編集していきます。好きなテキストエディターで設定ファイルを開いてください:
xed ~/.conky/.conkyrc
conky.conky セクションが見えるまで警告文を飛ばすと { から } までに「どう表示するか」が定義されています。下の conky.text セクションでは [[ から ]] までに「何を表示するか」が定義されています。

例えば、Conky のウィンドウを左下に持って行きたい場合は alignment の値を bottom_left にセットします。左用と右用で設定ファイルを作成したことを考えれば、.conkyleftrc では top_left に、.conkyrightrc では top_right に alignment をセットすると良いでしょう。

border_width の値を 0 より大きい値にセットし、draw_borders の値を true にセットすることでウィンドウに枠をつけることができます。

メインの文字列の色を変更したい場合は default_color を red、green、blue などにセットします。

文字に輪郭をつけるには draw_outline を true にして、default_outline_colour を red, green, blue などに変えるだけです。

同様にして、draw_shades を true にし、 default_shade_colour で色を変更すれば、影をつけることができます。

alignment が bottom_left の時、gap_x は左端で 0 をとり、gap_y は一番下で 0 をとります。gap_* の値を変更することで alignment からの位置を指定することができます。

ハッシュから始まる行は無視されます:
#この行は無視される


色を変数に格納したい場合は colorN の形式で、その後に色を指定します。#000000 のような指定であれば # はつけずに指定します。N は 0 から 9 まで使えます:
color0 gray
color1 000000


このような設定項目はたくさんありますが、とりあえずこれだけというのをリストにしました。

とりあえずこれだけリスト


どう表示するかに関する変数


変数説明
backgroundバッググランドで動かす
use_xftフォントを使用する
xftfontフォントを指定する
xftalphaフォント表示形式の微調整
update_interval更新タイミングの指定
total_run_timesConky を終了するまでに何回更新するかの指定。0 で無限に実行。
own_windowシングルウィンドウの有無
own_window_typeシングルウィンドウの種類を指定
own_window_transparentシングルウィンドウを透明化する
own_window_hintsシングルウィンドウの各設定を行う
own_window_colourウィンドウの背景色の指定。own_window_transparent を true にしなければこちらで色を指定する。
own_window_argb_visual透過表示の指定
own_window_argb_value透過する度合いの指定
out_to_console標準出力の有無(メッセージ)
out_to_stderr標準出力の有無(エラー)
double_buffer表示のチラツキを抑制する
minimum_sizeウィンドウの最小サイズ
maximum_widthウィンドウの最大幅
draw_shades文字にドロップシャドウ効果を加える
draw_outline文字に縁取り効果を加える
draw_bordersConky の枠を表示する
draw_graph_borders枠線をグラフィックにする
default_color基本色の設定
default_shade_colorドロップシャドウ効果の色の設定
default_outline_color縁取り効果の色の設定
alignment基本となる表示位置
gap_x表示位置の指定
gap_y表示位置の指定
no_buffersファイルシステムバッファの使用の有無
uppercase文字列の大文字化
cpu_avg_samplesCPU のサンプリング数
net_avg_samplesネットワークのサンプリング数
override_utf8_localeフォントの文字コードを utf-8 にする
use_spacer特定のフォント使用時の文字位置調整
show_graph_rangeグラウの幅を表示する
show_graph_scaleグラフのメモリを表示する
border_inner_marginテキストとボーダーの余白
border_outer_marginウィンドウの端とボーダーの余白
default_bar_heightバーの基本の高さ
default_bar_widthバーの基本の幅
default_gauge_heightゲージの基本の高さ
default_gauge_widthゲージの基本の幅
draw_graph_bordersグラフのボーダーを描画するかの指定
short_units単位を短い表記にする


何を表示するかに関するキーワード


キーワード概要
acpiacadapter電源アダプタのステータスを表示する
acpifan冷却ファンのステータスを表示する
acpitempシステム温度情報を表示する
batteryバッテリー残量を表示する
buggersメモリバッファサイズを表示する
cachedメモリキャッシュサイズを表示する
color文字色を指定する
cpuCPU使用率をパーセントで表示する
cpubarCPU使用率をグラフで表示する
downspeedダウンロードスピードをKB表示する
downspeedfダウンロードスピードを小数点以下1桁までKB表示する
exec実行されているシェルコマンドを表示する
execiexecに似ているがインターバル設定が行える
fs_barファイルシステムの使用率をグラフで表示する
fs_freeファイルシステムの利用可能な空き容量を表示する
fs_free_percファイルシステムの空き容量をパーセントで表示する
fs_sizeファイルシステムの総容量を表示する
fs_usedファイルシステムの使用量を表示する
hr区切り線を表示する
i2cI2Cデバイスに対する情報を表示する
kernelカーネルバージョンを表示する
loadavgシステムロードアベレージを表示する
machineマシンアーキテクチャを表示する
mailsmail spoolのメール数を表示する
memメモリ使用量を表示する
membarメモリ使用量をグラフで表示する
memmaxメモリ搭載総量を表示する
mempercメモリ使用量をパーセントで表示する
new_mailsmail spoolの未読件数を表示する
nodenameコンピュータ名を表示する
outlinecolor縁取り色を変更する
pre_exec1つ前に実行されていたシェルコマンドを参照する
processessleep を含んだすべてのプロセス数を表示する
running_processes実行中のプロセス数を表示する
shadecolor文字の影色を変更する
stippled_hr区切り線を点線で表示する
swapbarSWAP使用率をグラフで表示する
swapSWAP使用量を表示する
swapmax使用可能なSWAP全量を表示する
swappercSWAP使用率をパーセントで表示する
sysnameシステム名を表示する
temp1I2C温度センサ#1の温度を表示する
temp2I2C温度センサ#2の温度を表示する
timeロケールに合わせた時間を表示する
totaldownダウンロード総量を表示する
totalupアップロード総量を表示する
upspeedアップロード速度をKB単位で表示する
upspeedfアップロード速度を小数点以下1桁のKB単位で表示する
uptime駆動時間を表示する
uptime_short駆動時間を短いフォーマットで表示する


レイアウトに関するパラメーター


変数説明
alignr右寄せする
alignc中央寄せする
goto次の要素を値の分だけConkyウィンドウの左から離して表示する
offsetテキストを値の分だけ右にずらす。負の数を渡すと左にずれる。
voffset縦方向に値の分だけ下にずらず。負の数を渡すと重なる。


レイアウト


表示したい要素を表示したい場所に配置する方法を見ていきます。.conkyrc ファイルの TEXT の下あるいは [[ から ]] までの間に書いてきます。まず、ファイルの中で改行すると Conky ウィンドウでも改行されているのがわかります:
範囲を選択_020

次に ${color skyblue} で文字の色を水色にしました。 ${color skyblue} のある一行だけではなく、すべての行に反映されているのがわかります:
範囲を選択_021

一行だけ反映させたい場合は ${color} で一旦閉じます:
範囲を選択_022

次に左からの Conky ウィンドウ内での絶対値を示す goto を使ってみます。goto は次の要素を左から値の分離れたところに表示します。${goto 5}line1${goto 5}line2 と、line1 と line2 に対しては同じ左の位置から始めているため、文字が重なっていることがわかります。また、${goto 5}line4 と line7 が同じ位置で始まっているため、デフォルトで ${goto 5} になっていることもわかります:
範囲を選択_023

goto を使えばうまく表組みが出来そうです。以下のようにしてやると一番右の列が表示されなくなりました:
範囲を選択_024

この解決方法は minimum_size を調度良く指定してあげることです:
範囲を選択_025

横移動はできるようになったので、次は縦に移動する方法を見ていきます。縦に動かすには voffset を使います。値をマイナスに指定すると上方向に動くので、ここでは line9 が上方向に移動し line6 と重なっています:
範囲を選択_026

goto(あるいは offset) で横移動・表組み、voffset で縦方向の微調整をすれば、とりあえずのレイアウトは出来そうです。

Lua スクリプト


conkyrc ファイル以外に Lua ファイルや画像、壁紙が同封された Conky テーマも数多く存在します。Lua スクリプトを使えばリングや時計のようなグラッフィクなものを描くことができます。これにより、システム情報をより動的に表示できます。

例として Conky KIT-KAT をダウンロードしてみてください。解凍すると conkyrc ファイルの他に scripts フォルダーがあり、その中に Lua フォルダーがあります。

Lua スクリプトを有効にするには conkyrc ファイルの中でこの Lua ファイルのパスを指定する必要があります。Lua スクリプトをテキストエディターで除けば ~/.conky/Kit-Kat/scripts/lua 内に Lua スクリプトがあると想定しているのがわかります:
範囲を選択_016

なので、~/.conky ディレクトリを作成しその中に解凍した「Kit-Kat」フォルダーを配置する必要があります。不必要なトラブルを避けるためにダウンロードした Conky テーマは常に ~/.conky フォルダー内に入れるようにしましょう。

そしたら以下を実行して Kit-Kat テーマで Conky を起動してみましょう:
conky -c ~/.conky/Kit-Kat/conkyrc_Kit-Kat
範囲を選択_016

Conky の中で Python スクリプトを実行する


script.py というファイルを用意しました。ただ「Hi」と表示するだけのスクリプトです:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print("Hi")


次に、.conkyrc ファイルに、このような感じで scirpt.py のパスを指定してあげます:
${exec python3 ~/.conky/Conky-Minimalism-master/script.py}


すると、script.py が実行されて「Hi」と表示されます:
範囲を選択_020

これを利用すればウェブスクレイピングなどをして Conky にウェブからとってきた情報を表示することができます。もちろん、シェルスクリプトや Ruby スクリプトでも(実行環境が整っていれば)大丈夫です。

1.10 以降のシンタックスに変換


1.10 がリリースされて以降いくつか変更が有りました。変数の記述に新たな記法が導入され、変数の中には廃止されたものも有ります。Lua API に関しては変更点はないので既存の Lua スクリプトは動作するはずです。既存の設定ファイル (.conkyrc) に変換するのに一番簡単な方法は convert.lua スクリプトを使うことです。使い方はシンプルで以下のように端末で実行してあげるだけです:
./convert.lua 設定ファイル
上書きするので、バックアップはとってからしましょう。

残念なことに、この変換スクリプトはすべてを完璧に変換してくれるわけではありません。変換したあとで少し弄る必要が有りますが、面倒な作業は処理してくるはずです:
  • 一番目立つ変化は
    conky.config = { 設定内容はここに };

    conky.text = [[ 表示内容はここに ]];
    という記法が導入されていることです。
  • 設定項目は , で区切ります。
  • コメントアウトは -- でします。以前は # を使っていました(今も使えはします)。複数行は --[[ コメント内容 ]] を使います。これらの書き方は Lua 言語の構文です。conky.text = [[ ]]; の中のコメントはまだ # で書かれたままになっています。
  • 僅かに変更がなされた変数が有ります。例えば rss 変数は分毎ではなく秒毎に更新するようになりました。自分の設定ファイルの挙動がおかしければ、その変数に関してマニュアルをチェックしてみてください。変数の中には conky 1.10 で廃止されたものが有ります(例: ${pre_exec ...})。端末で Conky を起動する際、-D あるいは -DD フラグを使ってみると良いかもしれません:
    conky -DD -c .conkyrcのパス
    デバッグモードで実行されるので Conky が今何をやっているのか把握できます。
  • 色に # を使いません。#DCDCDC であれば DCDCDC になります。例えば、${color DCDCDC} や color0 = 'DCDCDC' という表記になります。


Conky Manager を使ってみる


好みの違いはあるでしょうが、数ある Conky のテーマの中でもイケてるテーマを紹介したいと思います。テーマを GUI アプリでコロコロ変えるのに便利なツールに「Conky Manager」があります。これをインストールして適用してみましょう:
sudo add-apt-repository -y ppa:teejee2008/ppa && sudo apt update && sudo apt install conky-manager -y
予め、Conky テーマを ~/.conky にダウンロードして展開しておき、ミントメニューから Conky Manager を起動したら適用したいテーマにチェックをつけるだけです:
範囲を選択_016

スクリーンショット_2018-02-14_01-39-14

Conky のテーマは DeviantArt、OpenDesktop、GitHub などで見つかりますが、古いものはうまく表示できないものばかりです。設定ファイルをいじるか比較的新しいテーマを選びましょう。

Elegance-beam


elegance_beam_conky_variant_by_fahrud26-dc18oyw

時間と日付と CPU 利用率と RAM 利用率とスワップ使用量とストレージの占有率とカーネルのバージョンを表示するシンプルなテーマです。

Conky-Minimalism


conky_minimalism_by_notrans1ation-dbbfuay
Arch 向けのテーマですが、Linux Mint のロゴに変えたり文字の色を緑にすることで Linux Mint にも合うテーマに出来ます:
範囲を選択_016

Tux Arch


7f72b7e9815b6595e2b142d7d0eb1c04f51c
こちらも Arch 向けですが、同様に少々弄るだけで Linux Mint にも合うテーマになります:
スクリーンショット_2018-02-19_15-54-47
画像をクリックして拡大


参考元 : lifewire.com, itsfoss.com, 『Ubuntu上級活用マニュアル』
| Linux |
<< NEW | TOP | OLD>>
スポンサーサイト 00:24
| - |

Show some apps list:


miku

Follow on your feed reader:


About this blog:

Linux Mint-centric chronicle.
Since 2009.
Info 更新日は土曜日です。

roadtoapython

roadtorubyist

git