プロが教えるわが家の防犯対策術!

LinuxとGUIについてお聞きしたいことがあるのですが、
よろしくお願いいたします。

自分は今までLinux=CUIという認識をしてまして、
Linuxはインストールして起動したら、コマンドプロンプトの画面だけがずっと表示されているものなのだと思ってました。

実際、Windowsにcolinuxをインストールした時は、コマンドプロンプトしか表示されなかったので、そういうものなのだと思ってました。

しかし、最近VMware PlayerにUbuntuをインストールしてみて、LinuxディストリビューションでもWindowsのようにアイコンなどのGUIを表示できるものがあるのだと初めて知りました。

そこで疑問なのですが、例えばEclipseは、Linux上で利用出来、また、wxWidgetsを利用してGUI部分の構築も出来るらしいですが、EclipseとwxWidgetsを使ってCUIしかなさそうなLinuxディストリビューション上でソフトウェア開発をする場合、CUIしかないLinuxディストリビューション上でGUI付きのソフトを開発できるものなのでしょうか?Eclipse+wxWidgetsを起動したら、コマンドプロンプトからIDEのGUI画面に移るのでしょうか?

CUIオンリーのLinuxでGUI使いまくりのウェブブラウザなどを起動したらどうなるのかも疑問です。

そもそも「CUIしかない」とか「CUIオンリー」とかの認識が間違ってるのかもしれませんが、どなたかご教授いただけると幸いです。
よろしくお願いいたします。

A 回答 (5件)

>実際、Windowsにcolinuxをインストールした時は、コマンドプロンプトしか表示されなかったので、そういうものなのだと思ってました。


coLinux上で動くXサーバがなないから。
だからcoLinuxでもWindows上で動くXサーバを導入すれば
coLinuxでもX Window Systemは動く。

>wxWidgetsを利用してGUI部分の構築も出来るらしいですが、
wxWidgetsはGUIライブラリのひとつにすぎない。
他にもGTK+,QTなどいいろいろ存在する。

>EclipseとwxWidgetsを使ってCUIしかなさそうなLinuxディストリビューション上でソフトウェア開発をする場合、
EclipseはそもそもX Window System(JAVA+SWT)環境下で動く開発環境。
X Window Systeが動いてない状態でEclipseは使えません。

>CUIしかないLinuxディストリビューション上でGUI付きのソフトを開発できるものなのでしょうか?
GUIライブラリが適切にセットアップされていてコンパイルが通る状態なら
最悪vi+gccで可能。ただし実行テストはできない。

>Eclipse+wxWidgetsを起動したら、コマンドプロンプトからIDEのGUI画面に移るのでしょうか?
Xサーバが動いているならね。
そもそもWindowsでは無いんだからコマンドプロンプトはない。
コンソールとかX上ならターミナルエミュレータ

>CUIオンリーのLinuxでGUI使いまくりのウェブブラウザなどを起動したらどうなるのかも疑問です。
起動できません。
    • good
    • 0

余談 :-)



Linux上のGUIの根幹となるのがX Window systemですが
Linuxの歴史よりも、より古いのがX Window system(以降X)の歴史です。
Windowsが普及する前、1984年にXの開発は始まっています。

XはXとしての仕様が定まっており、この規格に沿って
いくつものUNIXベンダーが、実際にXの規格に沿った実装を行ないました。
そして、無償配布からはじまったUNIXの伝統(というか普通)から
Xのオープンな実装があり、それがXFree86やX.Orgとして普及しています。
(最初のX実装が有償だったかとかクローズドソースだったかとかは調べていない)


個人利用ではほとんど関係ありませんが、UNIXはPOSIX等の規格で
複数企業の提供するUNIXの間で互換性がとられたり
複数企業の提供するUNIX上のXで、同じX対応のソフトが動いたりしてきました。

個人利用では、ほとんどがLinuxかFreeBSDだったりするわけですが
そこで使われているGUIソフトの多くが、同様に商用UNIXや
UNIXをベースにしたMacOSX上のXで動作できたりもします。
それだけ、良く似た違うOS環境/GUI環境が多々あるわけですが
それだけ、激しい淘汰が起きたと考えて良いと思います。


廃れてしまったようですが
昔はWindows上でXを提供するソフトが売られていたりもしましたね…

ネットワーク帯域の向上で、VNC等が有用となり、これまた廃れましたが
Xでは、画面表示は手元のパソコンで行ないながら
処理自体は別のPCで使うという運用も想定されています。
X端末という専用装置も企業では使われていました。

強力なPCを、しょぼいノートPCから遠隔利用するという、今では簡単なことを…
UNIX系OS使いは、1995年以前には行なっていて、すごいと思ったものです。
私がMS-DOS使いでしか無かった頃の話です。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
自分も物事の発展の歴史は気になるところなので、
とても興味深く読ませていただきました。

お礼日時:2007/10/24 22:22

LinuxにはWindowsと違い、「ランレベル」という概念が存在します。

質問者さんが以前使用されていたLinuxでは、ランレベルがそれぞれ以下のようになっていたということですね。

colinux → ランレベル3(マルチユーザCUIモード)
Ubuntu  → ランレベル5(マルチユーザGUIモード)

@IT総合トップ > テクノロジー > Linux Square > Linux起動の仕組みを理解しよう[init/inittab編]
http://www.atmarkit.co.jp/flinux/rensai/theory10 …

もちろん、このランレベルを変更すれば、CUI→GUIにも、反対のGUI→CUIにも出来ます。最近のLinuxでは大半がデフォルトランレベルが5になっているため、グラフィカルログインにてWindowsと同じように使用できますが、CUIモードで起動した際には、以下のサイトのように「startx」コマンドよりXを起動します。

Go-net:How to PC-Unix(Linux) 超簡素UNIX入門講座 *サーバの起動と終了、ログイン、ログアウト
http://pc-unix.goco.ne.jp/howto1.html

あと、Xについてですが正確には以下のようになりますね。

X Window System→Linux標準のGUI環境(GPLで配布されているのは、XFree86)

GNOME→Xサーバ(XFree86)と通信しているXクライアント上にて動いているデスクトップ環境

GTK→GNOMEで使われている開発ライブラリ

gdm→GNOMEのディスプレイマネージャ

sawfish→GNOMEのウィンドウマネージャ

これが別のデスクトップ環境KDEだと各々が、「Qt,kdm,kwm」となる。

参考URL:http://ja.wikipedia.org/wiki/GNOME
    • good
    • 0
この回答へのお礼

ランレベルなどという概念があったとは・・
非常に参考になりました。
回答ありがとうざいましたm(_ _)m

お礼日時:2007/10/24 22:20

>> 自分は今までLinux=CUIという認識をしてまして、


>と、いう認識は基本的に間違いではありません
>「Linux Kernel」と言われるコア部分を指します
カーネルが理解できるのはシステムコール。
だからCUIでコマンドを直接カーネルが理解することはできない。
だからシェルが存在する。

>「Ubuntu」の場合「GNOME」と呼ばれるウィンドウマネージャーを使用しているみたいなので
GNOMEはウィンドウマネージャではありません。
統合デスクトップ環境でGNOMEの下でウィンドウマネージャが動いています。
(同じような統合デスクトップ環境のKDEではKDEには専用のウィンドウマネージャが存在している)
GNOME環境下ではウィンドウマネージャを好きなものを選べる。
    • good
    • 0
この回答へのお礼

X Window Systemというもの自体知らなかったので非常に参考になりました。
回答ありがとうございましたm(_ _)m

お礼日時:2007/10/24 22:18

それほど、詳しくはありませんが・・・



> 自分は今までLinux=CUIという認識をしてまして、
と、いう認識は基本的に間違いではありません
「Linux Kernel」と言われるコア部分を指します

逆に、GUIは

X Window System - Wikipedia
http://ja.wikipedia.org/wiki/X_Window_System

と、言う別の開発システム上開発されているものが多いです

「Ubuntu」の場合「GNOME」と呼ばれるウィンドウマネージャーを使用しているみたいなので・・・組み合わせ的には「Linux+GNOME」と、言うことになります

ウィンドウマネージャ - Wikipedia
http://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A3% …

CUIからの開発で行った場合でも、大体「X Window System」ツールキット群を経由して、使用して行うため基本的には「X Window System」は、必要になります
なくても、出来るそうですが、一般的では無いそうですが・・・
    • good
    • 0
この回答へのお礼

回答ありがとうございましたm(_ _)m
参考にさせて頂きます。

お礼日時:2007/10/24 22:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!