CUIなテキストエディタ on Precise Puppy 5.4で

リリースされた日本語版に関するもの

モデレータ: 暇人, YoN, nyu

返信する
アバター
暇人
記事: 2392
登録日時: 07/08/12(日) 23:33
お住まい: 埼玉県xx市並4
連絡する:

CUIなテキストエディタ on Precise Puppy 5.4で

投稿記事 by 暇人 »

CUIなテキストエディタ on Precise Puppy 5.4
viewtopic.php?f=23&t=2216&p=16135#p16099
について。
(端末から mp や nano-2.2.6 などのテキストエディタを端末のコマンドラインから起動させた場合、テキストエディタの画面がウィンドウの拡大や縮小に追随しない)
最後に編集したユーザー 暇人 [ 12/12/27(木) 00:56 ], 累計 2 回
管理人見習い
NEC Express5800 S70/SR G6950 2.8GHz/1G
lenovo S10-3 AtomN450 1.66G/1G
暇人/貳馬力/2CV
アバター
暇人
記事: 2392
登録日時: 07/08/12(日) 23:33
お住まい: 埼玉県xx市並4
連絡する:

Re: CUIなテキストエディタ on Precise Puppy 5.4

投稿記事 by 暇人 »

上記の現象は、画面の大きさが80x25に環境変数で指定されてるからです。
端末でsetと打ち込むと環境変数の一覧がずらずらと出てきますが、その中に
COLUMNS=80とLINES=24という行があります。
これを見てるんじゃないかな?

export COLUMNS=
export LINES=

とするとどうでしょう。
管理人見習い
NEC Express5800 S70/SR G6950 2.8GHz/1G
lenovo S10-3 AtomN450 1.66G/1G
暇人/貳馬力/2CV
cygnus_odile
記事: 665
登録日時: 09/08/16(日) 14:30

Re: CUIなテキストエディタ on Precise Puppy 5.4

投稿記事 by cygnus_odile »

暇人 さんが書きました:上記の現象は、画面の大きさが80x25に環境変数で指定されてるからです。

export COLUMNS=
export LINES=

とするとどうでしょう。
暇人さん、ご教示有難うございます。
 環境変数 COLUMNS、LINES を未定義にすると、ウィンドウサイズをマウスで変更した際にきちんと表示がサイズ変更に追随するようになりました。
 端末エミュレータの、 urxvt と ROXTerm の各々にて、 テキストエディタ mp や nano (nano-2.2.6-ja-4.pet ) にて確認しました。
アバター
暇人
記事: 2392
登録日時: 07/08/12(日) 23:33
お住まい: 埼玉県xx市並4
連絡する:

Re: CUIなテキストエディタ on Precise Puppy 5.4

投稿記事 by 暇人 »

で、そもそも起動時にどこで定義されているのか?
わかりませんでした。
管理人見習い
NEC Express5800 S70/SR G6950 2.8GHz/1G
lenovo S10-3 AtomN450 1.66G/1G
暇人/貳馬力/2CV
cygnus_odile
記事: 665
登録日時: 09/08/16(日) 14:30

Re: CUIなテキストエディタ on Precise Puppy 5.4

投稿記事 by cygnus_odile »

とりあえず、場当たり的な対処ですが、
/root/.bashrc
に、

コード: 全て選択

# command aliases
alias nano='LINES= COLUMNS= nano'
alias mp='LINES= COLUMNS= mp'
と、追記して、alias を設定し、 端末から nano とか mp とか打って起動したときの、端末ウインドウサイズの変更に追随して画面表示がされるようにしてみました。 根本的な原因/対処はできていないのですが。

 libncurses.so とか libncursesw.so とかを疑って、Slacko や Lucid のライブラリに入れ替えてみましたが、症状は変わらずデシタ。
 
cygnus_odile
記事: 665
登録日時: 09/08/16(日) 14:30

Re: CUIなテキストエディタ on Precise Puppy 5.4

投稿記事 by cygnus_odile »

Precise 5.4.1 の /etc/profile を眺めていたら、117行 - 123行に、以下の記述を発見。
コメントを読むと、どうやら 環境変数 SHELL を "/bin/bash" にセットしているのだが、それによって、 rxvt での mp などのテキストモードアプリでトラブルが出るのは、過去にもあったことらしい。
もっとも、 /root/.bashrc にて、 export TERM=xterm すればよいと書いてあって、
/etc/profile の 上の方では、 export TERM="xterm" と記述されているのだけど。
Precise Puppy になって、何が変わってしまったのだろう。

コード: 全て選択

#v2.17 have uncommented this...
SHELL="/bin/bash"
export SHELL
#...this causes a problem with characters in text-mode apps running in rxvt. for example, in mp
#a vertical line character displays as a 3. so leave the default shell as Busybox sh.
#...no, have a fix, from alienX. added TERM=xterm to /root/.bashrc.
#v2.0.0 additional note: now have /bin/sh a symlink to /bin/bash, so above not used.
cygnus_odile
記事: 665
登録日時: 09/08/16(日) 14:30

Re: CUIなテキストエディタ on Precise Puppy 5.4

投稿記事 by cygnus_odile »

urxvt端末の方は、~/.bashrc (='/root/.bashrc')に alias 設定( alias mp='LINES= COLUMNS= mp'; alias nano='LINES= COLUMNS= nano' )を記述することで、対処できたのだが、
Lupu-528JP から抜き取った、端末 ROXTerm 1.18.5 (JP版)viewtopic.php?f=25&t=2200
では、
  ~/.bashrc の記述がデフォルトでは反映されない。

ROXTerm のメニューから、[設定]→[現在のプロファイルを編集]にて、プロファイルの編集画面を開き、
[コマンド]タブを開いて、 「login shell」 にチェックを付すと、
/etc/profile は読み込まれるようになるが、 ~/.bashrc は読み込まれないようです。

結局、「既定のシェル」ではなく、「指定コマンドを実行」のラジオボタンにチェックして、
その右欄に、 /bin/bash
と記載して、端末を起動したときに、 bash を実行するようにすると、 ~/.bashrc が読み込まれた状態で起動し、
ROXTerm 1.18.5 でも、 mp や nano などのテキストエディタの表示が、ウィンドウサイズの変更にきちんと追随するようになりました。
もっとも、 alias 設定を /etc/profile に記述して、 「既定のシェル」で、 「login shell」 にチェックを付しても良いのかもしれないのですけど。
cygnus_odile
記事: 665
登録日時: 09/08/16(日) 14:30

原因は /bin/bash の挙動らしい --CUI アプリ問題 on Precise Puppy 5.4.1

投稿記事 by cygnus_odile »

Precise Puppy 5.4 .1 にて、CUIなテキストエディタ mp, nano がウィンドウサイズの変更に追随しない件の原因は、 どうやら /bin/bash の挙動 によるものらしいです。

Prepup 5.4.1 標準では、下掲の如く、 bash の version 3

コード: 全て選択

# bash --version
GNU bash, version 3.00.16(1)-release (i486-t2-linux-gnu)
Copyright (C) 2004 Free Software Foundation, Inc.
が採用されていますが、この場合、

コード: 全て選択

# set | grep COLUMNS
COLUMNS=128
# set | grep LINES
LINES=22
# env | grep COLUMNS
COLUMNS=128
# env | grep LINES
LINES=22
#
のように、 シェル変数 と、環境変数 との双方に COLUMNS や LINES がセットされています。

ところが、 Lucid Puppy 5.2.8JP や、Slacko 5.3.5.3 では、bash は、

コード: 全て選択

GNU bash, version 4.1.0(1)-release (i486-t2-linux-gnu)
が採用されており(サイズは違いますが)、下記のように、 環境変数には、COLUMNS や LINES がセットされないようです。

コード: 全て選択

# set | grep COLUMNS
COLUMNS=128
# set | grep LINES
LINES=22
# env | grep COLUMNS
# env | grep LINES
#
環境変数として、LINES や COLUMNS が セットされていると、mp や nano は起動時にそれを読んで画面サイズを固定だと思って動作しているのではないかと思われます。

ものは試しにと、 Slacko 5.3.5.3 や Lupu-528JP の /bin/bash をコピーして、 Precise Puppy 5.4.1 の /bin/bash を すげ替えると、 ばっちり問題解消!しました。
Precise Puppy 5.4.1 の bash のコンパイル時のオプション設定で挙動が変わっているのでしょうか?
cygnus_odile
記事: 665
登録日時: 09/08/16(日) 14:30

Re: CUIなテキストエディタ on Precise Puppy 5.4

投稿記事 by cygnus_odile »

Precise Puppy 5.4.3 でも、同様に、テキストモードのアプリケーションである、
テキストエディタの mp や nano を 端末から立ち上げたときに ウィンドウのリサイズに追随しないので、
結局、 /etc/profile ファイルの末尾に、

コード: 全て選択

unset LINES
unset COLUMNS
を追記して、対処。 (with bash version 3.)
返信する