[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FDclone-users:00387] Re: 日本語文字コード(UTF8) 環境での動作について



 しらいです。

In Message-Id <20050414151657.55E3140C392@yuka.unixusers.net>
        Takashi SHIRAI <shirai@unixusers.net>writes:
>  しらいです。

>  むしろ command line を含む shell としての一面からは pty は
> 余り嬉しくはないかも知れません。pty のために子を作ってしまう
> と builtin なのに別 process なんてことも出て来ちゃうし。
>  今実験的に作ってる実装でも、command line から環境変数の設
> 定を行なっても FDclone 自身に反映されなくて悩んでますし。

 この件なんですが、さんざ試行錯誤した挙げ句、pty を使うと子
process を作らざるを得ないという結論に達しました。
 OS にもよるんですが、自分自身の制御端末をころころと切替え
るという技は少なくとも shell を賄うような process には無理の
ようです。

 で、その結果何がどうなるかですけど、EXECUTE_SH 等の command
line からの実行が全て別 process で行なわれてしまうため、変数
だとかキー割当てだとかの設定が全く反映しません。
 カスタマイザを使って GUI ライクに設定すると大丈夫なんです
が、それでは shell としては弱い訳で、現在 process 間通信を行
なって親子間で設定情報の授受を行なわせようとしています。

 そこで相談なんですが、FDclone のマニュアルで「組込みコマン
ド」の項目を一通り眺めてみて、「この組込みコマンドは良く使う
のでその結果が反映されないのは困る」といった意見を出して欲し
いんです。
 現時点では、変数や関数など shell としての設定項目は全て共
有させる方向で実装してますけど、キー割当てやランチャ設定など
interface 設定項目はサボろうかなと考えてます。
 勿論、pty を使うかどうかは選択可能なので、使わない設定にし
ておけば従来通り何の問題もなく設定を反映出来る訳ですが、「設
定変更を伴う時だけ pty を無効に」なんてことを強いてしまうと
非実用的で全然使って貰えないんじゃないかと思ってます。

 という訳で、pty 使用時に command line から起動した process
から引き取るべき情報をみなさん考えてみて下さい。

# shmat(2) や mmap(2) 使って共有メモりという手も考えたんで
#すが、タイミングの問題と OS 依存の問題とがクリア出来ないの
#で、今のところ pipe(2) 使ってしこしこ転送してます。

                                               しらい たかし