ホームページに戻る

Linuxリンク集8

LinuxのX11に関するリンク集です。

X11のアーキテクチャ

X11のアーキテクチャに関しては以下を参照のこと。最近はネットワーク透過のないWaylandと言うシステムが代替を目指しています。

Wikipedia

Xlib

X11とXアプリケーションのやり取りをするライブラリ。これを使うことで、Xプロトコルの詳細を知らなくてもXアプリケーションが作れる。GTK+やQtはこれを使って実現されている。内容はWindowsプログラミングと良く似たメッセージループを利用する。

Wikipedia

xorg.conf

X11の設定ファイルです。

最近はハードウェアを自動認識するため、あまりいじることはありませんが、昔から超複雑で、一番厄介な設定ファイルです。初心者にはさっぱりです。

Gentoo Wiki

startx

Xサーバーを起動するコマンド。.xinitrcや起動スクリプトを実行する。

カスタマイズすることで、Xサーバーが起動する時に実行するアプリケーションやウィンドウマネージャを設定できる。

X11アプリケーション

twm

非常にシンプルな、X11標準のウィンドウマネージャ。

xterm

同じくシンプルな、X11標準のターミナルエミュレータ。

GNOME

巨大なデスクトップ環境。GTK+と言うウィジェット・ツールキットをベースに作られている。昔は、シンプルで初心者向けだった。昔のGMONE2を使いたい場合は、MATEをインストールすると良い。

Wikipedia

Nautilus

GNOMEのファイルマネージャ。

Wikipedia

GNOME 端末

GNOMEの端末エミュレータ。

Wikipedia

CORBA

GNOMEのベースになっているオブジェクト技術。僕の理解では以下のようになる:

CORBAは、僕の勝手な理解を言うと、アプリケーションサーバーとクライアントに分けることで、XサーバーとXクライアントのように、コアの万能コンポーネントと、小さなクライアントプログラムを分けることが出来る。

このCORBAの理解は明らかに間違っている。ネットを見ていると、オブジェクト同士が言語やプラットフォームの違いを気にせずに相互にやり取りし、呼び出す、と言う技術だ。

これを最近の流行で実装すると、monoになる。

要は、アプリケーションサーバーを外部から操作する。そこが賢いのが、CORBAとJavaだ。だから、GTK+のLispインタープリタなんか作る意味がない。Bonoboをコマンドから読んでもおかしくは無い。

そして、万能コンポーネントはオブジェクト指向で実現すると、本当に万能になる。

と言うことになるが、僕には良く分からない。大型コンピュータで使うのかもしれない。ただ、CORBAは成熟した技術らしい。

Bonobo

GNOMEのコンポーネントシステム。CORBAをベースにしている。

Wikipedia

GConf/dconf

GNOMEの設定登録システム。Windowsのレジストリと同様のシステム。

Wikipedia

GObject/GLib

GNOMEのオブジェクトシステム。C言語などを通じて、オブジェクト指向のプログラミングが出来る。応用言語にVala(GLibをベースにC#/.NETを模したコンパイル言語)などがある。

Wikipedia

Mono

UNIXやLinuxにおいて、マイクロソフトが開発した.NET Frameworkと同等の環境を動かすことが出来る、仮想マシンとC#/VB.NETコンパイラ。GTK#によってGUIアプリケーションも作れる。

Wikipedia

GTK+/GDK

GIMPの開発チームによって作られたウィジェット・ツールキット。動作が遅くのっぺりしているがきちんと動くことで有名。ライバルはQt。

Cで書かれていて、さまざまな言語フロントエンドがあり、色んなオープンソースのプログラミング言語でGUIアプリケーションを表示・操作することが出来る。

Wikipedia

GnomeVFS/GVfs

GNOMEの仮想ファイルシステム。FTPなどにアクセス出来る。

GNOME Shell

GNOMEの新しいシェル。ユーザーには「使い辛い」と不評だが、エクステンションを入れることで使いやすくなる。

Mutter/Metacity

GNOMEのウィンドウマネージャ。

gedit

GNOMEのテキストエディタ。

Rhythmbox

GNOMEの音楽プレイヤー。Windowsで言うところのiTunes。パクリで、純正ではないが、一応iPodなどとの同期などが出来るプレイヤーを目指しているはずだ。

Totem

GNOMEの動画プレイヤー。Windowsで言うところのWindows Media Player。GStreamerと言うストリーミング・フレームワークをベースにしている。

Evolution

GNOMEのメール閲覧ソフト。

GNOME Office (AbiWord/Gnumeric)

GNOMEのオフィススイート。ワープロのAbiWordと表計算のGnumericが有名。開発中だが、普通はLibreOfficeを使った方が良い。

KDE

Linuxのデスクトップ環境のもう一つの選択肢。綺麗で豪華な代わり、メモリを食う。Qtと言うC++の美しいウィジェット・ツールキットを利用している。コードはほとんどがC++で書かれている。GNOMEに次いでファンが多い。GNOMEの「G陣営」とは別に「K陣営」と呼ばれている。

KDE 4からガラッと美しくなったが、Trinityと言う昔のKDE 3をforkした集団も存在する。昔から、KDEは使うのにクセがあるが、Windowsに近い。

Wikipedia

Dolphin

KDEのファイルマネージャ。

Konqueror/KHTML

KDEのウェブブラウザ兼ファイルマネージャ。Windowsで言う、Explorerを拡張したIEに近い。

KHTMLはKDEのHTMLレンダリングエンジン。アップルやグーグルなどがWebKitと言う名前で派生し、今ではWebKitがMozillaによるGeckoエンジンとIEによるTridentとともに主要なレンダリングエンジンの三本柱となっている。

Konsole

KDEのターミナルエミュレータ。

Wikipedia

KEdit/KWrite/Kate

KDEのテキストエディタ。

Wikipedia

Amarok/Kaffeine

KDEの音楽プレイヤー。

Wikipedia

KMail

KDEのメール閲覧ソフト。

Wikipedia

Calligra Suite

KDEのオフィススイート。KWordはフレームに基づくテキストレイアウト方式をとる。

Wikipedia

KDevelop

KDEの開発環境。

Wikipedia

Plasma

KDEのグラフィカルシェル。最近はKDEのデスクトップ環境フレームワークを指して、Plasmaと呼ぶ。

Wikipedia

Qt

KDEで採用されている、X11のウィジェットツールキット。昔はこれがオープンソースでなくて、GNOMEと言うもう一つのプロジェクトを作る必要があった。今はオープンソース。Trolltechと言う会社で開発されていた。

Wikipedia

その他のアプリケーション

Mozilla関係(Firefox/Thunderbird/Gecko)

Mozillaは、元々はNetscapeブラウザの愛称だったが、Mozilla.orgによるオープン化によってオープンソースのブラウザ名になった。

Geckoは、Mozillaで開発されているHTMLのレンダリングエンジン。

Mozilla Application Suiteは、ブラウザ、メーラー、HTML編集ソフトを含む、インターネット統合ソフトウェアだったが、重量化のため、それぞれのコンポーネントを分離して、WebブラウザのFirefoxや、メーラーのThunderbirdが生まれた。

Wikipedia

OpenOffice.org/LibreOffice

OpenDocumentと言うオープンな文書フォーマットを制定し、オープンソースでMS-Office互換のクロスプラットフォームなオフィス・スイートを開発するプロジェクト。

元は、サン・マイクロシステムズと言う会社が買収して得たStarOfficeと言うオフィス・スイートをオープンソース化したもの。

最近では、昔のMS-Officeに良く似たインターフェースをしていることが好評。

動作は重い、表示は汚い、操作性がMS-Officeと違う、文書フォーマットをきちんと読まない、フォントが汚い(あるいは少ない)と言う理由で敬遠されがちだが、使ってみると意外と使いやすいし、最近のパソコンではあまり遅くない。オープンソース陣営の期待がかかったオフィス・スイートである。

Wikipedia

GIMP/Inkscapeなどのグラフィック・ソフトウェア

Adobe製品の代替を目指して頑張っているペイント系やドロー系のイラスト描画ソフトウェア。機能も少ないし、オフィススイートと同様フォントが汚くて少ないが、印刷や組版などの用途ではなく、デジタル・グラフィックだけをやるなら使えるようだ。Adobe製品はライセンスが高いことで有名なので、頑張ってほしい。

Wikipedia

日本語入力

日本語入力は、AnthyやMozcなど、最近はLinuxの方がWindowsより賢い。ただ、入力フレームワークの種類が多かったり、どうしても英語圏の開発者から対応が遅れがちだったり、時にはTrinityのように最近の入力フレームワークに対応していないものもある。

Wikipedia

Google関係

Google ChromeやGoogle Driveなどのグーグル関係のソフトウェアにも最近は対応する傾向にあるが、Chrome関係はアップデートしすぎでオープンソース版のChromiumはセキュリティの問題があったりする。Googleはサーバー側のソフトウェアを公開しないため、「本当にオープンでフリーなのか」と言う問題もある。グーグルの会社としての傾向は、「オープン」なところがあるのだが、Androidのように人間をロボットにしようとしたりする会社なため、自由ソフトウェア陣営からは注意が必要だ。

Wikipedia

Java関係

Eclipseと言うオープンソースな開発環境があるが、これはWindowsで使うのが一般的である。Javaのウィジェットツールキットは、クロスプラットフォームの「Swing」とEclipseによるOSネイティブな「SWT」が有名である。

Wikipedia

Android関係

グーグルが開発したモバイル向けOSであるAndroidはオープンソースであり、Linuxカーネルを採用している。Javaをベースにして作られている。

Wikipedia

Wine

LinuxでWindowsアプリケーションを動かせる、と言う夢のソフトウェア。開発中だが、まともには使えないだろう。

Wikipedia

Unity

Ubuntuが独自に開発している新しいLinuxのインターフェース。一部では使いやすいと評判である。Ubuntuの開発元であるカノニカルは「ユーザーインターフェースの再考」であると言っているが、実態はWindows 7とMac OS Xをパクったようなインターフェースである。雰囲気がいかにも「黒人が開発している」と言う感じだ。(Ubuntuはアフリカで生まれたディストリビューションである。)

Wikipedia

ちょっと古めのコンピュータ

Tcl/Tk

GUIを簡単に表示することの出来るスクリプト言語。

Wikipedia

Motif/CDE

昔のUNIXワークステーションで使われていたツールキットMotifとデスクトップ環境CDEについて。

Wikipedia

MS-DOS/Windows 3.1

MicrosoftによるDOS(ディスク・オペレーティング・システム)と、それを拡張する16bitのオペレーティング環境。この当時はまだDOSとWindowsが分離されていた。今のLinuxとX11に近い。

Wikipedia

昔のMac OS

アップルによる先駆的とされたOS。最近のMac OS Xは昔のMacではなく、NeXTSTEPと言う技術を応用したUNIXの一つです。

Wikipedia

BeOS

昔先進的だったOSです。

Wikipedia

8bitパソコン/BASIC

昔のホビー向けパソコン。BASICと言う簡単な言語のインタプリタを使って、プログラミングを誰でも楽しめる。

僕の父親がこの世代のパソコンに詳しいです。父親は8bit以降の色んなコンピュータを集めていたことがあります。

Wikipedia

ゲーム機

昔僕も好きだったテレビゲーム。最近はオンラインで行うネットゲームが流行っています。

Wikipedia