• ベストアンサー

OS起動時に、自動的に設定ファイルを読み込む方法

VineLinuxを使っています。 Windows の Astec X から使ったところ、文字化けが発生したので、 http://www.astec.co.jp/products/ASTECX/FAQ/vine25cr_font.html にしたがって設定したところ文字化けが直りました。 しかし、Linuxを再起動したとき元に戻ってしまいます。 上記サイトに書いてある、 # /usr/X11R6/bin/xfs -config /usr/X11R6/lib/X11/fs/config.astecx -port 7200 -daemon このコマンドを手動でやっていたので、Linuxの起動時にもこのコマンドを自動実行するようにしなければならないのだと思うのですが、Linuxでこういうのを自動実行するにはどうしたらよいのでしょうか? Windowsだと、コントロールパネルに「サービス」というのがあって、OSの起動時に自動実行してくれますが。

質問者が選んだベストアンサー

  • ベストアンサー
  • stanaka
  • ベストアンサー率44% (13/29)
回答No.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/ を残しているのではないでしょうか?.

newtonZ
質問者

お礼

できました!

その他の回答 (5)

  • stanaka
  • ベストアンサー率44% (13/29)
回答No.5

/etc/rc.local  は,他はよく知らないのですが,RedHat系なら起動時の「最後」に読み込まれるファイルです.  参考URLの内容では,標準のフォントサーバに加えて,ポート番号を変更してもう一つ ASTEC-X 用のサーバを起動しているようですので, /etc/init.d/  ディレクトリまたは /etc/rc.d/init.d/  ディレクトリ以下のサービス起動スクリプトを使って同じ事をするのであれば,起動スクリプトの xfs をコピーして xfs2 とでも名前を変え,ASTEC-X 用の設定ファイル(ここではconfigastecx)を読み込むようにしたほうが良いのでは?.  で最後に chkconfig.

newtonZ
質問者

お礼

ありがとうございます。 手順: (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/ は何が違うのでしょうか、

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.4

>どこに書き込めばよいでしょうか? とりあえず、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 このファイルにオプションを記述する方法もあるみたいなので、 試してみてください。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.3

/etc/init.d/xfs というXフォントサーバ起動シェルがもしあったら、修正してみては いかがでしょう。 修正した後、 # ntsysv で、xfsにチェックを入れたら、Linux起動時にxfsサービスが実行されます。

newtonZ
質問者

お礼

ありがとうございます。 xfs 見ましたが、関数がいくつかあって 関数の中にもいろいろ書いてあります。 どこに書き込めばよいでしょうか?

  • asuca
  • ベストアンサー率47% (11786/24626)
回答No.2

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

newtonZ
質問者

お礼

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

  • stanaka
  • ベストアンサー率44% (13/29)
回答No.1

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

newtonZ
質問者

お礼

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

関連するQ&A