답변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
.
시도해 볼 수 있는 또 다른 명령은 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