リアルタイムな時間の表示

スポンサーリンク

リアルタイムな時間をコマンドを使って、表示し続ける方法を眠れないのでやってみました。

検証した環境

$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
$ uname -r
5.15.0-69-generic

表示し続ける方法

結果は、記事にしていませんので、自身で試してみてください。

リアルタイムで表示し続ける方法

リアルタイムに表示し続ける方法は、シェルスクリプトのループで繰り返す方法が思いつきます。

$ while true
> do
> clear
> LANG=C date +%m/%d
> LANG=C date +%H/%M
> sleep 1
> done

bannerコマンドで表示

古くからあるbannerコマンドで表示する方法です。

$ sudo apt -y install sysvbanner
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  sysvbanner
0 upgraded, 1 newly installed, 0 to remove and 3 not upgraded.
   : (省略)
$ while true
> do
> clear
> LANG=C banner `date +%m/%d`
> LANG=C banner `date +%H:%M`
> sleep 1
> done

toiletコマンドで表示

もう少し、派手さが欲しい場合は、toiletコマンドを使ってみるのもいいかも知れません。

$ sudo apt -y install toilet figlet
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  toilet-fonts
The following NEW packages will be installed:
  figlet toilet toilet-fonts
0 upgraded, 3 newly installed, 0 to remove and 3 not upgraded.
   : (省略)
$ ls /usr/share/figlet | grep -v flc ・・・ 使えるフォント名を出力
ascii12.tlf
ascii9.tlf
banner.flf
big.flf
bigascii12.tlf
   : (省略)
$ while true
> do
> clear
> LANG=C toilet --gay --font mono12 `date +%m/%d`
> LANG=C toilet --gay --font mono12 `date +%H:%M`
> sleep 1
> done

toiletコマンドとlolcatコマンドの併用

もう少し動きをつけたい場合は、lolcatコマンドを使うのもいいでしょう。

$ sudo apt install lolcat
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  fonts-lato javascript-common libjs-jquery libruby2.7 rake ruby
  ruby-minitest ruby-net-telnet ruby-paint ruby-power-assert ruby-test-unit
  ruby-trollop ruby-xmlrpc ruby2.7 rubygems-integration
Suggested packages:
  apache2 | lighttpd | httpd ri ruby-dev bundler
The following NEW packages will be installed:
  fonts-lato javascript-common libjs-jquery libruby2.7 lolcat rake ruby
  ruby-minitest ruby-net-telnet ruby-paint ruby-power-assert ruby-test-unit
  ruby-trollop ruby-xmlrpc ruby2.7 rubygems-integration
0 upgraded, 16 newly installed, 0 to remove and 3 not upgraded.
   : (省略)
$ while true
> do
> clear
> LANG=C toilet `date +%m/%d` | lolcat -a -s 30
> LANG=C toilet `date +%H:%M` | lolcat -a -s 30
> sleep 1
> done