i3ステータスバーに稼働時間を表示するには?

i3ステータスバーに稼働時間を表示するには?

稼働時間を通常の単位で表示したいです(したがって、1時間を超える場合は分だけ表示せず、1分を超える場合は秒だけ表示しません。例えば、「1:02:30」はi3status列で1時間、2分、30秒を意味します私が見つけたどのユニットでも稼働時間を表示する方法さえ見つかりません。この倉庫GitHubではこれが可能であると主張しているようですが、これらの設定をコピーするとstatus_commandこの行を実行するのが難しいというエラーが発生します。倉庫の構成。つまり、そのstatus_command行は次のようになります。

status_command ~/.i3/i3status.sh ~/.i3/i3status.conf

i3以前のバージョンでのみ動作するようです。これを行う方法についてのアイデアはありますか?こここれが私の現在の~/.i3status.confファイルです。私のディストリビューションはGentoo Linuxです。

ベストアンサー1

解決策が見つかりました。私はその構文をよく理解していません。ファイルを編集するだけです~/.i3/i3status.sh。今は:

#!/bin/sh

/usr/bin/i3status -c $HOME/.i3status.conf | while :
do
    read line
    RAM=`free -kh | grep Mem | awk '{print $3}'`
    TOTR=$(cat /proc/meminfo | grep MemT | sed 's/.*\://g' | sed 's/ *//g' | sed 's/kB//g')
    TOT=$(octave --eval "$TOTR/1024^2" | sed 's/ans = *//g' | sed 's/$/G/g' )

    # Put uptime
    uptime=`uptime | awk '{print $3 " " $4}' | sed 's/,.*//'`
    hour=$(echo $uptime | sed 's/\:.*//g')
    min=$(echo $uptime | sed 's/.*\://g')
    UP="$hour h $min m"

    # Compile C++ CPU prog and run it
    g++ -o cpu.o $HOME/.i3/cpu.cpp
    CPU=$(./cpu.o)

    printf "%s\n" "Up: $UP | CPU: $CPU% | RAM: $RAM/$TOT | $line"
done

稼働時間に最も関連性のある行は、最後のコマンドの間に# Put uptimeあり# Compile C++...ますprintf "%s\n"...。私の完全なi3設定ファイルは以下にあります。このリポジトリ

おすすめ記事