andLinux

同僚が定期購読している日経Linuxで見かけて,面白そうだと思って入れてみました.
特選フリーソフト andLinux LinuxソフトをWindows上で動かせる | 日経Linux | 日経BP記事検索サービス
andLinux自体は,Moon Giftさんなんかでも紹介されています.
WindowsとLinuxをシームレスに使う·andLinux MOONGIFT

Windowsで開発する際に、細かい設定の部分でつまづくことがある。また、ライブラリを導入しようとしてLinux向けしかなかった、なんて経験はないだろうか。そして、結局VMWareのようなエミュレート環境を用意することになる。

だがエミュレータでは環境が断絶された感がある。もっとシームレスにWindowsからLinuxを使いたい、そう考える人のためのソフトウェアがこれだ。

今回紹介するオープンソース・ソフトウェアはandLinuxWindows上でシームレスに動作するLinux環境だ。

andLinuxcoLinuxを利用して動作している。Linux向けのGUIアプリケーションが動作する点において、cygwinよりも便利だろう。また、それらのアプリケーションがタスクトレイから簡単に呼び出せる点も見逃せない。

インストールは簡単だったのですが,2段階につまづきました.


1. Linuxアプリが落ちる,またはときたまWindowsブルースクリーンになる

いや,こりゃ使い物にならないな...と思って調べていたら,どうもandLinux自体のせいでは無かったです.LinuxアプリをWindowsで表示するためのフリーのX Windowサーバが付いて来るのですが,こちらが悪かったようです.フリーでそこそこの性能のようなのですが...
Xmingを使ってWindowsからLinuxを使う - ITmedia エンタープライズ

Xmingを使ってWindowsからLinuxを使う

Xmingは、X Window systemMicrosoft Windowsを結ぶ、フリーで使いやすいポートである。言い換えれば、Windowsを使わざるを得ない人々に素晴らしいXサーバを提供してくれるすばらしいツールだ。

ハウツー:Xmingを使ってWindowsからLinuxを使う | OSDN Magazine

ハウツー:Xmingを使ってWindowsからLinuxを使う

 X Windowシステムの良い点は、リモートコンピュータで実行されているXアプリケーションをローカルコンピュータに表示する機能があることだ。 Microsoft Windowsの良くない点は、Xアプリケーションを表示する標準機能がまったくないことだ。仕事でWindowsを使っているが、Linuxアプリケーションも同時に使いたい場合、Xmingが役に立つ。Xmingは、X WindowシステムとMicrosoft Windowsを結ぶ、フリーで使いやすいポートである。

 Xming は、GNU General Public License version 2(GPLv2)によってライセンスが供与され、使いやすいインストーラ付きのWindows実行可能ファイルのパッケージとして提供されている。X Windowサーバだけが必要な場合 -- つまり完全なUnix型の環境は必要ない場合 -- Cygwin/XよりもXmingを選ぶのが妥当である。また、Xmingは開発の活発さでも勝っている。Cygwin/Xは(ホームページの記述によれば)2004年以来アップデートされていない。

andLinuxをインストールすると,XmingWindowsの起動時に自動的に立ち上がるようになりますが,あいにく,私の環境とは相性が合わなかったようなので,スタートアップから削除しました.
そしてたまたま,私は有料のXサーバ「Astec-X」を使っていたので,そちらを利用することにしました.
ASTEC-X -- Windows 対応 PC X サーバー

ASTEC-X は、ネットワークに接続された UNIX ホストのアプリケーションを Windows から利用可能にする PCXサーバーです (X端末エミュレータ、または X端末ソフトウェア などと呼ばれることもあります)。

値段はそこそこするのですが(約8万円),何年にも渡ってバージョンアップが無償なのが気に入っていて,かなり長い間使っています.
これで,とりあえずLinuxアプリが動くようになりました.

2. 入力が一定時間無いと,SSH接続のX端末が切れる


最初は,以前にも自宅の貧弱なADSLサーバであったような,NATテーブル関係かと思ったのですが...
keep-alive for ssh

ログイン先で定期的に何かを出力するプログラムを実行する

端末を取得する場合のみ有効な方法ですが、一定時間おきに何かの文字列を出力するようなプロセスをバックグラウンド実行しておけばその文字列がコネクション上を流れますので、接続を維持できます。

また、ポートフォワーディングが主目的の場合など、 ping -i 300などとリモートで実行する例がよく見られます。

自宅マシンでは,これで解決出来ました.

しかし,今回は職場の太い回線で,ルータもそこそこのものです.余り考えられません.いろいろ試した結果,クライアントの設定変更で対処できました.
試行錯誤したのですが,/etc/ssh/ssh_configの次のような書き換えが効いたようです.

ServerAliveCountMax 300
ServerAliveInterval 1800

sshによる接続が切れる方は,お試し下さいまし.