2014年8月7日木曜日

tera term + cygterm + Cygwin 1.7.31 で、man がうまく表示できなかった

man を実行すると、矢印キーでスクロールが出来なかったり、j,kキーでスクロールするとやたら画面がちらついたりしてた。
また、man を実行すると、こんな WARNING が出てた。

$ man man
WARNING: terminal is not fully functional
-  (press RETURN)

$TERM を確認すると dumb になっていた。

$ echo $TERM
dumb

一応 TERATERM.INI (tera term) の TermType は

;     Telnet terminal type
;TermType=vt100
TermType=xterm

cygterm.cfg の TERM_TYPE は

#TERM_TYPE = vt100
TERM_TYPE = xterm

になっている。

cygterm.cfg を書き換えて、 xterm になる様にした。

最終的な cygterm.cfg

TERM = ttermpro.exe %s %d /E /KR=UTF8 /KT=UTF8 /VTICON=CygTerm /nossh
TERM_TYPE = xterm
PORT_START = 20000
PORT_RANGE = 40
SHELL = auto
ENV_1 = MAKE_MODE=unix
ENV_2 = HOME=/home/(ユーザ名)
ENV_3 = LANG=
ENV_4 = TERM=xterm
LOGIN_SHELL = Yes
SSH_AGENT_PROXY = No

なんとなく、man のページャーを lv に変更してみる。
変更するために /etc/man.conf を探したがファイルがない。
/etc/man_db.conf を書き換えてみたら、設定が反映された。
もしかして、Cygwin 1.7.31、man 2.6.7-1、man-db 2.6.7-1 な環境では、/etc/man.conf ではなく、/etc/man_db.conf で設定するの?

$ diff defaults/etc/man_db.conf man_db.conf -c
*** defaults/etc/man_db.conf    2014-06-04 18:54:06.000000000 +0100
--- man_db.conf 2014-08-06 17:24:24.660662300 +0100
***************
*** 76,81 ****
--- 76,82 ----
  # definition and modify it.
  #
  #DEFINE       pager   less -s
+ DEFINE        pager   /usr/bin/lv -c -la -Ou8
  #DEFINE       cat     cat
  #DEFINE       tr      tr '\255\267\264\327' '\055\157\047\170'
  #DEFINE               grep    grep

最終的な /etc/man_db.conf の内容

MANDATORY_MANPATH                       /usr/man
MANDATORY_MANPATH                       /usr/share/man
MANDATORY_MANPATH                       /usr/local/share/man

MANPATH_MAP     /bin                    /usr/share/man
MANPATH_MAP     /usr/bin                /usr/share/man
MANPATH_MAP     /sbin                   /usr/share/man
MANPATH_MAP     /usr/sbin               /usr/share/man
MANPATH_MAP     /usr/local/bin          /usr/local/man
MANPATH_MAP     /usr/local/bin          /usr/local/share/man
MANPATH_MAP     /usr/local/sbin         /usr/local/man
MANPATH_MAP     /usr/local/sbin         /usr/local/share/man
MANPATH_MAP     /usr/X11R6/bin          /usr/X11R6/man
MANPATH_MAP     /usr/bin/X11            /usr/X11R6/man
MANPATH_MAP     /usr/games              /usr/share/man
MANPATH_MAP     /opt/bin                /opt/man
MANPATH_MAP     /opt/sbin               /opt/man

MANDB_MAP       /usr/man                /var/cache/man/fsstnd
MANDB_MAP       /usr/share/man          /var/cache/man
MANDB_MAP       /usr/local/man          /var/cache/man/oldlocal
MANDB_MAP       /usr/local/share/man    /var/cache/man/local
MANDB_MAP       /usr/X11R6/man          /var/cache/man/X11R6
MANDB_MAP       /opt/man                /var/cache/man/opt

DEFINE  pager   /usr/bin/lv -c -la -Ou8
SECTION         1 n l 8 3 2 5 4 9 6 7

0 件のコメント:

コメントを投稿