cygwin の情報
cygwin tips †
- コマンドが無いと思ったら、パッケージになってないか http://cygwin.com/packages/ で調べてみるべきだ。
- クリップボードは /dev/clipboard でアクセスできる。getclip, putclip というコマンドもある。command not fond になるときは、Utils カテゴリの cygutils を入れる。
- bashからWindowsの『ファイル名を指定して実行』でできるような、 ドキュメント名での起動を行うのに、cygstart (パッケージ名:cygutils)というコマンドが使える。
- /bin と /usr/bin は同一で、/usr/bin は C:\cygwin\bin をマウントすることで見えるようになっている。よって C:\cygwin\usr\bin というフォルダは存在しない。/lib と /usr/lib についても同様。理由は『/bin と /usr/bin が同一なのはなぜか』にもあるが、小さな環境で立ち上げる必要が無いからであろう。
X server †
setup.exeで、X-start-menu-icons というパッケージを入れれば、[スタート:Cygwin-X:XWin Server] にX serverを起動するためのアイコンが出来る。そのための関連ファイルもインストールされるが、フォントは自動的にはインストールされない。
一般的な GNOME のデスクトップを持つ Debian Linux の X端末として動作させるのに必要なフォントがどれなのかよく分からないので、とりあえず下記を選択してみた。
- font-adobe-dpi100
- font-adobe-dpi75
- font-jis-misc
- font-misc-misc
デフォルトだと75dpiで立ち上がるので、メニューなどの文字が小さく感じる。 cp /usr/bin/startxwin.bat ~/bin/ とやって、/home/otsuka/bin/startxwin.bat を エディタで開いて、
%RUN% XWin -multiwindow -clipboard -silent-dup-error
となっている箇所の最後に -dpi 100 を加えて保存。
C:\cygwin\bin\run.exe へのショートカットを作成して、引数に /home/otsuka/bin/startxwin.bat をセットすれば、100dpiで立ち上がるようになる。
- Manpage of XWIN - XWin固有のオプション
- XSERVER(1) manual page - dpi等の汎用オプションはこちら
VPN †
Windows 2000/Xp のリモートVPNで、会社につないで社内のサーバーに ssh で接続してからポート転送で VNC Server を呼び出す動作を cygwin の bash で自動化してみる。
- Windowsのダイアルアップのウィザードで"VPN Kaisya"という名前でVPN接続を作る。
- localhostの5900ポートに接続するVNC Viewerの接続設定を、パスワードを含む形で $HOME/bin/localhost.vnc として保存しておく。
- $HOME/.ssh/config にVNCのポートを転送するように記述する
Host mysshsv LocalForward 5900 localhost:5900
- 以下のスクリプトを適当なファイル名で保存する。otsukaとかdomainとかは、
自分の設定に読み替えること。
#!/bin/sh rasdial "VPN Kaisya" otsuka * /DOMAIN:domain (sleep 5 ; cygstart $HOME/bin/localhost.vnc) & ssh mysshsv rasdial "VPN Kaisya" /DISCONNECT
- 切断するときは、まずVNC Viewerを閉じてから、mysshsvをlogoutすれば、 VPNも自動的に切れる。
- rasdial のところでパスワードを聞いてくるのがいまいち。 rasphone.exe を cygstart で呼び出せば、パスワードを省略できる 接続ダイアログがでるが、繋がるまで待つという動作ができない。
- sshの鍵のパスフレーズを省略したいときは、
eval `ssh-agent`; ssh-add
を行っておく。
XDMCP †
PCに cygwin と Xserver を入れた環境からログインパネルを含めて 遠隔でデスクトップを使うには xdmcp を有効にすればよい。 Fedora Core 3で、[アプリケーション:システム設定:ログイン画面] を開いて、[XDMCPタブ:XDMCPを有効にする]をチェック*1して、一旦ログアウトする。 cygwinのコンソールから、
X -query hostname -once
(ホスト名は変えること)とすれば、ログインパネルが出る。
X -broadcast -once
とすれば、最初に応答したxdmにつながる。
別のLinux Boxで gdm 等のログインパネルが出ている状態で、F10を押して出てきた メニューから、XDMCP Chooser を実行して他のホストにログインすることもできる。
関連リンク †
- Cygwin Information and Installation -- 配布元 2004-05-12 (水) 13:30:32
- Using Cygwin - FAQ -- 基本的なこと 2004-05-12 (水) 13:54:22