Windows Server 2008 の最後の記事で、いろいろ言ってしまったので、書きます。
また語っちゃいますよ~。
今日語るネタは、サーバーに GUI と CUI どちらが適しているのか?という点。
特に、自宅サーバーの事情に合わせて書いてみます。
意見、コメント大歓迎です。
言いたいことがありましたら、コメントフォームからどうぞ。
1. 自宅サーバーの現状
自宅サーバーと言えば Linux。
Linux といえば自宅サーバー。
などと思っている人も多いであろう。
現在、日本にある自宅サーバーのほとんどは Linux で組まれているのではないだろうか?
Linux と言えば、サーバー用 OS などというイメージが強いが、最近はデスクトップで使用するのも流行りである。
なぜ Linux が利用されるのか?
それは、タダというのが一番の魅力ではないだろうか?
Windows Server はお値段が・・・。
家庭用の XP や 2000, Vista で組むにしても、OS の値段はどうしてもかかってしまいます。
逆にいえば、RHEL を使った自宅サーバーなど組んでいる人がいるのでしょうか?
僕は、純粋な RHEL の自宅サーバーを組んでる人など見たこともありません。
やはり、タダというのは大きいです。
そして、それがもとになり現在のインターネットでは Linux が Web サーバーのデファクトスタンダードになっているわけです。
しかし、あくまで Web サーバーの話であって、サーバーという面でみると、決して Linux というわけじゃないんですけどね。
まあ、そこら辺は今回置いておきましょう。
2. Linux = CUI, Windows ≠ GUI という思い込み
ところで、Linux と言えば何を思い浮かべるだろうか?
コマンドがずラーっと並んだ、CUI 環境を思い浮かべる人が多いような気がする。
そう、Linux では昔から CUI が使われている傾向にある。
といっても、現在は X Window System の普及により、Windows と変わりないような GUI 環境が構築できるようになった。
しかし、これはデスクトップ Linux の話で、サーバーに目を向けるとどうだろう?
いまだに、CUI が主流のような気がする。
自宅サーバー構築の開設サイトなども、CUI ベースでセットアップすることをベースに書かれている。
デスクトップでは GUI なのに、なんでサーバーは CUI なんだろう?
原因を考えてみる。
まず、1番に言えることは、メモリの消費量である。
Linux では、X を立ち上げると、ウィンドウマネージャが、少なからずメモリを消費する。
確かに、あれだけのグラフィックを表示させるには、それなりのメモリ容量が必要なことはわかる。
そして、2番目に言えることは、はっきりいって特にない。
あるとすれば、X が消費するディスク容量ぐらいだろうか。
では、メモリ消費量がそこまで大事なのだろうか?
確かに、メモリが少ない環境では、X を立ち上げるには少々難がある。
逆にいえば、Linux はメモリが少ない環境でも、CUI であれば余裕で動かすことができる。
そもそも、昔はサーバーのスペック自体がよくなかったので、サーバーにするには GUI など不要で、ディスク容量やメモリのことを考えると、CUI を使ったほうがよかったのだ。
しかし、今はどうだろう?
もし、あなたが自宅サーバーをやっているとしたら、メモリはいくら積んでいるのだろう?
たとえば、僕の場合はとりあえず 1GB 程度載せている。
少なからず、今自宅サーバーを作るとすれば、256MB 以下という選択肢は、ほとんどないであろう。
逆にサーバーということで、2GB とか、無駄な容量を積んでる人も多いのでは?
それだけの容量を積んでいて、CUI と GUI のメモリ消費のことなんか気にする必要あるだろうか?
ディスク容量に至っても同じだ。
少なくとも、Web サーバーとして利用するだけであれば、80GB あれば普通は事が足りる。
それでも余るぐらいだ。
こんなご時世、数十MB のディスク消費を気にする必要があるのだろうか?
そもそも、メモリを "GB" 単位で積んでいるあなた。
自宅サーバーで、Web やメール、データサーバー程度の仕様で、そのメモリ容量をあまりなく効率的に使うことが可能だろうか?
そもそも、コンピューターというのは、マシンが必要とされている以上の物理メモリを載せてもほとんど効果がない。
今は、物理メモリの空きをディスクキャッシュなどに積極的に利用する技術もあるが、あくまであまりを利用する程度の効果しかない。
Vista がメモリ食いといわれる理由も、そこにあったりする。
いますぐ、free とコマンドを打って確かめてみよう。
CUI 使いのあなたならわかると思うが、free の所だけみて、「ほとんど空きなんてないじゃないか!」なんて妄想しないように。
3. CUI という落とし穴
では、CUI の落とし穴とは何だろう。
それは、まさに vi であると考えている。
CUI を利用する上で、誰もが使うであろう vi 。
CUI 使いのあなたは、vi こそ世界最強のエディタなどと思っているのであろうか?
では、なぜ Windows では TeraPad, 秀丸などの高機能エディタを利用するのだろう。
白黒しか表示されないエディタが最強なら、Windows でもそれを使えばいいじゃないか。
ここで矛盾が発生する。
そもそも、なぜ高機能エディタを使うのだろう?
大半の人が "見やすさ" や "機能" を理由に上げると思う。
しかし、vi はどうだろう?
機能はまあ標準的と見ても、見やすさに関しては最悪ではないか?
たとえば、gedit であれば、上のようにコメントや検索した文字列をマークアップしてくれたりと、編集したいところがすぐにわかり、とても見やすい。
これによって、たとえばコメントの # のはずし忘れや、スペルミスなども防止してくれたりもする。
しかし、vi では、どこがコメントで、どこが編集する部分なのか、まったくわからない。
これは、ヒューマンエラーを多発させる原因にもなる。
そもそも、マウスでのスクロールすらできないのである。
vi を Windows へ移植して、最強のエディタ "vi" などと売り出してみるといい。
それが、どれだけ最強なのだかわかるのではないだろうか?
さらに元を返せば、テキストエディット自体が好ましくない。
なぜなら、タイプミスの可能性など、人間が間違う可能性が多くなるからである。
もし、ウィザードのようなものがあれば、人間はコンピュータに従うだけである。
GUI であれば、ぱっと見てすぐに入力すべき内容を把握できる。
いまは、Linux ですらほとんどのディストリビューションが、OS のセットアップに GUI インストーラーを使っている。
テキストインストールでさえ、GUI 環境に見せたてようという工夫までしてある。
もちろん、CUI の欠点はそれだけではない。
そもそも、人間への負担の軽減や、扱いやすさを重視したインタフェースとして、GUI ができたのである。
Apple の iPhone や iPod , Nintendo DS など、製品を直観的に操れるものが流行りである。
それなのに、CUI という、直観的どころか、そもそも人間の動作で操ることができない。
文字上でのやり取りしかできないのである。
なぜ、MS-DOS の時代に戻らなきゃいけないのだろうか?
これは、人間を精神的にも肉体的にも疲れさせる要因ではなかろうか?
人間は、やりたいと思ったことを表す過程が短ければ短いほど疲れないのではなかろうか?
4. そんなあなたへ GUI のススメ
というわけで、無理に勧めるわけではないが、CUI を抜け出して GUI の世界に入ってみてはどうだろう?
GUI が絶対に良いと言っているわけではない。
確かに、サーバー部門ではコンフィグツールなどまだまだ完全に GUI 化してない部分がかなりある。
しかし、設定ファイルのエディットを vi から gedit に変えるだけで、どれだけのストレスが減らせるだろう?
どうしてもコマンドを使いたければ、ターミナルを使えばいい。
そもそも、実運用環境でメモリのことを気にするなら、通常時は GUI を切っておけばいい話である。
それなのに、なぜわかりずらい CUI で設定する必要があるのだろう?
たまには、GUI を使って、新鮮な空気に触れてみるのはどうだろう?
慣れというものがあるだろうが、そもそも慣れに頼っていては、先に進めない。
たまには、変化というものが必要なのだ。
CUI を使っていると、古典的なツールを扱っているというカッコよさによって、自己満足が得られるならそれでもよいかもしれないが。
あとは、自宅サーバーの開設サイトに、コマンドを覚える。という目標を掲げているサイトがある。
しかし、これからの時代、本当に Linux のコマンドを知っている必要があるのだろうか?
そもそも、コマンドを知って何になるだろう?
そのコマンドを使いこなして自慢しているところ、自分の頭の中で妄想するとでもいうのだろうか?
そもそも、知識というものは、必要になったら自然に覚えるものである。
必要でないものを覚えることは、脳内の記憶容量の無駄である。
HDD の無駄を気にするなら、自分の脳内の無駄を考えた方がいいのではないだろうか?
CUI と GUI どちらもすでに熟成したものではあるが、将来性はどっちの方が上だろう?
僕は、絶対に GUI だと思う。
あと、数年後には Linux だって GUI がスタンダードになっている日が来るかもしれない。
というか、いつの日にかその日が来ると思っている。
少なくとも、今 Linux の世界へ入っても、コマンドなんか出来なくたって十分使いこなせる。
しかし、それでも人間というのは新しいものを拒む性質がある。
特に日本人は。
また、なぜかそれとても批判したがる。
それも、自分で使ったり試したりもしないで。
いわゆる、食わず嫌いである。
先入観というのは、怖いものだ・・・。
最後に。
ここでは一概に GUI GUI!! と言ってきたわけだが、そういうわけではない。
組み込み Linux など、ハードが限られている分野や、そのほかいろんな場面では CUI を利用する方が有利であることは間違いない。
しかし、今回は自宅サーバー事情について話してきたのでこういうことになった。
この業界、古いものをやるのもいいけど、それではあまり意味がない。
常に、新しいものを求めるフィールド、それがインターネットというものなのではなかろうか。
そういう場で、古いものに頼るというのは、それ自体を衰退させてしまう理由にもなるのではないだろうか?とか考えたりもしている。
それと、ネットに書かれていることはすべてではない。
テレビに出ているジャーナリストや評論家という、根拠のない意味不明な肩書きをかけている人物と一緒で。
サーバーを運用する際も、CUI をネットに書かれている通りに、なんとなく使ってる人が多いのではなかろうか?
そもそも、それなりにコンピュータを理解していないと、この CUI を利用することでどれぐらい利点があるのかというのが比較できない。
もちろん、僕もすべてを知っているわけではない。
しかし、前述したとおり、CUI が本当にサーバーに向いているかといったら、それは???なのである。
あまりにも、サーバーは CUI, Linux は CUI, CUI じゃないとだめなのぉ~! なサイトが多すぎるので。
とずいぶん書くのに時間がかかってしまった。
特に後半だけで、30 分もつぶしてしまったよ・・・。

コメントで書くと長文になりすぎるのでブログのほうに書きました。
トラックバックの送信でエラー返されましたねorz
http://www.mbnsk.net/blog/2008/02/linuxcuivsgui.html
サーバ系のコンフィグツールには割りと期待してるんですがね。
使い易さを考えるとまだまだって感じですねぇ・・・。
反論?どうもです。
いろいろ納得させられてしまいました。
まあ、今回の記事はあまりにも、GUI 側に寄りすぎた視点だったかな・・・と今頃思ってるんだけど。
というか、過激すぎだったかなとw
実際、自分でも CUI 環境で(ry
使い分けが大事ってことですね。
個人の好みっていうのもありますからね。
>トラックバックの送信でエラー返されましたねorz
どうも、前から調子悪いみたいで。
原因不明です・・・。
僕もBlogの方に書きました。
http://d.hatena.ne.jp/con_mame/20080218#1203262553
Windws Serverの設定ツールは優秀だと思います。
やぽり、運用を考えて作られていますね。
見せてもらいました。
kanzaki さんのを見せてもらった後に、僕自身で批判記事?的なものを書いてみようかと思ってたりもしたのですが・・・。
僕も、同じようなこと書くだろうなぁなんて。
やはり、CUI は CUI で必要ですよね。
今更だけど、自分自身ちょっとこの記事はオーバーに書きすぎた気もするけど、ネットで意見を述べるならこれぐらいがちょうどいいのかなと思ったりもしたり・・・。
最初は、GUI を使ってサーバーを組んだり、セットアップしたりするのも結構いいですよ?ぐらいの勢いで書こうと思ったのだけど、なぜかいつの間にか GUI 信者のような感じに。
学校では、プログラミングでちょこっと使うぐらいなら、テキストで済ませてるぐらいなのにね・・・。
それと、僕だけが特殊なのかもしれないけど、サーバーってやっぱりディスプレイつながないものなのですかね?
僕は、2画面見ながら作業したいので、サーバーにもつけておきたいのですが。
マルチモニタであれば、快適にSSHも使えるんだろうけど。
どうも、ウィンドウ切り替えは好きではないので。
最後に、"画面キャプチャが詳しすぎる"ってありましたが、ボタン1個押すだけでキャプチャできますので。
あとは、フォルダにたまった画像を、ドラッグして載せるだけなので、特にまめなわけではないですが。
僕は、テキトーな人なので・・・。
WindowsLiveWriter の恩恵を受けているって感じでしょうか。
面白く読ませていただきました。
私は「CUI」寄りだったので、どっちもうまく使い分けて行きたいなーと感じています。
さて、kanzakiさんも指摘なさっていますが、
> vi を Windows へ移植して、最強のエディタ "vi" などと売り出してみるといい。
既にvim for Windowsがありますよね。
> TeraPad, 秀丸などの高機能エディタ
秀丸はシェアウェアですよね。vimは下手なソフトよりは色づけしてくれると思います。
コメント、見逃していました。
返信が遅れてしまい、すいません。
>vim
そういえばそんなものありましたね・・・w
ん~、いろいろ言われてみると、この記事は議論としては成功だけど、これを正面から受け取られるとまずい記事かも。
まあ、内容を替える気はありませんが。(追記も含め
でも、やっぱり CUI 寄りの人が多いみたいですね。
自分は、ちょうど中間、若干 GUI 寄りではありますが、完全な GUI マニアではないので。