稼働時間を通常の単位で表示したいです(したがって、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設定ファイルは以下にあります。このリポジトリ。