プロが教えるわが家の防犯対策術!

VineLinuxを使っています。

Windows の Astec X から使ったところ、文字化けが発生したので、
http://www.astec.co.jp/products/ASTECX/FAQ/vine2 …
にしたがって設定したところ文字化けが直りました。

しかし、Linuxを再起動したとき元に戻ってしまいます。

上記サイトに書いてある、

# /usr/X11R6/bin/xfs -config /usr/X11R6/lib/X11/fs/config.astecx -port 7200 -daemon

このコマンドを手動でやっていたので、Linuxの起動時にもこのコマンドを自動実行するようにしなければならないのだと思うのですが、Linuxでこういうのを自動実行するにはどうしたらよいのでしょうか?
Windowsだと、コントロールパネルに「サービス」というのがあって、OSの起動時に自動実行してくれますが。

A 回答 (6件)

 起動スクリプトの中身をつらつらと読んでいたのですが・・・・.どうも僕が提案した方法はあまりよくないようです.



 標準のフォントサーバを起動しておく必要がないなら,xjdさんの言うとおりにしたほうが良いかもしれない.

 とりあえず,僕の方法でやるための手順を記しておきます.

(1)
/etc/init.d/ で, cp xfs xfs2 とコピーする.

 これは正しい.そのまま実行してください.

(2)
xfs2 の start()関数で,

 daemon xfs -droppriv -daemon

を,

 daemon xfs -config /usr/X11R6/lib/X11/fs/config.astecx -port 7200 -daemon

と書き換える.

 これも正しいが,もともと -droppriv オプションがついているのでこれを付け加えておいたほうが良いのではないかと.つまり,

 daemon xfs -droppriv -config /usr/X11R6/lib/X11/fs/config.astecx -port 7200 -daemon

 とする.気が向いたら,ファイルの最初の

# config: /etc/X11/fs/config

 のところも書き換えといて.

 更に,ファイル中の xfs を全て xfs2 に書き換えてください.また,

/usr/X11R6/bin/xfs

 というファイルがあるので,これに関して,

cd /usr/X11R6/bin
ln -s xfs xfs2

 としてシンボリックリンクを作ります.このあたりがお勧めしない理由です.変なところに変なゴミファイルを作らなきゃいけない.

(3)
 最後に,これだけでは自動起動しないので,chkconfig するんですが,これは多分 RedHat系なら /sbin ディレクトリにあると思います.

locate chkconfig

 すれば出てくるのではないでしょうか?.

chkconfig --add xfs2

 で起動スクリプトがセットアップされるはず.

以上.

> ■ /etc/rc.local の if と fi の間のどこかに
> xfs -config /usr/X11R6/lib/X11/fs/config.astecx -port 7200 -daemon
> という方法でもOKなのでしょうか?

 OK だと思います.個人的にはこっちのほうが,削除時に手間がかからなくて(一行削除)お勧めだと思うのです.ただ,if と fi というのが,何の if なのか分かりませんので,その if 文の意味を調べる(ここに出してみる)か,とりあえずその if の外,ファイルの末尾に入れてみればいかがでしょうか.

> ■ あと、/etc/init.d/ と /etc/rc.d/init.d/ は
> 何が違うのでしょうか

 (飽くまで RedHat では)全くおんなじDeath./etc/init.d/ はシンボリックリンクで /etc/rc.d/init.d/ が本体になっている.多分かこの仕様との互換性のために /etc/init.d/ を残しているのではないでしょうか?.
    • good
    • 0
この回答へのお礼

できました!

お礼日時:2003/05/24 18:37

/etc/rc.local



 は,他はよく知らないのですが,RedHat系なら起動時の「最後」に読み込まれるファイルです.

 参考URLの内容では,標準のフォントサーバに加えて,ポート番号を変更してもう一つ ASTEC-X 用のサーバを起動しているようですので,

/etc/init.d/

 ディレクトリまたは

/etc/rc.d/init.d/

 ディレクトリ以下のサービス起動スクリプトを使って同じ事をするのであれば,起動スクリプトの xfs をコピーして xfs2 とでも名前を変え,ASTEC-X 用の設定ファイル(ここではconfigastecx)を読み込むようにしたほうが良いのでは?.
 で最後に chkconfig.
    • good
    • 0
この回答へのお礼

ありがとうございます。

手順:
(1)
/etc/init.d/ で、 cp xfs xfs2 とコピーする。


(2)
xfs2 の start() 関数で、

 daemon xfs -droppriv -daemon

を、

 daemon xfs -config /usr/X11R6/lib/X11/fs/config.astecx -port 7200 -daemon

と書き換える。


(3) ???
これで xfs2 は起動時に読み込まれるでしょうか?
chkconfig と打つと、command not found と出ます。


ところで、

■ /etc/rc.local の if と fi の間のどこかに
xfs -config /usr/X11R6/lib/X11/fs/config.astecx -port 7200 -daemon
という方法でもOKなのでしょうか?

■ あと、/etc/init.d/ と /etc/rc.d/init.d/ は何が違うのでしょうか、

お礼日時:2003/04/25 17:01

>どこに書き込めばよいでしょうか?



とりあえず、xfsを起動している行にオプションを追加してみてはどうでしょう?

start() {
  ......
  daemon xfs -droppriv -daemon
  ......
}

プロセスを確認したら、後ろに書いた引数がそのまま反映している見たいですので。

# ps ax | grep xfs
649 ? S 0:00 xfs -droppriv -daemon


また、上の方にxfsの環境ファイルの指定があります。

# processname: xfs
# config: /etc/X11/fs/config

このファイルにオプションを記述する方法もあるみたいなので、
試してみてください。
    • good
    • 0

/etc/init.d/xfs



というXフォントサーバ起動シェルがもしあったら、修正してみては
いかがでしょう。

修正した後、

# ntsysv

で、xfsにチェックを入れたら、Linux起動時にxfsサービスが実行されます。
    • good
    • 0
この回答へのお礼

ありがとうございます。

xfs 見ましたが、関数がいくつかあって
関数の中にもいろいろ書いてあります。

どこに書き込めばよいでしょうか?

お礼日時:2003/04/24 19:19

~/.xinitrcにくわえてやればいいのでは?

    • good
    • 0
この回答へのお礼

ユーザーレベルではないのでだめです。

お礼日時:2003/04/24 17:56

/etc/rc.local の最後に書き加える.

    • good
    • 0
この回答へのお礼

ありがとうございます。
それは、ブート時にシステムが読み込むファイルですか?

お礼日時:2003/04/24 17:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!