[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
前提:
サーバ⇒ HP Integrityシリーズ(石=Intel Itanium2)
OS⇒ HP-UX B.11.23 ia64 (`uname -srm`の結果)
Cコンパイラ⇒ HP C (/opt/ansic/bin/cc)
OS標準パッケージ⇒
perl (/opt/perl/bin/perl v5.8.3)
プリインストールしておく外部パッケージ⇒
GNU make (/usr/local/bin/gmake v3.81)
ソースとダウンロード元⇒
termcap-1.3.1.tar.gz
← http://aist.ring.gr.jp/pub/GNU/termcap/
tcsh-6.14.00.tar.gz
← http://www2.wbs.ne.jp/~znc/tcsh/index.htm
tcsh-6.14.00.add.tar.gz
← http://www2.wbs.ne.jp/~znc/tcsh/catalogs/index.htm
man-pages-ja-tcsh-20060815.tar.gz
← http://www.linux.or.jp/JM/download.html
謝辞:
《Ring Server Project》
《tcsh日本語オリジナルカタログ配布ページ》
上記URLには、
いつもお世話になっております。
はじめに:
‘凡庸’はtcsh使いである。
他のシェルでは開発効率が落ちるので、
(ぶっちゃけ、tcsh以外は使いにくいので)
今回利用するHP-UX11i v2 にも入れることにした。
最初、
《Porting And Archive Centre For HP-UX》
から
tcsh-6.14.05のdepot をダウンロードしてインストールした。
が、
使ってみると、
以下のようなエラーメッセージが出てしまい、
viエディタやlessページャが美しく動かない。
% tcsh
tcsh: No entry for terminal type "vt100"
tcsh: using dumb terminal settings.
>
どうやら、
端末を正確に認識できないらしい。
TERM環境変数には“vt100”ってしてあんのにぃ!
アホッ!!
これより少し脱線。
VT100という端末、
20年前の現役製品のころに使ってました。
今は無きDEC社の端末ですが、
入社後の新人研修のときに利用しました。
さすがに、
配属されてからは漢字表示される端末(VT52とか)使いましたが。
あぁ、
懐かしいなぁ。
ちなみに、
VT100 で接続してたサーバは、
名機VAX-11/780 !!!
そして、
名OS、VAX/VMS!!
懐かしすぎて熔けそう。
エスケースシーケンスをコマプロにがりがり書き込んでいた
若かりし自分が少し恥ずかしいな。
何も知らんガキやったし。
元に戻ってっと。
というわけで、
久し振りに
tcshをコンパイルしてみよう。
ついでに、
関西弁カタログでメッセージが出るようにしよう。
手順:
1)GNU termcapライブラリ をインストールする
HP-UX で
素のままtcshをビルドすると、
標準の‘/usr/lib/hpux32/libxcurses.so.1’ がリンクされる。
これだと、
tcsh起動時に
「vt100 なんてターミナル、知らねーよー」
とかぬかしくさる。
Webで状況をググると、
GNU libtermcapなら問題ないらしい。
ので、
そうする。
ソースのtarボールを適宜解凍し、ビルド。
# gzcat termcap-1.3.1.tar.gz | tarx xf -
# cd termcap-1.3.1
# CFLAGS="-z +Z -Y"; export CFLAGS
# ./configure
# make
# make install
/usr/local/lib/libtermcap.a が出来てる。
あぁ、幸せ(その1)。
2)tcshのソースを解凍し、各パッチを適用
ビルドする前に、
関西弁カタログを使えるようソースにパッチを適用する。
# gzcat tcsh-6.14.00.tar.gz | tar xf - ←オリジナル
# gzcat tcsh-6.14.00.add.tar.gz | tar xf - ←関西弁カタログの入ってるパッケージ
# cd tcsh-6.14.00.add
# sh ./merge.sh
・
・
・
# cd ../tcsh-6.14.00
# CFLAGS="-Ae -z +Z -Y -g"; export CFLAGS
# LDFLAGS="-Wl,+n"; export LDFLAGS
# ./configure
3)手で変えないといけない設定をする
tcsh-6.14.00/README の手順に従い、config*.h を加工。
# cp -p config/hpux11 ./config_p.h
# vi config_f.h
※ 72行目、‘NLS_CATALOGS’マクロを有効(#define)にする。
※ 82行目、‘VIDEFAULT’ マクロを有効(#define)にする。
※ 183行目、‘COLORCAT’マクロを有効(#define)にする。
それから、
Makefile内、
cursesライブラリをリンク指定する箇所を書き換える。
旧) 167行目、“LIBES= -lcurses -lsec”
↓↓↓
新) “LIBES= -L/usr/local/lib -ltermcap -lsec”
これは、ちっと、反則技かも。。。
ま、
makeでけたら、ええねん ♪
4)ビルドしてインストール。
# make
# make install
/usr/local/bin/tcsh ができてる。
かなり、幸せ(その2)。
カタログファイルは、以下のようにして手で置いた。
# mkdir /usr/local/share/locale/tcsh
# cp -p tcsh.*.cat /usr/local/share/locale/tcsh/
すごい、幸せ(その3)。
5)“$HOME/.tcshrc ”を用意する
T-CShell固有の定義をする初期化スクリプトを作る。
‘凡庸’は以下の構成で運用する。
#
setenv NLSPATH /usr/local/share/locale/tcsh/%N
set catalog=ja.kansai.cat
#
source $HOME/.cshrc
#
set autologout=1800
set dspmbyte=euc
bindkey -v
set prompt = "\[%n@%m %! %c\] % "
#
“$HOME/.cshrc ” は以下のようになってる。
・
・
・
if ( $?prompt ) then
eval `tset -s -Q `
stty erase "^H" kill "^U" intr "^C" eof "^D" susp "^Z" hupcl \
ixon ixoff tostop \
-istrip -parity
・
・
endif
・
・
setenv LANG ja_JP.eucJP
setenv EDITOR vi
setenv PAGER less
setenv LESSCHARSET koi8-r
・
・
・
6)manページを日本語化
Linux向けに翻訳されているmanページを、
HP-UXにも入れてみる。
# gzcat man-pages-ja-tcsh-20060815.tar.gz | tar xvf -
# mv man-pages-ja-tcsh-20060815/man1/tcsh.1 /usr/local/man/man1/
# rm -f man-pages-ja-tcsh-20060815
# man -M /usr/local/man tcsh
おぉ、ちゃんと見れるやん。
(当たり前だのクラッカー)
ちょい古いめのバージョンの内容だが、
気にするな。
使ってみる:
# tcsh
# sssss
sssssというコマンドはないで~
#
これで、
HP-UX でも
T-CShellが使えるようになった。
あぁ、
最高に幸せ(heart)
何ゆーてんのん?!
ホンマ、キモイわ < 妻 (-_-;)