screen v5のcaption/hardstatus設定 (RHEL 10)

最近、AlmaLinux 10の調査を始めました。
RHEL 9系と比べて、大きな変更はなさそう、という感触ですが、含まれるソフトウェアパッケージには細かい変更点があるようです。

今のところ、一番戸惑ったのが、仮想ターミナル管理のscreenコマンドです。

僕のscreenの設定(.screenrc)は、シンプルに以下のようにしています。

defkanji utf-8
defencoding utf-8
encoding utf-8 utf-8
hardstatus off
hardstatus alwayslastline "%w"
defscrollback 10000
escape ^Tt
startup_message off
term vt100
shell -$SHELL

ウインドウ下部のステータスバーは、以下のようになります。
現在アクティブな(作業中の)ターミナルの番号に、「*(アスタリスク)」がついています。

ところが、AlmaLinux 10でEPELリポジトリからscreenをインストールし、同じ設定でscreenを実行すると、以下のようになってしまいます。

↑ステータスバーの背景色がなく、アクティブなターミナルの「*(アスタリスク)」マークがありません。

これでは使いにくいですね。
調べたところ、RHEL 10では、screen v4ではなく、screen v5がインストールされ、screen v5は、caption/hardstatus の色指定が変わったとのことです。

  $ screen -v

Screen version 5.0.1 (build on 2025-06-30 00:06:00)

(参考)
・GNU Screen 5.0.0リリース(20年ぶりのメジャーアップデート?) – rcmdnk’s blog
https://rcmdnk.com/blog/2024/08/29/computer-screen/

・GNU Screen user? How to migrate hardstatus colors to screen5 – Alien Pastures
https://blog.slackware.nl/gnu-screen-user-how-to-migrate-hardstatus-colors-to-screen5/

これまでと同じような見栄えにするため、.screenrc の hardstatus は、こんな感じに変更してみました。

・変更前

hardstatus alwayslastline "%w"

・変更後

hardstatus alwayslastline '%{= 15;8}%-w%{= 15;8}%n* %t%{= 15;8}%+w'

色指定は
8: dark grey
15: white
です。

先ほどの参考記事にあったように、ホスト名を緑色で表示するならこんな感じ。
(画像の「al10」がホスト名です。)

hardstatus alwayslastline '%{= 15;8}%-w%{= 15;8}%n* %t%{= 15;8}%+w %-= %{10;8} %H%{-}'

さらに、日付時刻を表示するならこんな感じ。

hardstatus alwayslastline '%{= 15;8}%-w%{= 15;8}%n* %t%{= 15;8}%+w %-= %{10;8} %H%{15;8} | %D %M %d %Y%{= 15;8} %c%{-}'

ホスト名や時刻が表示されるのは、意外と便利かもしれませんね。

.screenrc caption/hardstatus については、以下の記事も参考にしました。
ありがとうございます。

・screen の STRING ESCAPES – 理系学生日記
https://kiririmode.hatenablog.jp/entry/20121027/p1

タイトルとURLをコピーしました