GNU Screen でdpkg などncursesの表示がずれる問題
GNU Screen はapt インストール時にセッション切断などの事故に備えるために非常に有効なツールである。なのに、APTでdpkgが起動すると、ncursesで表示がずれる問題が発生し、選択が非常にやりにくくなり、aptのために入れるのにaptが面倒になっていた。だからずっと使わなかった。。tmux を使ったいたのは、このcurses 問題がある。
いますぐ対応する場合
問題の原因は、日本語などCJKの全角文字の幅を適切に取り扱えない問題なので、LANG=Cをいれてやれば、解決する。
LANG=C screen
最新バージョンのSCREENなら
~/.screenrc に次の魔法の文字を書くことで解決する。
cjkwidth off
なんと解決する!
(あえて、screen コマンドがわかるように若干数行分を上スクロールしてある)
リロード
Ctrl-Aを押してコマンドモードにしてから、リロードする
:source ~/.screenrc
今回実験した環境
screen -v Screen version 4.09.00 (GNU) 30-Jan-22
screen は ubuntu のapt からインストール
takuya@raspi-ubuntu:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.2 LTS Release: 22.04 Codename: jammy
screen いいじゃん
dpkg の表示がずれる問題がイヤで仕方なかったけどズレが解決するのであればScreenを使います。