last update 2003.04.吉日 since 2002.08.15
rpmが公開されましたので、近々にインストーラのβ版を公開したいと思います。 以前のインストーラを少し改造したもので動作しています。
2003.03.27にホロンから「X on Windows 2」が発売されました。 このページは「X on Windows 1」の大半を構成するRPM群がホロンのftpサイトに置いてあることを前提にしています。 「2」の発売により「1」のRPM群が消された時点でこのページの存在価値がゼロになりますので ご了承ください。
このページを作って半年もたっていないのに10000ヒットするとは驚きモモの木さんしょの木。(ズルッ)
っとくだらないことを言いつつ「はじめに」は始まるのでした。
このページでインストールするCygwinは、いわるゆ本家Cygwinの最新版ではありません。 またHolonの製品版「X on Windows」とも違います。
このページではHolonがFTPで公開しているファイル群(RPM)を使って独自にCygwin環境を構築しています。 このファイル群は「X on Windows」を構成するファイルの一部ではありますが、 「X on Windows」そのものでは全くありません。 また「X on Windows」を持ってないので「X on Windows」が どうインストールされているかも関知していません。
ひとことでいうなら
「本家Cygwinではなく、X on Windowsでもない、もうひとつのCygwin」
かも。ただしCygwinであることは間違いない気がします。(汗)
上記の事情により使用中にトラぶった時に、問い合わせ先が存在しませんので自己解決 努力が必須となります。 ただCygwinの一般的なことは共通している部分が多々あるので、 それはそれで情報として活用できると思います。
このページは、
「適当にインストーラを作ったら適度に動作しているように見えたので、公開してみた」
というのが本質的なところで、自分自身はCygwinについて全くド素人です。
従いまして、
「本家Cygwinのほうがいいかも」と思ったかたは「本家Cygwinをインストール」しましょう。
「X on Windowsのほうがいいかも」と思ったかたは 「X on Windows」 を購入しましょう。(オイ)
それでもなお興味シンシンなかたは、以下を読み進みましょう。
なんかHDDの中にCygwinがいっぱいあって収拾つかない状態なので この辺で常用するCygwinを決定する。その条件は、
この条件をさくっと実現できるCygwinと言えばHolonの「(FTP供給物)」しかぬあーい。(でもないが) 正確には「HolonのFTPサイトに置いてある"X on Windowsを構成する大半のRPM群"をダウロードして独自にインストールする版」かな。 で「これようのインストーラ」があれば削除、再インストール等もお気軽なわけで、作ってみました。
「インストール後に」以下の状態になるようにしました。
各種ウィンドウ起動用「バッチファイルランチャ(cyglauncher.exe)」の装備。(インストーラバージョン0.8以降で対応。)
XDMサーバに接続してX端末にするときの一発起動バッチファイル追加。以下で述べるインストールは、Holonの製品版とは一切無関係です。 あくまで、FTPで提供されているRPMファイルに基づくものですので、 Holonに問い合わせるなどお茶目なことは一切おやめください。 またインストーラの前半は、
X on Windowsのパッケージを使ってみる のページの内容を参照にさせて頂いてm(__)mスクリプト化しています。
このインストーラはCYGWIN=ntsecでの動作を全く考慮していません。ntsecが必要な方は独自に対処してください。
個人的に非NT系OSは大嫌いなので、このインストーラでWindows95/98/Meに ついての動作検証を全くする気がありません。さらにインストーラでWindows95/98/Meを 蹴るようにしてあります。 このインストーラを試そうという方はWindows XP以降でお願いします。 (NT 2000でも可ですが)
「gzip.exe」「tar.exe」「instkit2.tar.gz」はこれinstkit-pack.lzhを使ってください。
Ver.0.6ではスクリプト自動生成を一部ミスっていまして、cygwin-rxvt.batを起動するたびにcannaserverの 常駐が増えていきます。非常に気持ち悪いので、以下のように修正してください。
インストール後にできるcygwin-rxvt.batの5行目あたりにある以下の文を
if 0==0 goto startcanna
以下のように修正してください。
if %ERRORLEVEL%==0 goto startcanna
次に以下のスクリプトを「cannatest.sh」という名前でcygwin-rxvt.batと同じフォルダにセーブしてください。
#!/bin/bash if [ -e /var/lock/subsys/canna ]; then exit 1 fi exit 0
これでcannaserverの起動を1回に制限できます。(Ver.0.7と同じ状態になります) インストールを複数回繰り返す(^^;ような使い方をするなら、Ver.0.7をゲットしたほうがいいかも。
準備と覚悟ができたところで、<URL:cygwin-inst-0.8.lzh>(約1.6Mバイト)をダウンロードします。
が作成されます。
| ランチャボタン | 対応するバッチファイル |
| Rxvt | cygwin-rxvt.bat |
| Console | cygwin.bat |
| X | xmain.bat |
| X端末1 | xserver.bat |
| X端末2 | xserver2.bat |
| CannaStop | cannastop.bat |
| remount | remount.bat |
| rxvt-w32j上 | X Window上 | |
| vim(vi) | Windowsと同じ | Shift+スペース |
| xemacs | CTL+¥ | Shift+スペース |
Good luck !
名称:Yet Another Installer
バージョン:0.8
動作内容:
各種バッチファイル起動ランチャをインストールします。
下に出てくる「Xサーバ編」に対応。対応OS:Windows XP/NT2000 /起動時にOSチェックをしているのでこれ以外のOSでは起動しません(のはず)
また以前にはなかった不具合があるやもしれません。

インストーラのデザインは意味も無く変更される可能性が大です。
この内容は、cygwin-inst-0.4.lzh以降から対応です。
下にででくる「本家cygwinもそっちはそっちで...」に対応するスクリプト「remount.bat」が/cygwinの中にあります。 これをクリックするとインストール直後のマウント状態に戻すことができます。 「remount.sh」を編集してマウントポイントを追加すればさらに便利になるかと思います。 本家Cygwin用のスクリプトは各自で作成してください。
本インストーラを使ってドライブGにCygwinをインストールすると以下のようなremount.batバッチファイルと
@echo off set cygdrv=g set CYGWIN=nontsec nowinsymlinks set PATH=%cygdrv%:\cygwin\miniroot\bin;%cygdrv%:\cygwin\usr\bin;%cygdrv%:\cygwin\bin echo --- 警告 --------------------------------------------------------------- echo これは「Cygwinドライブ再マウント」スクリプトです。 echo 全てのマウントを解除した後「remount.sh」の内容に従って再マウントします。 echo 動作内容がわからないときはこのままウインドウを閉じてください。 echo 最初に表示されるのが現在のマウントポイントです。 echo 続行する時は何かキーを押してください。 echo ------------------------------------------------------------------------ pause mount pause umount -A ash remount.sh %cygdrv% mount echo ------------------------ echo 再マウントが終了しました。 echo ------------------------ pause
同様に以下のようなremount.shスクリプトが/cygwinの中に生成されます。
#!/bin/sh drive=$1 mount -b -s $drive:\\cygwin / mount -b -s $drive:\\cygwin\\usr\\bin /usr/bin mount -b -s $drive:\\cygwin\\usr\\lib /usr/lib
独自のマウントポイントを増やしたいときは以下のようにremount.shに追加します。
#!/bin/sh drive=$1 mount -b -s $drive:\\cygwin / mount -b -s $drive:\\cygwin\\usr\\bin /usr/bin mount -b -s $drive:\\cygwin\\usr\\lib /usr/lib mount -b -u c:\\laputa /home/dareka/homepage # <--- 追加行
この状態でremount.batをクリックすれば上のマウントポイントに再設定されます。 remount.bat中の「ash」は「bash」でも可だと思います。また、remount.bat の中でマウントしてしまう手もありかも。
ただし、普通はこれらのスクリプトは必要ないと思うので忘れてください。(オイ)
アンインストールするときは「cygwin」ディレクトリごと削除してください。 必要ならホームディレクトリ以下のバックアップをとってください。
上のインストーラでは開発系のRPMをインストールしないのでGCC等のコンパイラでエラー がでます。標準的なC言語のソースをコンパイルするにはRPMのあるフォルダで
$ rpm -hiv cygwin-devel-1.3.5-3h1.i586-cygwin.rpm
でOKです。 またGTK+のアプリをコンパイルするなら使用するライブラリにもよりますが
gtk+-devel-1.2.10-1h6.i586-cygwin.rpm glib-devel-1.2.10-2h3.i586-cygwin.rpm XFree86-devel-4.1.0.1-4a.i586-cygwin.rpm ...
等が最低限必要になるかと思います。 面倒な場合全ての開発系のRPMを以下のようにインストールすればよいかと思います。 devel系のRPMがあるフォルダーで
$ rpm -hiv *-devel-*rpm
とします。
HolonのFTPは全然更新されないというか最新を追っかける気がないようだ。 本家cygwinはアップデートが使命のようにガンガン更新されます HolonがガシガシRPM群を最新版にアップしてくれればいいんだが… 本家cygwinとHolonのFTPのを別ドライブにインストールしてそれぞれが 動くようになればそれはそれで安心かも。
例えば mount コマンドを打ってみると
$ mount g:\cygwin\usr\bin on /usr/bin type system (binmode) g:\cygwin\usr\lib on /usr/lib type system (binmode) g:\test on /home/myname/homepage type user (binmode) g:\cygwin on / type system (binmode) c: on /cygdrive/c type user (textmode,noumount) d: on /cygdrive/d type user (textmode,noumount) e: on /cygdrive/e type user (textmode,noumount) f: on /cygdrive/f type user (textmode,noumount) g: on /cygdrive/g type user (textmode,noumount)
こうなる。 この情報から以下のようなスクリプトを生成すれば、再マウントが可能となります。
-- ドライブG用のマウントスクリプト #!/bin/sh mount -b -s g:\\cygwin\\usr\\bin /usr/bin mount -b -s g:\\cygwin\\usr\\lib /usr/lib mount -b -u g:\\test /home/myname/homepage mount -b -s g:\\cygwin /
たとえば、上のは「ドライブGにインストールしたHolonのcygwin」用
-- ドライブR用のマウントスクリプト #!/bin/sh mount -b -s r:\\cygwin\\usr\\bin /usr/bin mount -b -s r:\\cygwin\\usr\\lib /usr/lib mount -b -s r:\\cygwin /
たとえば、これは「ドライブRにインストールした本家cygwin」用となる
Gドライブのcygwinを正しく動かしたいときは、
$ umount -A
を実行したあと「ドライブG用のマウントスクリプト」を実行すればよい。 ということになる。それぞれのマウントスクリプトを実行すれば それぞれのcygwinが破綻無く動作できます。当然ながら両方同時実行はできません。
現在検証中ですが、本家「cygwin」と同じ内容の「startwinx.bat」をHolonのFTPのやつで実行すると 起動時間は同じ(twm時)なので日本語がらみの設定の差異かも知れない。 というより、.xinitrcや.Xdefaultsの中のスクリプトを順に実行しているので時間がかかるのでしょう。 X Windowの起動を何度も繰り返さないようにするのが吉でしょう。
上でインストールしたフルインストール版にHolonのFTPで提供されているUpdate.shを適用してもイマイチうまくなかったので、修正アップグレーダを作ってみました。問題点とは、
対策は、
です。
/home/hoge/tmp---Update.sh
|
--RPMS
|
--files
という風にtmpの下に作るほうがベターだと思います。
/home/hoge/tmp--- Update.sh
| upgrade.sh
| Update.diff
| gtkrc.ja
|
--RPMS
|
--files
のようになります。アップグレードは、upgrade.shのあるディレクトリで
sh upgrade.sh
と実行します。その後Cygwinを再起動させます。
FreeのXサーバってVNCを除くとろくなのがないので、Cygwinをなるべく最小インストールでXサーバにしてみたい。
Xサーバがほしいだけなら、cygwinをインストールする必要はなくて、VNCを使いましょう。これは相当ろくなやつです。
ここを参照してね。 172KByteでXサーバ(風らしい)が動きます。(^^;
フルインストール状態でxdmサーバにつないでX端末にするには、インストール時にIPアドレスを適切に 設定してあれば、cygwinフォルダの「xserver.bat」をクリックするだけです。
不適切な設定の場合「xserver.bat」を正しく編集してください。
そんなわけで、わかる範囲でファイルを削っていったところ、こうなりました。 ファイル削除の度合いが手ぬるいかもしれませんが、気にいらない場合は各自でrpmファイルを削除してください
| インストールタイプ | 必要rpm容量 | インストール後のファイル容量 | 備考 |
| フルインストール | 400MB | 900MB | オイ |
| ゴキゲン最小 Xサーバ | 67MB | 137MB | フォントは自分で持つタイプ |
| 更ゴキ最小 Xサーバ | 30MB | 82MB | フォントはフォントサーバにお任せタイプ |
こりゃゴキゲン。
FreeのXサーバとしてはCygwinが一番動作がまともだと思う。(MI/X,WiredXとの比較ですが)
最小構成Xサーバを求めない場合と意味がよくわからない場合は、以下のことは全くする必要がないので無視してください。(フルインストールでも当然Xサーバなわけで)
フルインストールしたcygwinを削除するか、別ドライブにインストールします。
別ドライブにインスコしたときは、「remount.bat」で切り替えると。(そんなことしないと思うが)
GUIインストーラで、
xserver.batの中身の基本は
X -query xdmサーバ名 -from 自分のIP -fp tcp/xdmサーバ名:7100
です。デフォルトでフォントサーバなしですが、この状態で正しくつながることを確認してから フォントサーバ接続を有効にしたほうが無難です。
xdmサーバ上でフォントサーバが動いていないときは、「-fp tcp/xdmサーバ名:7100」の部分を省略します。 (ただし「最小 Xサーバ2」の場合は省略するとフォントがまともに表示できません) なるべくxdm上のフォントサーバを利用したほうがよいと思います。
VineLinux2.5に接続してGnome上でMozillaしてみた図。
Windows上でTeXをしたい人は以下のリンクから得られる 情報をもとにWindows版のTeXを入れましょう。わざわざCygwinのTeXを使わなくても 良い気がします。(^^;
日本語TeX情報--必見
ワープロユーザのためのLaTeX入門--このページは大変すばらしい
上でフルインストールした無料で入手できる「X on WindowsのFTPのRPMで構築したcygwin」で簡単にコンパイルが通るものをRPM化してみました。
ポリシーは、「VineLinux,Momongaその他で既にspecファイルが存在する」、「簡単にコンパイルが通るもの」、 「ファイルサイズの小さいもの」、「HolonのFTPにない、または新しいもの」、「興味のあるもの」です。
Pascalというのはとっつき易い言語だが関連書籍を見つけるのは難しいんだろうなと思う。 ヨーロッパと学術系で今後も活躍してください。GPCのホームページはここ gpc-2.1-1.i586-cygwin.rpm(約3メガバイト) コマンドラインで
$ rpm -hiv gpc-2.1-1.i586-cygwin.rpm
ホームの「.bashrc」に以下のようなパス設定を追加します。
PATH=/cygnus/usr/bin:$PATH
その後
$ source .bashrc
またはコンソールを再起動すれば使えるようになります。
$ gpc --automake -o hello hello.pas
でPascalソースをコンパイル。「--automake」はこの場合なくても可です。
/cygnus/usr/doc/gpc/demos /cygnus/usr/doc/gpc/docdemos
にサンプルソースがあります。
HTMLエディタです。日本語表示、入力ができます。起動は
gnp&
です。 日本語入力するには、
で次回起動時から日本語表示、入力が可能になります。

gnotepad+-1.3.3-1.i586-cygwin.rpm
少々不安定ところがみうけられました。
HTML文書を少ない記述で生成することができます。(RDTool)
RD文書をSmartDoc文書に変換できます。(rd2sdoc)
RDToolで書いたページへ ゴーゴー!
小物です。xsnowは結構気に入ってます。
<URL:xsnow-1.40-1.i586-cygwin.rpm>
<URL:xfishtank-2.1tp-1.i586-cygwin.rpm>
<URL:xfusen-0.3.0-1.i586-cygwin.rpm>
うちの測定値は以下のようです。
<URL:xengine-1.10pl1-1.i586-cygwin.rpm>

なつかしのシューティングゲーム。 <URL:xgalaga-2.0.34-4.i586-cygwin.rpm>

RubyでらくらくGUI。ruby-gtkを使えば、面倒な開発環境のインストールをすることなく いきなりRubyでGUIアプリを書き始めることができます。ただし、GTK+のプログラミング については知識が必要でしょう。 書籍紹介:Ruby/GTK プログラミング入門 この本を持っているわけではありませんが(汗)
<URL:ruby-gtk-0.25-2.i586-cygwin.rpm>
ソース部分のパッチの出典は <URL:http://www2.raidway.ne.jp/~yzone/dists/cygwin/FDclone2/>
で、X on Windows上ではリンクが通らなかったのでほんの一部修正しました。
<URL:FD-clone-2.01b-1.i586-cygwin.rpm>::<URL:FD-clone-2.01b-1.src.rpm>
kterm上だとTERMエントリがないと怒られるので、/etc/termcapの最後に以下を追加しています。
vk|kterm|kterm kanji terminal emurator (X window system):\ :hs:es:ts=\E[?E\E[?%i%dT:fs=\E[?F:ds=\E[?H:tc=xterm:
出典は失念しました。
ずっと前にFD1.03系のころに、cygwinでFD動かしたくて作った記録です。
今ではは古くなってしまいましたが...
うちのHDDの中にはCygwinがいっぱいあったのでした。
最後は 「X on Windowsのパッケージを使ってみる」のページのcygwinを 入れてみたのですが、これがまたashにヒストリ機能がないせいで(あるのかなぁ?) 悶絶するほど苦痛でした。コピペの方法も知らんかったし(汗)
例えば、
$ ./rpm -i /holon/setup-2.4.9-1h6.i586-cygwin.rpm $ ./rpm -i /holon/filesystem-2.0.7-1h1.noarch-cygwin.rpm $ ./rpm -i /holon/basesystem-3.0-1h3.noarch-cygwin.rpm $ ./rpm -i /holon/termcap-20010825-2h1.i586-cygwin.rpm $ ./rpm -i /holon/libtermcap-20010825-2h1.i586-cygwin.rpm $ ./rpm -i /holon/ncurses-5.2-5h1.i586-cygwin.rpm $ ./rpm -i /holon/mktemp-1.5-11h3.i586-cygwin.rpm $ ./rpm -i /holon/bash-2.05-4h5.i586-cygwin.rpm $ ./rpm -i /holon/zlib-1.1.3-22h1.i586-cygwin.rpm $ ./rpm -i /holon/etcskel-2.3-1h9.noarch-cygwin.rpm $ ./rpm -i /holon/ash-20010827-2.i586-cygwin.rpm $ ./rpm -i /holon/info-4.0-20h3.i586-cygwin.rpm $ ./rpm -i /holon/grep-2.4.2-4h2.i586-cygwin.rpm $ ./rpm -i /holon/bzip2-1.0.1-3h1.i586-cygwin.rpm $ ./rpm -i /holon/db3-3.1.17-6h3.i586-cygwin.rpm $ ./rpm -i /holon/popt-1.5.1-4h8.i586-cygwin.rpm $ ./rpm -i /holon/file-3.33-1h1.i586-cygwin.rpm $ ./rpm -i /holon/XFree86-libs-4.1.0.1-4a.i586-cygwin.rpm $ ./rpm -i /holon/gettext-0.10.38-7h7.i586-cygwin.rpm $ ./rpm -i /holon/rpm-3.0.6-4h8.i586-cygwin.rpm
というのをヒストリ機能なしでノーミスで入力するのは自分には曲芸に近いわけで。(爆)
ならばスクリプト化できればお気楽極楽、失敗もなし。やり直しも「し放題」。 というわけでせっせとスクリプトを作ったのでした。
SRPM/RPMはHDDの空き容量がないので未掲載です。 必要な方はメールをいただければファイルをメールします。 (デカイかも)
このページに出てくる商標登録された文字列はその会社の登録商標です。
結局このページもRDToolで再生成してしまいました。(^^;
このページの内容を実行しようとする方はあくまで自己責任においてお願いします。 こちらの環境で動作確認はしてありますが、全ての不特定環境での動作確認は できるはずもなく、その点をご理解いただきたく。
また、各種設定についてはこちらで独自に設定したものです。 もっと最適な設定がある場合は各自で変更をお願いします。
ご意見、ご感想は、mitchi(inu_no_kuma_san@infoseek.jp)まで。