[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:03751] MOJIBAKE on kterm
- From: NABETANI Hidenobu <nabetani@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
- Subject: [debian-users:03751] MOJIBAKE on kterm
- Date: Sun, 11 Jan 1998 14:52:42 +0900
- X-dispatcher: imput version 971024
- X-fingerprint: D4 92 E7 B8 5F A6 11 62 95 8E C6 14 81 2B BF B6
- X-ml-info: If you have a question, send a mail with the body "# help" (without quotes) to the address debian-users-ctl@debian.or.jp
- X-ml-name: debian-users
- X-mlserver: fml [fml 2.1A#25]; post only from members
- X-url: http://www-nuclth.phys.sci.osaka-u.ac.jp/~nabetani/
- Message-id: <19980111145237R.nhide@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
- X-mail-count: 03751
- X-mailer: Mew version 1.92.4 on Emacs 19.34 / Mule 2.3 (末摘花)
鍋谷です。
kterm で dialog, talk 等を使うと kterm が文字化けしてしまいます。
関係ありそうなもののバージョンは
kterm 6.2.0-8
ncurses3.4,ncurses-* 1.9.9g-7
です。が、bo でも文字化けが起きるので terminfo の問題かと思いま
す。RedHat4.2 + PJE0.1 の
ncurses-1.9.9e-4
libtermcap-2.0.8-4
termcap-9.12.6-5
kterm-6.2.0-1.i386.rpm (PJE)
では文字化けしません。PJE の kterm は libtermcap を使っています
ので、試しに bo の kterm(6.2.0-4) のバイナリを RedHat で実行す
ると正しく dialog,talk 等の画面を表示できます。
PJE では、kterm のインストール時に terminfo を変更しているよう
ですので、これに従えばよさそうです。私はまだ試していません。
RedHat + PJE 環境で、
infocmp kterm した出力
/var/lib/ezinst/scripts/kterm.p の内容
を以下に添付します。私は terminfo についてはさっぱりなので皆さ
んの意見をお聞かせください。
# RedHat では ash は標準なんでしょうか?
# Reconstructed via infocmp from file: /usr/lib/terminfo/k/kterm
kterm|kterm-color|kterm kanji terminal emulator (X window system),
am, eslok, hs, km, mir, msgr, xenl, xon,
colors#8, cols#80, it#8, lines#65, pairs#64,
acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++\054\054hhII00,
bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=^M,
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
dsl=\E[?H, ed=\E[J, el=\E[K, enacs=, fsl=\E[?F,
home=\E[H, ht=^I, ich=\E[%p1%d@, ich1=\E[@,
il=\E[%p1%dL, il1=\E[L, ind=^J,
is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l,
kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
kcuu1=\EOA, kend=\EOe, kent=\EOM, kf1=\E[11~,
kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\E[12~,
kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~,
kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\EO\200,
kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
op=\E[30;49m, rc=\E8, rev=\E[7m, ri=\EM,
rmacs=\E(B, rmam=\E[?7l, rmcup=\E[2J\E[?47l\E8,
rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
rs1=^O,
rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E<,
sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
setb=\E[%p1%{40}%+%dm, setf=\E[%p1%{30}%+%dm,
sgr0=\E[m, smacs=\E(0, smam=\E[?7h,
smcup=\E7\E[?47h, smir=\E[4h, smkx=\E[?1h\E=,
smso=\E[7m, smul=\E[4m, tbc=\E[3k,
tsl=\E[?E\E[?%i%dT, u6=\E[%i%d;%dR, u7=\E[6n,
u8=\E[?1;2c, u9=\E[c,
#!/bin/ash
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/sbin:/usr/local/bin
##if [ "$*" = "-install" ] ; then
cat << ENDINFO > /tmp/kterm.info
kterm|kterm-color|kterm kanji terminal emulator (X window system),
enacs=,smacs=\E(0,rmacs=\E(B,
hs, eslok, tsl=\E[?E\E[?%i%dT, fsl=\E[?F, dsl=\E[?H, use=xterm,
colors#8, pairs#64, op=\E[30;49m,
setf=\E[%p1%{30}%+%dm, setb=\E[%p1%{40}%+%dm,
setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
ENDINFO
cat << ENDCAP > /tmp/kterm.cap
vk|kterm|kterm-color|kterm kanji terminal emurator (X window system):\\
:Co#8:NC#3:pa#64:AB=\E[4%dm:AF=\E[3%dm:op=\E[37;40m:\\
:hs:es:ts=\E[?E\E[?%i%dT:fs=\E[?F:ds=\E[?H:tc=xterm:
ENDCAP
if [ -f /usr/lib/terminfo/k/kterm ] ; then
mv /usr/lib/terminfo/k/kterm /usr/lib/terminfo/k/kterm.org
tic /tmp/kterm.info
fi
SHELLTEST="`echo -E test`" # examine ash or bash
case $SHELLTEST in
test) # bash (recognize echo -E)
shcatline (){
while read -r i
do
case $i in
\#*) echo -E "$i";;
*\\) echo -nE "$HEAD$i" ; echo -n "" ; HEAD=" ";;
*) echo -E "$HEAD$i" ; HEAD="";;
esac
done < $1
}
;;
"-E test") # ash (can't recognize echo -E)
shcatline (){
while read i
do
case $i in
\#*) echo "$i";;
*\\) echo -n "$HEAD$i" ; echo -n "" ; HEAD=" ";;
*) echo "$HEAD$i" ; HEAD="";;
esac
done < $1
}
;;
*)
echo 'Invalid shell!!' ; exit 1
esac
if fgrep -q kterm /etc/termcap ; then
mv /etc/termcap /etc/termcap.org
shcatline /etc/termcap.org | fgrep -v kterm | tr "" "\n" > /etc/termcap
fi
cat /tmp/kterm.cap >> /etc/termcap
rm /tmp/kterm.cap /tmp/kterm.info
## fi