後続の行でconkyのexeci出力を使用する方法

後続の行でconkyのexeci出力を使用する方法

私はコーダーではなく、Linuxディストリビューションのデフォルトとしてconkyを使用したい人です。ここでは自動ネットワーク設定を取得しようとしています。

  1. ここと他の場所の投稿に続いて、次の行を使用してアクティブなネットワークインターフェイスを印刷できます。

    ${color2}アクティビティ: ${color3}${execi -300 netup}${color}

「netup」は、/usr/local/bin/に1行しかない小さなスクリプトを表します。

ip addr show | awk '/inet.*brd/{print $NF; exit}'

私の場合、画面にconky行が作成されます。アクティビティ:インターフェース名(下記参照)。今まではそんなに良くなった。

  1. これで、トラフィックやその他のネットワーク情報に対するインターフェイス固有のコマンドをこのスクリプトから出力された名前に変更しようとしました。これにより、あなたとあなたの問題を減らすことができます。私はこれを試してみましたが、wlan0などを使用するとうまくいきます。

    以下: ${downspeedf netup}kB/s ${alignr}上記: ${upspeedf netup}kB/s ${downspeedgraph netup 30,120 000000 000000} ${alignr}${upspeedgraph netup 30,120 000

チャートは表示されますが、内容がないため、これは明らかに間違っています。 コンテンツのないネットワーク図

2つの質問:1)前の行に書かれたアクティブインタフェースを読む方法はありますか? 2)そうでない場合、netupスクリプトの出力をこれらの下向きおよび上向きプロットにどのように統合しますか?

助けてくれてありがとう。

屋内便器

答え1

あなたができることは、スクリプトを呼び出してインターフェイス名を返すまでeval呼び出しを遅らせることです。upspeedf

例えば、

${eval $${downspeedgraph ${exec netup} 30,120 000000 000000} } 
${alignr}
${eval $${upspeedgraph   ${exec netup} 30,120 000000 000000} }

評価のために倍増すると$単一になります。$残念ながら、更新サイクルごとにスクリプトが呼び出されるため、スクリプトを最適化する必要があるかもしれません。間隔を使用するとexeci違いはありません。

完全な多様性を得るには、多くのことを学ぶ必要があるlua関数を使用する必要があります。インターフェイスを起動時に一度だけ決定する必要がある場合は、小さな起動スクリプトを作成してインターフェイス名を見つけ、conkyを実行する前にその名前で.conkyrcファイルを編集することをお勧めします。


ちなみに、${eval}これはバージョン1.10より前に壊れていました。修理する私はそれが1.10.3または.4で動作すると思います。

関連情報