テキストコンソールのバナーのAAを漢字で作成する方法
RedHat,CentOSに限りませんが、telnetログインやテキストコンソールの場合には、/etc/issue
、/etc/issue.net
に設定されている内容がバナーとして表示されます。
開発機などでたくさんのサーバを管理している場合、ここにホスト名などの情報が大きなアスキーアートで表示されていると便利なことがあります。
普通、/bin/banner
を使いますが、ここでは日本語(漢字)のbannerを作成する方法を紹介します。
タネ明かしは簡単で、PostScriptで作成した原稿を、GhostScriptでいったんPBM形式で出力させたあと、netpbmのpbmtoasciiでAAに変換するという手順を踏みます。
原稿 k.ps
%! /Ryumin-Light-EUC-H findfont 25 scalefont setfont 0 10 moveto (開発機) show 0 5 moveto 78 5 lineto stroke 0 33 moveto 78 33 lineto stroke showpage
変換コマンド列(sh)
gs -q -dBATCH -dNOPAUSE -r72 -sDEVICE=pbm -sOutputFile=\|pbmtoascii k.ps
簡単ですね。
この場合PostScriptファイルはEUC-JPで保存してください。
Ryumin-Lightの部分をGothicBBB-Mediumと書き換えれば、ゴシック体になります。
なお、k.psなどというファイルを作らなくても、Linux上で作業する場合は、echoコマンドでPostScriptオペレータを記述したものを、GhostScriptにパイプで渡せばよいのですが、cygwin環境でうまくいかないので上のような形としました。
おまけ:WindowsのcygwinのGhostScriptに日本語対応させる
私の環境では、/usr/share/ghostscript/8.50/lib/cidfmapの末尾に、次の記述を追加したら日本語が出せました。
/Ryumin-Light << /FileType /TrueType /Path (msmincho.ttc) /SubfontID 0 /CSI [(Japan1) 4] >> ; /GothicBBB-Medium << /FileType /TrueType /Path (msgothic.ttc) /SubfontID 0 /CSI [(Japan1) 4] >> ;
ポイントは、この後ln -s c:/windows/fonts/msmincho.ttc /usr/share/ghostscript/fonts/msmincho.ttc
しておくこと。cygwin付属のGhostScriptでは、上記のファイルにあるように相対パスでしか認識しないようなので、シンボリックリンクをこのように張ったら動きました。msgothic.ttcも同様にしてください。