長南です。 御指南ありがとうございます。C の勉強をしたのはずいぶん前、 それもカレンダーを作っておしまいのくちですので、おそるおそる 取り組んでみました。 羽根さんのメールより [vine-users:053324] > > 場当たり的に直すなら、Canna35b2/canuum/jhlp.c の > chmod/chown をコメントアウトして rebuild それば良 > いと思います(これが最善とも思えませんが)。 jhlp.c は patch が作っているようなので、Canna35b2-2.patch の 該当部分をこんなふうにコメントアウトしました。 +/* ptyname(nmbuf, ptynm, ptyno); + if (chown(nmbuf, 0, 0) == ERROR) { + perror(prog); + } + if (chmod(nmbuf, 0666) == ERROR) { + perror(prog); + } + + ptyname(nmbuf, ttypnm, ptyno); + if (chown(nmbuf, 0, 0) == ERROR) { + perror(prog); + } + if (chmod(nmbuf, 0666) == ERROR) { + perror(prog); + } */ こうして Canna を作り直すと、確かに canuum を終了しても、 エラーが出なくなりました。また、 > …… また、root で canuum > を実行後、/dev/ttyp0 と /dev/ptyp0 のオーナー/グルー > プが、root/root になってしまうので、これもちょっと > 気になります。 この問題も、起こらなくなりました。 上のコードは、オーナー/グループとパーミッションを、使う前の 状態に戻そうとしているわけでしょう(どこかで変えているんだろうか)。 それは正しい終了処理なのでしょうが、canuum を root で実行しない 限り、エラーが出るわけだし、/dev/ttyp0 や /dev/ptyp0 などの オーナー/グループやパーミッションも root/root と 666 であるのを 前提にしている。canuum に setuid ビットが付き、/dev/ttyp0 などの 属性も root/root、666 に決まっていた時代のコードなんでしょうか。 それから、canuum を作り直した後で、フレームバッファ・コンソールを 使うときは、菊池さんが [vine-users:053244] でおっしゃったように ユーザーを tty グループに登録し、/dev/ttyp0 をこんなふうに直す 必要がありました(最初は crw------- に root/tty でしたので)。 crw-rw---- 1 root tty 3, 0 Sep 4 16:27 /dev/ttyp0 -- 長南洋一 cyoichi@xxxxxxxxxxxxxxx