答え1
私のソリューション
1. 非常に短いスクリプトを書く
新しいファイルを作成して名前を変更し、次のファイルをuptime.sh
コピーします。
!#/bin/sh
echo "$(uptime -p)" > ~/.config/i3/uptime
uptime -p
これは私が選択したファイルにコマンドの出力を追加または記録します~/.config/i3/uptime
。このコマンドはuptime -p
稼働時間を表示します美しい滞在。
正しく完了したら、コンテンツ~/.config/i3/uptime
はup x hours, x minutes
。
試してみるもう1つのコマンドはuptime -s
次のとおりです。日時システムが起動してから。
2. クローンジョブの作成
crontab -e
端末で実行したら、次の行を追加してください。
* * * * * /home/user/path/to/uptime.sh
これにより、1分ごとにスクリプトが実行されるため、稼働時間の内容は1分ごとに更新または上書きされます。これにより、最新の稼働時間を得ることができます。
スクリプトが1分ごとにファイルを実行したり更新したりしたくない場合は、毎時間ファイルの更新に置き換えること* * * * *
ができます。@hourly
uptime
3. 最後にi3status
構成ファイルを編集します。
このように:
# uptime
read_file uptime {
color_good = "#ffffff"
format = "%content"
path = "/home/user/.config/i3/uptime"
}
それはすべてです。 i3を再起動し、i3status uptime
それが表示されることを願っています。美しい。
答え2
よりきれいにするためにこのスクリプトを使用しました。
#!/bin/sh
uptime=$(uptime -p)
days=$(echo "$uptime" | grep -oP '\d+(?= day)')
hours=$(echo "$uptime" | grep -oP '\d+(?= hour)')
minutes=$(echo "$uptime" | grep -oP '\d+(?= minute)')
formatted_uptime=""
if [ -n "$days" ]; then
formatted_uptime="${days}d "
fi
formatted_uptime="${formatted_uptime}${hours}h ${minutes}m"
echo "$formatted_uptime" > ~/.config/i3/scripts/uptimedm