cygwin Xを起動する場合、cygwin bashから、startx を起動するとcygwin bashのウィンドウが残ります。このウィンドウを終了させると Cygwin Xも終了してしまうぅ。ので最初のcygwin bashのウィンドウを残しておく必要がありそうなんですが、なんか目障りです:-<
まずは、startxスクリプト中のxinitを起動している部分を cygwin runで包みましょう。
xinit "$@"
↓
run xinit "$@"
これでcygwin bashは不要になりますので、cygwin bashを起動する.batファイルを
@echo off
C:
chdir C:\cygwin\bin
bash --login -i C:\cygwin\home\ogurak\startx
こんな風に作っておくと、Windowsからこの.batを起動することでcygwin Xが立ち上がりますねぇ:-)
runコマンドに関して、
run コマンドはコンソール・ウィンドウを隠してプログラムを実行する Cygwin 独特のコマンドです。 Cygwin プログラムのほとんどはコンソール・モード・アプリケーション *14ですから,本来ならば,標準入出力のためのコンソール・ウィンドウがまとわりつきます。 run コマンドは,このコンソール・ウィンドウを隠して,あたかも GUI モード・アプリケーションのような見かけにします。 run コマンドはもともと Cygiwn 用 X11 プログラムのひとつでした。しかし,今年 (2005年) 11月に改編され, base カテゴリの独立パッケージになりました。今は X11 を導入しなくてもデフォルトでインストールされます。などとあります。
てことで、更にこんなサンプルも・・・
@echo off
C:
chdir \cygwin\bin
run bash -l -c 'cd /usr/local/lib/pysol-4.81/src; python pysol.py --nosound'
なので、startxのように、startxを編集せんでも、start.batを
bash --login -i C:\cygwin\home\ogurak\startx
↓
run bash --login C:\cygwin\usr\X11R6\bin\startx
としておけばOKです。
0 件のコメント:
コメントを投稿