パスワードを忘れた? アカウント作成
10900 story
OS

Windows上のUNIX環境はどれが使いやすい? 111

ストーリー by yoosee
選択肢が増えてきた 部門より

Anonymous Coward 曰く "OS毎に得意・不得意があり、それぞれのOSに適したことを作業させるのが最良であるかもしれないが、Windows上でUNIX環境があると便利なことも多い。2台準備するかデュアルブートさせれば済むことであるが、スペースや効率の面で問題がある。そのような需要に応えてきたのが1995年にプロジェクトが始まったCygwinであるが、最近では他の選択肢も増えてきた。

主だったものでは、MSがリリースしており昨年無償化された MS SFU(Windows Services for UNIX)、 Cygwinにインストーラ・RPMパッケージ管理・日本語環境等を追加したX on Windows3 、PC/AT互換機そのものをエミュレートするVMwareVirtual PCの上でFreeBSDやLinuxを動かす、あるいはCooperative Linux(coLinux)でLinuxをWindowsアプリとして動かすなど多様な選択肢があり、初・中級者レベルではどれにしようか戸惑ってしまう。

そこで、ここに挙げた例に関わらず Windows におけるUNIX環境を実際に使用している/.Jの方々に、動作の軽さ・重さなどの使用感や、機能・管理のしやすさ等の面で、皆さんが使いやすいと思っているのはどんな方法か、お聞きしたい。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by iwa (2980) on 2005年09月26日 13時56分 (#804705)
    それぞれ使ってみた感想。嘘があったらご指摘ぷりーず。

    ・VMware Workstation - 汎用のバーチャルマシン。x86系OSならたいてい動かせる。商用ソフト。
    ○⇒汎用性は最も高く、安定している。スナップショット機能など、使い勝手もよい。
    ×⇒ちょっと重い。ちょっと高い。

    ・coLinux - Linux専用バーチャルマシン。Linuxカーネルにパッチを当て、Windowsの専用ドライバ上で動かす。使い勝手はまんまリモートにあるLinuxマシン。
    ○⇒Linux専用なためか、比較的軽い。experimentalな機能(cofsとか)を使わなければ安定している。サービス化できるのがうれしい。
    ×⇒画面回りは弱い。現状では別途Xサーバの調達が必要。ファイアウォールが有効だと、ネットワーク設定に悩む場合がある。

    ・cygwin - UNIXシステムコールやデバイスアクセス等をcygwin1.dllでエミュレートすることによって構築された疑似UNIX環境。
    ○⇒メジャーなツールはたいてい移植されているので、UNIXユーザがWindows上でオペレーションするのに便利。Win32サブシステム上に構築されているので、Win32APIも使える。
    ×⇒UNIX的コンテクストとWindows的コンテクストにギャップがあるため(例:ファイルシステムの見え方)、思わぬトラブルの原因となる。マルチバイト関係はだめだめ。特にファイルシステム。

    ・SFU - Microsoftが提供する(例によって買収して手に入れたものだが)、Windowsカーネル上で動くUNIXサブシステム。
    ○⇒WindowsとSFUでファイルシステムがシームレスに扱える。NFSでマウントやエクスポートができる。(日本語については「?」だけど)
    ×⇒一般的なUNIXと似て非なる部分で多大な障害がある(例:ツールをビルドするのにいっぱい手を加えないと通らない、パーミッションやオーナー、/etc/以下などがUNIX的でない)。Win32サブシステムとの会話が標準入出力とネットワークしかない。Win32APIが叩けない(=GUIが一切扱えない)のが何げに致命的。

    個人的結論は、
    いろんなOSが使いたい⇒VMware
    「本物」のLinux環境が欲しいが、それさえあれば十分⇒coLinux
    Window上でもつい「ls」とタイプしてしまう⇒cygwin
    問題が多過ぎて使いもんにならねー⇒SFU
    というところかなぁ。今使ってるマシンには、coLinuxとcygwinが入ってます。
  • by kcg (26566) on 2005年09月26日 14時17分 (#804715) ホームページ 日記
    仕事の開発用Windowsマシンには、Cygwin, VMware, coLinuxが動いています。昔はBoWなども使っていたクチです。

    VMwareとcoLinuxは、Windowsの世界とか隔離された完全なLinux環境といった感じで、CygwinはWindows側の世界をシェルでいじりたい時用の環境と使い分けています。

    VMwareとcoLinuxの方は、VMwareをVer1から使ってきましたが、最近coLinuxも安定してきたので、サービスとして常駐できるのが便利でcoLinuxが中心となってきています。起動とシャットダウンを意識しないで使えるのはすばらしいですね。

    coLinuxでホストのFileSystemを直にマウントできるcofsがもっと安定すれば、Cygwin+Perlワンライナーで処理していた作業の多くも、coLinuxで代替できる気がして期待しています。

    DesktopはWindowsで、その上で仮想Linuxで便利なサービスが使えるので、coLinux+LAMP環境はとても快適です。
  • by Tsukitomo (22680) on 2005年09月26日 13時10分 (#804679) 日記
    gnuwin32 [sourceforge.net]やGNU utilities for Win32 [sourceforge.net]から必要なツールをインストールして使っています。

    あとはMeadow [meadowy.org]とかcronNT [vector.co.jp]なんかでUNIXっぽい環境を整えています。
    --
    Your 金銭的 potential. Our passion - Micro$oft

    Tsukitomo(月友)
    • by bku (27778) on 2005年09月26日 14時11分 (#804713)
      Meadow で eshell。
      Win32 ではとりあえず ruby が動けば用が足りるので。Meadow では skk、mew、yatex、emacs-wiki を動かしてます。でも cat がなかっりするので結構不便。コンパイル環境がないのは諦め。
      親コメント
    • 私も長らくGNU utilities for Win32を使っています。
      開発環境まではいらなくて、ちょこっとメモ帳でrubyを書いたりする程度。
      Excelの使い方が分からないのと生来の不精のせいで、なぜかsort、uniq、comm、tee、wcなどが必要になってくる。
      親コメント
  • by targz (14071) on 2005年09月26日 13時18分 (#804687) 日記
    X11 を動かしてあるマシンに Windows から VNC 接続するのはどうでしょう? 2台稼働させることには違いないですが、X11 マシンの設置場所はじゃまにならない場所に置けばいいです。
    GUI 不要なら SSH ログインでも十分でしょう。

    # わたしはむしろ、Mac から Windows マシンに VNC/RDC 接続することが多いですが。
    • by astro (17245) on 2005年09月26日 15時57分 (#804740) 日記
      それって、Windows用Xwindowシステムでよいのでは?
      VNCとちがって、Xのプロトコルをやり取りするので、VNCより快適に動くと思います。
      フリーもあるようですが、商用ソフトならExceedとか、国産ならASTEC-Xとかですかね。
      Windowsアプリケーション間とコピーペーストもできるので、便利です。

      うちの会社は、開発にはRedHat Enterprise or Solarisを使っていて
      マシン自体は共有化されているので、
      大半は端末PCにExceedを入れてX端末として使ってます。
      (私はわがまま言ってUltra60を端末として使わせてもらってますが)
      親コメント
      • フリーのほうは、XwinX [sourceforge.net]ですね。
        一応入れてはあるものの、あんまり使用していません。

        #職員室のWin機をXwinXで動かしたら
        #気味悪がられた(笑
        --
        ---------+---------+----------+
        年をとるのは素敵なことです。
        親コメント
    • ウチでは玄関にサーバ兼雑用マシン(平置きのデスクトップをムリヤリ縦置き)を置いてます。
      # サーバマシンに雑用させるのはよくないと思いつつも、
      # ついついSSHを立ち上げてしまう自分。手軽なんだよなぁ。
      --
      yp
      親コメント
  • by kawaz (15398) on 2005年09月26日 13時37分 (#804697) ホームページ
    VMWare や VirtualPC や coLinux に求めるのは本物(?)の UNIX 環境で、SFU や Cygwin に求めるのは Windows 環境を操作する UNIX インターフェース。という違いがあるかと。

    後者はホストの Windows 環境のファイルを弄ったり、プロセスを操作したりといったことが出来るのがメリットで、それが出来なければこんな中途半端な UNIX 環境は出来れば使いたくない派。
    てかその目的でもっとより良い環境ってまだ無いんですかね?
    • by __hage (7886) on 2005年09月26日 18時51分 (#804807)
      まさにその二つの目的のためにVMware(の上にFreeBSD)とCygwinをWin2000に入れています。
      SFUはどうなんだろうと気になりつつも、Cygwinでずるずるときてます。

      coLinuxは今まであんまり考慮したことなかったですが、
      ここでの話を見てるとかなり魅力的な環境みたいですね。
      VMwareから離れられるかも。

      なんにしろCygwinを本気では使ってないです。
      開発だなんだなど本格的にUnixライク環境が必要になったらCygwinでは無理が多すぎます。
      考慮しなければならないレイヤが一枚増えちゃいます。
      なんでとっととPuTTYを開いてFreeBSDで作業します。楽でいいです :)

      >てかその目的でもっとより良い環境ってまだ無いんですかね?

      私の今の環境でやるとすると…

      ・Windowsの方でファイル共有
      ・VMware(の上のFreeBSD)からsmbでマウント
      ・FreeBSDのコマンドを使って操作

      てことになるでしょうか。プロセス操作は無理ですけど。
      Windows側にsshd立ててCygwinのコマンド群を叩いて、それでプロセス取得、操作もやりましょうか。
      って私の頭だと混乱するだろうなあ…。
      親コメント
  • by Anonymous Coward on 2005年09月26日 12時58分 (#804671)
    配布形態も変わるそうだし、これを選択する必要はもうないよね?
    • by Anonymous Coward on 2005年09月26日 13時40分 (#804698)
      Vista 以降だと、エディションによって最初からインストールされた状態になるようですね。
      プリインストールでないエディションだと、どうなるんでしょう。
      Interix は標準環境だと gnuツールに慣れた体には違和感があるのですが、cygwin は遅すぎなのとバグ多すぎで、イライラするので、少しずつgnuツールをコンパイルして SFU に環境を移しました。

      SFUと cygwinのように ネイティブにWindows のファイルシステムを触れること、Windowsのアプリとの相互に連携動作を行なうための環境と、純粋に Linux/Unix環境を作るための coLinuxや VMWareなどのエミュレータとはカバー範囲がまるっきり違うと思うんですが。
      親コメント
      • by orangeful (21839) on 2005年09月26日 16時31分 (#804753)
        私はたまにSFUでgrep hoge `find .`を叩く程度ですが。

        > Interix は標準環境だと gnuツールに慣れた体には違和感があるのですが、(中略)少しずつgnuツールをコンパイルして SFU に環境を移しました。

        自分で環境をコンパイルしなければならないのは、ほげり倒して遊ぶにはいいですが、今片付けなくてはならない仕事がある時にgrep -rが拒否されたりするのは実に微妙ですね。

        私も暇なときに、とりあえずzshなどコンパイルしてはみたものの、そもそもzsh自体がマルチバイトに対応していないので、実用にはなりませんでした。

        #「とりあえずzsh」という所が、何か間違っているような気もする orz
        --
        名物に旨いものなし!
        親コメント
        • by SteppingWind (2654) on 2005年09月26日 17時41分 (#804775)

          単純に質問なのですが, なぜfind . -name '*hoge*'としないのは何故でしょうか?

          親コメント
          • by tuneo (2938) on 2005年09月26日 19時43分 (#804838) ホームページ 日記
            find .によってカレントディレクトリ以下の全ファイルのリストを得ることができます。そして、コマンドをバッククォートで囲むと、標準出力をそのまま別のプログラム(この例だとgrep)の引数として渡すことができます。

            だから結局「grep hoge `find .`」は「カレントディレクトリ以下のファイルをfindでリストアップし、全てgrepにかけてhogeという文字列が含まれる行を表示する」という動作になります。つまり一部のgrepが備えている「再帰grep」(GNUのだと-rオプションが相当する)機能と同じことをしているわけです。「find . -name *hoge*」とは全然違いますね。
            親コメント
            • by SteppingWind (2654) on 2005年09月26日 21時37分 (#804884)

              なるほど要はディレクトリも含めてのgrepということですか. ただ, それならパイプを使った方がコマンドライン長の制限がかからないので汎用性は高いでしょう. ちなみにFreeBSDの/usr/srcディレクトリ下で実行すると, みごとに"Argument list too long."でこけました. それともzshだとxargsと同じようにパラメータ分割処理を行っているのかな?

              昔のDOS系のOSじゃあパイプは使い物にならなかったけど, WinNT系のOSなら使えるようになったと思っていたんだけど, やっぱり性能的に問題があるのかな?

              親コメント
              • by orangeful (21839) on 2005年09月26日 22時29分 (#804907)
                > それともzshだとxargsと同じようにパラメータ分割処理を行っているのかな?

                いえ、エラーが出たら諦めて、 find-exec オプションに切り替えてました。 xargs は知らなかったのですが、こちらのほうが簡潔でよさげですね。

                ちなみにzshであれば grep hoge **/* というのもありますが、コマンドライン長の制限に引っかかるのは grep hoge `find .` と同様です。
                --
                名物に旨いものなし!
                親コメント
              • by Tsann (15931) on 2005年09月27日 1時00分 (#804988)
                xargsはfindについてくるものなんですが…

                あとシェルは指示されたプロセス以外起動しません。引数が勝手に間引かれたり、複数プロセス起動していたら困ります。

                xargsは仕様としてコマンドライン引数に入りきらなかった場合、複数回、起動することになっています。
                そのためxargsのコンパイル時にはコマンドライン引数の最大長をチェックしてます。<GNU findの場合
                親コメント
  • 私はVMWare派 (スコア:1, 興味深い)

    by Anonymous Coward on 2005年09月26日 13時00分 (#804673)
    買う必要はあるけど、仕事の作業のコンパイルからの確認をやるにはcygwinじゃものたりないし。
    • Re:私はVMWare派 (スコア:2, 参考になる)

      by Lpenguin (19629) on 2005年09月26日 14時20分 (#804716) 日記

      私もFreeBSD on VMWareで使ってます。

      もともとFreeBSDをネイティブで使っていたのですが、Windowsを使わざるをえない状況に追い込まれたため、FreeBSDをVMWare上で動かすという方法をとってます。
      VMWare上でXを起動して全画面表示にするとWindowsを意識しないで使えるのでいい感じです(これはWin用Xサーバでもできますが、表示の速さという点でVMWareに匹敵するものを私は知らないです)。

      Cygwinは日本語処理周りの挙動がおかしかったので、今では「使いやすいDOSプロンプト」程度の扱いです(苦笑)。

      他は…使ったことがないのでなんとも。

      親コメント
      • Re:私はVMWare派 (スコア:1, 参考になる)

        by Anonymous Coward on 2005年09月26日 17時40分 (#804774)
        一時期はRedHat Linux(ホスト) + VMware + WindowsXP(ゲスト)でした。

        VMwareの仮想ディスクを差分取るモードで動かしていたので、
        WindowsXPをいじり倒して壊しても
        差分破棄で簡単に復帰できたので重宝してました。
        親コメント
      • Re:私はVMWare派 (スコア:1, 参考になる)

        by Anonymous Coward on 2005年09月26日 19時42分 (#804835)
        僕も Linux on VMware(Windows) です
        X11が動くかどうかとか、インストールするハードウェアを
        選ばず Linuxを同じ環境にセットアップできるので 便利です

        対応しているハードウェアの多さだけならWindowsには 敵いませんから、
        Windows+VMware で Linux のための統一ハードウェアを 提供している感じで使っています
        親コメント
      • by zakki (19710) on 2005年09月26日 20時02分 (#804845)
        Debian on coLinuxとCygwinを併用してます。
        Linux限定なこととXを別に用意することを除けばかなりいい選択肢だと思います。
        各種サービスはcoLinuxで動かして、Windowsのファイルをいじる必要が
        あるときだけCygwin使ってます。
        #結局zsh、grep、sed、sort、cygstart、wgetぐらいでことたりますが。
        親コメント
    • by wanwan (45) on 2005年09月26日 13時15分 (#804684)
      私も基本はVMWAREかな。
      VPCでも良いと思ったけど、VMWAREよりもたつくことが多いので、余り実用に向かないと判断。
      ただ、使い勝手はVPCの方が良いかと思ったりする。
      親コメント
  • by Anonymous Coward on 2005年09月26日 13時32分 (#804696)
    あればいいかな?という観点から、私はNYACUS入れてるだけ
    だったりします。
  • いろいろ (スコア:1, 興味深い)

    by Anonymous Coward on 2005年09月26日 14時20分 (#804717)
    Cygwinはどうしても好きになれなかった。
    ひっくりかえせば「Linuxってメッセンジャーもないの?」と
    言ってた奴と同じ心根になりかねない。
    Linux上でのゴテゴテGUIアプリがなんか興ざめなように
    Windows上でならWindowsらしい使い方を工夫したい。
    findやgrep、tar、wget gzip, bzip2、Perlなんかはどうしても欲しいんだけど
    シェルっぽいことをバッチファイル書いてやるとどうなるか、とか
    あるアプリケーションでどうこなすか考えてたほうがおもしろい。
    ApacheやMySQL、NamazuにEstraier。ソフトウェア単位だと
    あっちで慣れたものがWindows上でも動くから、
    Win環境に不足に感じることはもうほとんどなくなった。
    といいつつMeadow + eshellは手放せないんだけどw
    • by tuneo (2938) on 2005年09月26日 16時50分 (#804762) ホームページ 日記
      > findやgrep、tar、wget gzip, bzip2、Perlなんかはどうしても欲しいんだけど
      wgetは是非とも欲しいし、Python使いなのでPythonも必須ですが、tar, gzip, bzip2の代わりは7-zipなどを使うことでおおむねカバーできるし、find, grepの代わりはエクスプローラで間に合わせてます。

      エクスプローラじゃ力不足な時は(めったに無いですが)Pythonでスクリプト書いてしまいますね。最近os.walk()の使い方に凝ってまして。

      しかしそのスクリプトはLinuxマシンにsshで入ってEmacsで書いてます。ダメじゃん。
      親コメント
    • by beans-beans (28638) on 2005年09月26日 21時43分 (#804886)
      バッチファイルよりも最近では VBScript 使うことが多いです。
      Scripting.FileSystemObject でもある程度の処理は可能ですね。
      バイナリが扱えないのが痛いですけど。

      使うたびにノートン先生が怒るのはセキュリティ的に甘すぎるのか、
      ノートン先生が短気なのか…
      親コメント
  • 最近のLinuxのデスクトップは、よくできているので、
    Linux上で、Windowsを利用する。。。のも選択枝に入ると思います。

    で、ちょいとUbuntuお気に入り。
    +QEMUあたりで、Windows動くといいなぁと思いつつ、
    リモートデスクトップで現状満足してたりします。(汗;)

    理想的には、Xen上でWindowsも動いてくれることですかね。

    どちらにしても、Windowsさわる時間が短くなってくれますが、
    なくなってくれそうにはありませんねぇ。
typodupeerror

普通のやつらの下を行け -- バッドノウハウ専門家

読み込み中...