2007年07月12日

apt-get vs. aptitude

 これまでのインストールガイドでは、ソフトウェアをインストールするためにapt-getコマンドを使ってきました。ところが、いろんなサイトを閲覧しているとaptitudeコマンドを使っているところがけっこうあります。この二つの違いはなんなのでしょうか。そしてどちらを使うべきなのでしょうか。

Googleで"apt-get vs. aptitude"と検索すると、そのものずばりの記事スレッドフォーラムの投稿なんかが見つかります。やっぱみんな気になっているのね。ここでは、一番まとまっていたと思われるYet Another Linux Blogのこのエントリを基本に説明していこうと思います。

結論から言うと、「Ubuntuで使うなら今はapt-getに統一しておいた方がいいよ」ということらしいです。実際、非公式なUbuntuGuideのGeneral Notesのところでも
All references to "aptitude" will be replaced with "apt-get". You may still use "aptitude" if you wish, however could cause dependency issues.
なんて書いてあったりします(日本語訳:このガイドに書いてある"aptitude"は全て"apt-get"に脳内補完しておくれやす。"aptitude"も使えなくもないけど、依存性が破壊されるおそれがありますのねん)。

以下、apt-getaptitudeの違いをつらつらと。


ログファイル

 apt-getは特にログファイルを持っていません。そのかわり後ろで動くdpkgコマンドが
/var/log/dpkg.log
というログファイルを持っているようです。この中にはインストール・アンインストールしたパッケージの一覧が載っています。

aptitudeでもdpkgが後ろで動いていますが、dpkg.logとは別に
/var/log/aptitude
というファイルを管理しています。もし一度もaptitudeコマンドを使ったことがないのなら、ファイル自体が存在しません。


インストール時

 主な違いは「推奨(recommends)パッケージ」の扱いです。apt-getは推奨パッケージを表示するだけに留めますが、aptitudeは推奨パッケージもインストールしようとします(たぶん提案(suggests)パッケージはインストールしません。推奨と提案の違いはこのエントリの質疑応答が参考になります)。


アンインストール時

 主な違いは必要のなくなったパッケージ(孤児(orphan)パッケージと呼ばれるらしい)の扱いです。apt-getaptitudeもあるパッケージをインストールしたとき、必要なパッケージも自動的にインストールしてくれますが、インストールしたパッケージを削除したとき、apt-getはそのパッケージだけを、aptitudeは(/var/log/aptitudeのログを元に)不要になったパッケージも削除します。

この不要パッケージに対する扱いの違いのために、aptitudeの愛用者が多かったようです。現在ではapt-get autoremoveコマンドでaptitude同様のことを独自のログファイルを作成することなく実現できます。


実例

 仮想的なpackageXパッケージをapt-getaptitudeの双方でインストールしたときの違いを見ていきましょう。まず、packageXに対する依存関係は以下のようになっているとします。
  • 依存:packageXdep
  • 推奨:packageXrec
  • 提案:packageXsug

ケース1:aptitudeを使ってインストールし、aptitudeを使ってアンインストールする。
  • aptitude install packageXpackageXpackageXdeppackageXrecがインストールされる。
  • aptitude remove packageXpackageXpackageXdeppackageXrecがアンインストールされる。
  • 一緒にインストールされたパッケージはaptitudeのデータベースに基づいて全てアンインストールされる。
  • aptitudeのデータベースの整合性は維持される。

ケース2:apt-getを使ってインストールし、apt-getを使ってアンインストールする。
  • apt-get install packageXpackageXpackageXdepがインストールされる。
  • apt-get remove packageXpackageXのみがアンインストールされる。
  • 依存関係によってインストールされたパッケージは残ったままになる。
  • aptitudeのデータベースには触れないので整合性は維持される。

ケース3:apt-getを使ってインストールし、apt-get --autoremoveを使ってアンインストールする。
  • apt-get install packageXpackageXpackageXdepがインストールされる。
  • apt-get --autoremove remove packageXpackageXpacageXdepがアンインストールされる。
  • 一緒にインストールされたパッケージは全てアンインストールされる。
  • aptitudeのデータベースには触れないので整合性は維持される。

ケース4:apt-getを使ってインストールし、aptitudeを使ってアンインストールする。
  • apt-get install packageXpackageXpackageXdepがインストールされる。
  • aptitude remove packageXpackageXがアンインストールされる。
  • packageXdepaptitudeのデータベースに登録されていないので、アンインストールされない。
  • aptitudeのデータベース
  • においてpackageXdepインストールされていないことになっている。

ケース5:aptitudeを使ってインストールし、apt-get --autoremoveを使ってアンインストールする。
  • aptitude install packageXpackageXpackageXdeppackageXrecがインストールされる。
  • apt-get --autoremove remove packageXpackageXpackageXdepがアンインストールされる(packageXrecはどうなるか不明)。
  • packageXdepaptitudeのデータベースに関係なくアンインストールされる。
  • aptitudeのデータベース
  • において、packageXdepインストールされたままの状態になっている。


 うーん、わかりやすくまとめたつもりがなぜかわかりにくくなっている……。全てのケースにおいて単独では問題はおきないと思います。ただ、ケース4、5の場合、このあとにpackateXdepが関係するパッケージをインストールしたときに何か問題が起きそうです。このへんの話が「apt-getaptitudeの混用はやめたほうがいいよ」という理由になっているのだと思います。

気をつけなきゃいけないのは、Synapticがapt-getを使っているらしいということです(情報源が見つからなかったけど、Synapticを使ってもaptitudeのログファイルが作られていないので事実だと思う)。つまりSynapticを使うなら選択肢としてapt-getを使うしかない、と。性能的にapt-getaptitudeに差はないので、今後はapt-getを使いましょう。

ところで、aptitudeってapt-getの進化版と思っていたのですけれども、違うんですね。どちらもdpkgのフロントエンドを目指して作られたけれども出自は別で、どちらかというとaptitudeの方が古いんだとか。


追記(2007/12/17)

 案外、このエントリにやってくる人が多いようなので、いくつか修正・追記しておきました。とりあえず、ここに書いてあることは、非公式の情報を元に推論したものであり、事実と違う可能性があるので注意してください。実際、apt-getに統一した方がいいと書きましたが、DebianのMLやDebian GNU/Linux スレッドテンプレを見ると、積極的にaptitudeが使われています。これはDebianでは、SynapticのようなGUIは利用せずに端末上からインストールする方が多いために、aptitudeで統一した方がいろいろとログが残るし、特にオプションを指定しなくても「推奨」パッケージがインストールされるし、aptitudeにはCUI用のインターフェースも用意されているしと利点が多いからだと思われます。

また、上記では取り消し線をつけておきましたが、Synapticがapt-getを呼び出しているわけではないようです。まずAdvanced Packaging Tool(APT)というパッケージ管理のライブラリがあり、apt-getはそのライブラリに付属するおまけのコマンドで、aptitudeとSynapticはそのライブラリを利用し、ユーザインターフェースを備えたものという位置づけのようです。よって、Synapticもまたapt-getと同様にaptitudeのログを無視するということには変わりありません。また、[アプリケーション] - [追加と削除...]から起動できる「アプリケーションの追加と削除」の正体はgnome-app-installというアプリケーションであり、これは、python-apt
というPythonでAPTライブラリを利用するモジュール集を使っています。このため、これもまたSynapticと同様にaptitudeのログを無視します。

Ubuntuでも、サーバ版を使うだとか、Synapticや「アプリケーションの追加と削除」は使わないだとか言う場合は、aptitudeに統一してもいいかもしれません。ただ、「apt-getaptitudeの混用は避けるべき」というのは、Debian GNU/Linux スレッドテンプレにも書いてあるので、どちらかに統一するべきでしょう。ただ、公式ドキュメントにはそのような記載が一切ないので、それほど気にする必要はないのかもしれません。個人的には、Synapticや「アプリケーションの追加と削除」、apturlなどが便利なので「aptitudeは使わない」というように決めています。
タグ:ubuntu
posted by しぐま at 19:01 | Comment(2) | コンピュータ

2007年07月08日

3Dデスクトップ

 Ubuntu Linux 7.04 Feisty Fawnのカスタマイズ方法を解説する「おまけ編」(目次はこちら)。第三話は現在最もホットな分野とも言われる3Dデスクトップの導入方法です。

追記(2007/12/17):このエントリにアクセスしてくる人が多いようなので追記しておきます。3Dデスクトップを利用できる環境で、最新のUbuntu 7.10を利用する場合はこのような手間をかけずとも最初からインストールされています。詳しいことはこちらのエントリを参照してください。内容的にはほとんど変わりません。


例のごとくうんちくから

 3Dデスクトップとは、従来の平面表示だったOSの操作画面を最新のビデオカードの機能を積極的に使うことでより立体風に表示するよう改良したもので、将来的にはより使い易いデスクトップにしていくことを目指しています。Windows Vistaでも、一部のエディションではWindows Aeroという形で導入されていて、CMなどで見た方も多いはずです。LinuxではOpenCompositingというサイトで開発されている、Compiz Fusionが今のところ最有力候補となっています。

いかんせん、現在発展中の分野なため、状況が二転三転しています。Compiz Fusionという名前だってつい先日あらわれたばかりです。それでも、Ubuntuでは2007年10月にリリース予定の時期バージョン(Gutsy Gibbon)でCompiz Fusion(もしくはCompiz?)を標準でサポートする予定となっていますし、フォーラムやWiki、ブログではインストール方法がいろいろと紹介されています。ただ、サイトによっては用語や手法が古いものだったりするので注意が必要です。3Dデスクトップはいまだ実験的な機能であり、利用する場合はそれなりの覚悟をもって、最新の情報を検索するよう心がけてください。

とりあえずよく出てくる単語の整理をしておきます。
X
X.Orgが開発している、デスクトップ上にウィンドウを表示するためのソフトウェア「X Window System」の略称です。バージョン番号を付加してX11と呼ばれることもあります。
AIGLX
OpenGLを活用してウィンドウの描画をより高速にし自由度を高くする、既存のX Window System(X11R7.1)の拡張機能で、X.OrgとFedora Projectが開発しています。Compiz Fusionを使う場合、基本的にX Window System+AIGLX上で動かすことになります。
Xgl
OpenGLを活用してウィンドウの描画をより高速にし自由度を高くする、新しいX Window Systemで、Novell社のDavid Ravemanが開発しています。X.Orgが提供するX Window Systemが従来通りのX Window SystemにAIGLX機能を取り込んで行くか、SUSE LinuxのようにXglに置き換わるかは今後のX/AIGLX/Xglの発展次第です。
ウィンドウマネージャ
Xはデスクトップ上でウィンドウを管理するソフトウェアと言いましたが、実際にどのような外観をもったウィンドウを表示するかと言ったことはウィンドウマネージャが管理します。X用のウィンドウマネージャは数多くの種類が存在していて、GNOMEの場合Metacity、KDEの場合KWinと呼ばれるものが採用されています(変更することも可能です)。3Dデスクトップを利用するためには、ウィンドウを3D化するウィンドウマネージャであるCompiz Fusionを使うことになります。
Compiz
3Dデスクトップを実現するウィンドウマネージャの一つで、Xglと同じくNovell社のDavid Ravemanが開発しています。もともとXgl用のウィンドウマネージャとして開発されましたが、後にAIGLX上でも使えるようになりました。Ubuntuでも比較的簡単にインストールできます。現在はBerylと統合してCompiz Fusionとなり、Compizの名前はCompiz Fusionの基本プログラムだったり、Compiz Fusionの名前だったりを意味します。
Beryl
3Dデスクトップを実現するウィンドウマネージャの一つです。Compizの私家版としてQuinn Stormによって開発されていたCompiz-quinnstormが、もろもろの理由でCompizから離脱しBerylという名前に変更されました。現在はその理由も解決し、Compizと統合してCompiz Fusionという名前になっています。Ubuntu用の3Dデスクトップとしてよく紹介されるのは、もっぱらBeryl+AIGLXという環境です。
Compiz Fusion
3Dデスクトップを実現するウィンドウマネージャの一つで、今後Linux上の3Dデスクトップにおける標準のウィンドウマネージャになると考えられている存在です。現在は、OpenCompositingというサイトで開発が進められていますが、今後ドメインなどが変わるかもしれません。
ここでは、Compiz Fusion+AIGLXという環境をインストールします。


要求環境

 3Dデスクトップはグラフィックカードの性能を最大限活用しますので、それなりに新しいグラフィックカードと、Ubuntuでその性能が十分発揮できるドライバが必要になります。たとえ最新の高性能なグラフィックカードを用意できても、適当なドライバがない場合は3Dデスクトップを利用できません。

具体的にどのグラフィックカード(グラフィックチップ)で利用できるかというのは、Ubuntuの日本語Wikiのページが参考になると思います。
  • Intel:i810からi965まで
  • NVIDIA:NVIDIAのバイナリドライバでサポートされるビデオカード
  • ATI:Radeon7000からX850までのカード(xserver-xorg-video-atiパッケージに収録されているオープンソースのドライバで動作するもの)
Intelのドライバパッケージの名前はxserver-xorg-video-i810になります。ATIのドライバはUbuntuの公式ヘルプのRadeonDriverのページの中で、3D描画がサポートされているもの("Experimental 3D acceleration"と"Full 3D support")が対象になります。ATIの場合、バイナリドライバ(パッケージ名はxorg-driver-fglrx)で動いている場合もあるので注意が必要です。その場合はAIGLXじゃなくてXglを使わなければいけないかもしれません。NVIDIAのものは持ってないのでよくわかりませんがこの辺が参考になるかもしれません。


 現在のドライバの確認方法は簡単です。メニューから[アプリケーション] - [アクセサリ] - [端末]を開き、以下のコマンドを入力します。
grep -i Driver /etc/X11/xorg.conf
"Driver"と書いてある行が複数表示されると思いますが、Intelなら"i810"、ATIでオープンソースドライバなら"radeon"もしくは"ati"、バイナリドライバなら"fglrx"、NVIDIAなら(たぶん)"nv"か"nvidia"が表示されるでしょう。もし"vesa"と表示されたのなら、3Dデスクトップは諦めてください。"vesa"は汎用のドライバですので、グラフィックカードの独自機能をばりばり使わなくちゃいけない3Dグラフィックスの描画には向いていないんです。

実際にどんなグラフィックカードとして認識されているかは、同じ端末の中で
lspci | grep -i intel
と実行してください(intelの部分はドライバの結果次第でatiとかnvidiaとかに置き換えて)。わけのわからん文字列がいろいろ表示されると思いますが、"VGA compatible controller"、"Display controller"と書いてあるあたりにグラフィックデバイスの名前が載っています。例えば自分のノートパソコン(Compaq nx6310/CT)の場合は
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS/940GML (後略)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/940GML (後略)
と表示されました(メーカのスペック一覧を見ると実際のチップセットは"Intel 940GML Express"だそうです)。デスクトップ(Dell Optiplex GX620)の場合は
01:00.0 VGA compatible controller: ATI Technologies Inc RV380 [Radeon X600 (PCIE)]
01:00.1 Display controller: ATI Technologies Inc RV380 [Radeon X600]
でした(メーカのスペック一覧を見ると実際のチップセットは"Radeon X600 Pro"です、たぶんPCI-Express版)。

そのドライバが3D描画に敵しているかは、端末内で次のコマンド
glxinfo | grep direct
を入力し
direct rendering: Yes
と表示されれば大丈夫です。ちなみに、ノートパソコン、デスクトップ共にCompiz Fusionは快適に動作しています。こちらに簡単な構成を掲載しているので、必要スペックの目安にどうぞ(さすがに自宅のデスクトップでは動きませんでした)。


Compiz Fusionのインストール

 インストールは比較的簡単です。ただし、簡単にするためには外部レポジトリの追加が必要で、これはUbuntuを不安定にする要因にもなり得るので本当に導入すべきかどうかは慎重に考えてください。そもそも、Compiz Fusion自体まだまだ発展途上で非常に不安定なので、場合によってはUbuntuの再インストールも辞さないぐらいの覚悟を持って望みましょう。

最新版をインストールするための方法は、CompizのWikiUbuntuの英語フォーラムに載っています(ほぼ同じ内容ですが、Wikiの方がまとまっていますし、フォーラムの方が最新の情報が載っているでしょうから両方掲載しておきます)。また、独学Linuxさんのこのエントリでは同様の内容が日本語で丁寧に解説載されています。これらのリンク先の内容を理解できるなら、この先の話は読む必要ありません。

GITというのはSubversion、CVSのようなバージョン管理システムの一つで、最新版のソースコードはGITを使って取得することができます。そのソースコードをビルドすればインストールできるのですが、少し面倒です。Wikiやフォーラムでの説明に出てくるTreviñoさんはUbuntuでaptコマンドやSynapticを使って簡単にインストールできるようにバイナリ形式で配布してくれている人です。

まずは、以前にインストールしたCompizやBerylを削除します(Feistyの場合は「デスクトップ効果」という名前でCompizが標準でインストールされています)。[アプリケーション] - [アクセサリ] - [端末]を開いて
sudo apt-get remove compiz-core desktop-effects
と入力します。ubuntu-desktopも削除されますが、これはデスクトップ環境一式をインストールするために必要なメタパッケージと呼ばれるもので、削除されること自体は問題ありません。ただし、Ubuntuの新しいバージョン(例えば7.04から7.10)にアップグレードする場合は、事前にubuntu-desktopを入れ直すことが強く推奨されています。

次にバイナリダウンロードサイトであるレポジトリを追加します。レポジトリの追加は、伝統的には/etc/apt/source.listというファイルをテキストエディタで編集しますが(CompizのWikiにはそのやり方が載っています)、 Ubuntuの場合は初心者にも簡単に追加できるような方法が提供されています。まず「鍵」をインストールします。「鍵」は、レポジトリからインストール可能なパッケージ一覧を取得する際に、正しいレポジトリかどうかを確認するために必要です。[アプリケーション] - [アクセサリ] - [端末]を起動し、
wget -q http://download.tuxfamily.org/3v1deb/DD800CD9.gpg -O- | sudo apt-key add -
と入力します(サイトによっては"81836EBF.gpg"も追加するみたいなことが書いてありますが、たぶんしなくて大丈夫)。OKと表示されればOKです。次に[システム] - [システム管理] - [ソフトウェア・ソース](パスワードの入力が必要です)から、「サードパーティのソフトウェア」タブを開いてください。左下の「Add」ボタンを押し、
deb http://download.tuxfamily.org/3v1deb feisty eyecandy
と入力し、「ソースを追加」ボタンを押します(サイトによってはdeb-srcの行も追加するよう書いてありますが、ソースファイルを取得したい場合のみ追加してください)。ここで「閉じる」ボタンを押すと「情報の更新が必要」というウィンドウが出ますので、「再読込」ボタンを押してください。これでレポジトリの追加は完了です。上記レポジトリアドレスは2007/07/06の情報ですが、場合によっては変更されているかもしれません。また、右上にオレンジ色のアイコンで、アップデート・マネージャが起動すると思いますので、アップデートしておいてください。もし、起動しない場合は[システム] - [システム管理] - [アップデート・マネージャ]から、「再読込」ボタンを押してアップデートしてください(特にlibdecoration0のアップデートは重要なようです)。


 これでようやく、Compiz Fusionのインストールを開始できます。[アプリケーション] - [アクセサリ] - [端末]を開いて、以下のコマンドを入力してください(これはGNOME用で、KDE用にはパッケージ名を若干変える必要があるようです)。
sudo apt-get install compiz compiz-gnome compiz-fusion-* \
compizconfig-settings-manager libcompizconfig-backend-gconf
CompizのWikiとUbuntuの英語版フォーラムと独学Linuxさんとで、インストールしているパッケージの内容が若干違いますが、どのインストール方法でも最終的に必要最低限のものはインストールされます。例えばpython-compizconfigcompizconfig-settings-managerと同時にインストールされます。

独学Linuxさんの方であげられているemerald(とemerald-themes)だけは、必要かどうかわかりませんでした(基本的になくても動きます)。このEmeraldというのは、"window decorator"と呼ばれるもので、簡単に言っちゃうとテーマだと思ってもらえばいいと思います。EmeraldはBerylの標準window decoratorで、Compizのwindow decoratorはgtk-window-decoratorだとかなんとか。で、Compiz Fusionになってからがよくわかんないんですよね。試しにいれちゃってもいいかもしれません。


Compiz Fusionを使ってみる

 長い旅路も終え、ようやく実際に体験できるところまでこぎ着けました。実行は簡単。Alt+F2を押し、「アプリケーションの実行」ウィンドウの中で
compiz --replace
と入力するだけです(端末内で実行する場合は、最後に"&"を追加してください)。問題がなければ、現在開いているウィンドウが全てワークスペース1に集められて、ちょっと時間がたったあと、メニューバーなどが表示されるはずです。試しにCtrl+Alt+→を押せば、デスクトップがくるんっと回転するはず。

例えばウィンドウのタイトルバーや枠が表示されないという問題があるようなら、「アプリケーションの実行」ウィンドウの中に入力する単語を
compiz --replace -c emerald &
にすれば解決する場合もあるようです。トラブルシューティングは上で記した、Ubuntuの英語フォーラムで活発にとりおこなわれているので、一通り読んでおくといいかもしれません。

Compiz Fusionを終了させたい場合はAlt+F2を押し、「アプリケーションの実行」ウィンドウの中で
metacity --replace
と入力します。metacityはGNOMEの標準ウィンドウマネージャです(KDEならkwinかな?)。

この状態だと、ログインするたびに「アプリケーションの実行」ウィンドウを開いて実行する必要があります。自動的に起動したい場合は、[システム] - [設定] - [セッション]の、「自動起動するプログラム」タブから「新規」ボタンをクリックします。出てきたウィンドウの「名前」に「Compiz Fusion」を「コマンド」に「compiz --replace」を入力し「OK」ボタンと「閉じる」ボタンを押せば設定完了です。Ctrl+Alt+BackSpaceでXを再起動しCompiz Fusionが自動で起動することを確認してください。コマンド欄は場合によって
compiz --replace -c emerald &
compiz --replace & sleep 2; emerald --replace &
とした方がいいこともあるそうです(&が必要かどうかは未確認)。後者のコマンドを実行するなら、emeraldをインストールしておく必要があるかも。


 簡単な使いかただけ。CompizやBerylの紹介でよく出てくるSuperというキーはWindowsキーのことです。大抵の場合、CtrlAltの間に挟まれている、四つの波打った四角からなるWindowsマークのついたキーです。

どういうキー操作でどういう効果があらわれるかは、どのプラグインが起動しているかに依存します。プラグインの起動・停止は「CompizConfig Settings Manager」で管理します([システム] - [設定] - [CompizConfig Settings Manager])。2007/07/06時点の初期状態では
  • General
    • General Options
  • Accessibility
    • デスクトップのズーム
  • Desktop
    • キューブの回転
    • デスクトップキューブ
  • Effects
    • ウィンドウのフェード
    • ウィンドウ装飾
    • 効果を最小限にする
    • 揺れるウィンドウ
  • Extras
  • Image Loading
    • Png
  • Utility
    • Dbus
    • Regex Matching
    • Video Playback
  • Window Management
    • アプリケーションスイッチゃ
    • ウィンドウのサイズ変更
    • ウィンドウを移動
    • ウィンドウを配置する
    • スケール
  • Uncategorized
の16個が有効になっているようです(General〜Uncategorizedはカテゴリです)。

初期状態で機能する主だった操作をあげていきます(括弧の中身は担当するプラグイン名)
Alt+F7もしくはタイトルバーを掴んでウィンドウを移動
うにょ〜ん(ウィンドウを移動?)
タイトルバーをダブルクリック他で最大化
ぽよんっ(揺れるウィンドウ?)
Ctrl+Alt+マウス左ボタン
ワークスペースを自由に回転させる(キューブの回転)
Ctrl+Alt+→
現在のワークスペースを右に移動するよう回転(キューブの回転)
Ctrl+Alt+←
現在のワークスペースを左に移動するよう回転(キューブの回転)
Ctrl+Alt+↓
ワークスペースの一覧を表示(デスクトップキューブ)
Super+マウスホイール回転
画面の拡大・縮小(デスクトップのズーム)
Alt+マウスのホイール回転
ウィンドウの透明度変更(General Options)
Alt+Tab
現在のワークスペースにあるウィンドウをリスト表示しながら切替(アプリケーションスイッチャ)
画面右上にカーソルを移動
ウィンドウ一覧を表示、クリックしたらそのウィンドウに移動。再び画面右上にカーソルを移動することでキャンセル(どのプラグインが担当しているか不明)
最後のアプリケーションスイッチャに関してはバグなのかなんなのか、一つ飛ばしでウィンドウが切り替わってしまいます(つまり2つのウィンドウがある場合いつまでたっても片方しか選べない)。「CompizConfig Settings Manager」ウィンドウで「アプリケーションスイッチャ」を選び、Actionsタブに移動、"General"の「次のウィンドウ」のどちらかを無効化しちゃえばいいのですが……無効化のしかたがわかりません。なんか前の設定をひきずったりなんだりで、今ひとつうまくいかないので、適当に別のキーを割り当てておきました(選択したい項目をダブルクリック→設定ウィンドウでいいはずなんですが)。ということで、「CompizConfig Settings Manager」で操作方法を変更するのは「今のところ難しい」と思っておいた方がいいでしょう。


 プラグインはたくさんありすぎて、どれを使えばいいのかわからないのが正直な感想です。独学Linuxさんのサイトにはさまざまなプラグインの紹介が載っているので大変参考になります。Berylのプラグインとして紹介されているものも、大半はCompiz Fusionにも同じものが存在しますし、設定項目はほぼそのままです。

自分はとりあえずウィンドウの切替がかっこよくなる"Ring Switcher"を有効にしてみました。Super+Tabで全ワークスペースのウィンドウを対象にした切替、Alt+Super+Tabで現在のワークスペースのウィンドウを対象にした切替になります。

気になる人は、百聞は一見にしかず。独学Linuxのvine_userさんが、さまざまなプラグインの動画をYouTubeにアップロードしてくださっています


自分が遭遇した問題点

  • Totemで動画を再生できない。再生中はずっと黒画面で、ウィンドウを移動させると表示される場合もあるみたい。MPlayerを使えば問題なし。
  • ATI Radeonの方は稀にフリーズする。キーボードの入力をまったくうけつけず、Ctrl+Alt+BackSpaceCtrl+Alt+Delも入力できないので電源ボタンで強制再起動しか復帰手段がない。マウスカーソルの移動のみ可能な場合もあり。
タグ:ubuntu
posted by しぐま at 12:47 | Comment(0) | コンピュータ

2007年07月06日

ななこな子

 セブンイレブン用電子マネー「nanaco」が使えるようになってからだいぶたちますが、先週ようやく入手してみました。最寄りのコンビニがセブンイレブンのくせに、自分遅すぎだ。いや、あれですよ、レジでは何度となく勧誘されたんですけど、時間がなかったりで後回しにしてたんですよ。

で、一週間使ってみて、ようやくレジでの手続きになれてきました。
  1. レジに品物を置く
  2. 品物をレジに通している間にカードを出す
  3. 店員が小計を伝えて品物を袋につめている間に、「ななこで」と言う
  4. 店員がレジのボタンを押して、ディスプレイに表示が出たら一秒ほどカードをかざす
  5. ぴっとなったらカードをしまい、品物とレシートをうけとる
これでいいらしい。いいらしいって普通じゃん、とか言うな。このやり方を覚えるまでに何度ぐだぐだになったことか。「ななこ」という発音が伝わらなかったり、カードかざすタイミング間違えたり、レシート受け取り忘れたり……。

そういえばレジのディスプレイにカード残高が表示されないんですね、あれ不便。レシート見ればわかるんですけど、どうせ使用額を表示するんだから、SUICAの自動改札機みたいに残高も表示してくれたらいいのに。というか使用額の表示も、小計の部分が0になるというなんか不思議な書式のような。


 目下の目標は、支払いと同時にチャージをする手続きを覚えることです。現在のところ3連敗中。どのタイミングで「ついでにチャージもお願いします」と言えばいいのかわかんないんですよ。一度なんて650円の支払いに対して
自分:ななこで、(残高足りないだろうから)チャージもお願い
店員:はい!(レジのボタンをぴっ)
自分:(カードぴっ)
店員:残高が足りないようなのですが……
自分:あ、チャージも(千円札を渡す)
店員:(千円札をうけとりながら)かしこまりましたっ。350円のお釣りになります!
自分:(品物とお釣りをうけとり、首をかしげながらお店を出る)
こんなことも。

……どこまでへたれなんだorz
posted by しぐま at 08:07 | Comment(9) | 日記

2007年07月04日

Ubuntu 7.04 Feisty Fawnの印象

 さて、ここ数ヶ月の懸案だったUbuntu 7.04 Feisty Fawnのインストールメモをようやく書き終えました。書いてくそばから追記したいことが増えていって困った困った。まだ残っているんですけどね。6.10 Edgyからの大きな改善点は、制限付きドライバやマルチメディア系パッケージのインストールが楽になったことぐらいでしょうか。特に、特定のファイルを再生しようとしたときに必要なパッケージを教えてくれるシステムはなかなか素晴らしいと思います。それでもいくつかのコーデックに対してはレポジトリの追加などの作業が必要になってしまうのですが。

それ以外にも細かい変更点はあるみたいです。特にパフォーマンスの改善はよく言われることみたいですけど、個人的な体感ではそれほど変わりませんでした。そういえばいくつかのコマンドを端末から入力した時、そのコマンドを提供するパッケージを教えてくれる機能が備わりましたね。あと標準的なフォントの印象が変わったんですけど、なんか変更があったんですかね。それとも気のせいでしょうか。


 変更点と言えば[システム] - [Ubuntuについて]で表示される内容の大部分が日本語化されています。前々から個人的には必要ないけれども気になっていた箇所だったのでうれしい限り。どうやら、がんばってくれた人がいる模様。手伝えたらいいのだけれど、やり方を覚えるまでが一苦労……と思っていたら、ローカルでのパッケージの作り方まであるじゃないですか。実際にubuntu-docsの翻訳をする手順は、リンク先の1-4をやってから、「poEditなどでpoファイルの修正→5のXMLファイルの更新→yelpで確認」を繰り返して、できあがったpoファイルをlaunchpadにアップロード、という形でいいのでしょうか。これだとコンフリクトしないように確認する必要がありますけど。

翻訳と言えば、Ubuntuをインストール直後のFirefoxのスタートページに登録されている
/usr/share/ubuntu-artwork/home/locales/index-ja_JP.html
も早く翻訳した方がいいと思っています。まだ未翻訳のようなら時間があるときに、やってみたいと思っているのですが、launchpadのどこを見ればいいのかがわかりません。どうやらこのファイルはubuntu-docsの一部なのですけれども、翻訳用のページが複数に分かれている上に、どこに属するのかを調べる手段がさっぱりわからないんです(そもそも、これから翻訳するならgutsyのほうでないといけない、という認識もあってるかどうか自信なし)。

翻訳関係でもう一つ。ホームディレクトリ(そういえば「ディレクトリ」と「フォルダ」どっちを使うべきなんだろう)にリンクがはってあるExampleディレクトリの中身も日本語化したいところ。どうやら、ここで管理しているようなのですが、まだ翻訳対象にはなってはいない?


 一部はインストールメモでも書いた参考サイト一覧。などなど。


 最後に、7/20,21に京都で開催されるオープンソースカンファレンス2007にUbuntu Japaneseも参加するそうです。ちょうどその時期、兵庫の実家に帰れるかもしれないので参加してみようかな。当初Wikiには、「展示用にBerylの動くマシンを調達したいけど難しそう」みたいなことが書いてあったので、自分のノートPCでCompizFusionが動いたら提供しようかと思ったんですけど、なんか展示スペースに対して持ち込みPCの数がえらいことになってますし、普通に動くマシンもあるみたいだしなので、PCの持ち込みは必要なさそうな予感。というか、そういうことも含めて、IRCのミーティングに顔を出せばいいのに、参加できていないダメダメな自分orz
タグ:ubuntu
posted by しぐま at 18:43 | Comment(0) | コンピュータ

SDL上で日本語入力

 どういう風に説明していいかわかんないけどとりあえず世界的に流行っているらしいSecond Life。そのSecond LifeはどうやらIMEを使った入力が非常に困難なSDLを使っているようで、Second LifeでSCIMを使った日本語入力を可能にするためのSDL用パッチを作成された方がいます。さらに素晴らしいことに、そのパッチがSDL本家に採り入れられたとのこと。もしかすると、これでStellariumでも日本語入力が可能になるかもしれません。

ところでこのパッチ、Linux向けって書いてありますけど、Windows版SDL(つまりSCIMではなくMS-IME)では機能しないのでしょうか。というか、そもそもWindows版Second Lifeは普通に日本語入力できるのでしょうか。Windows版はSDLじゃなくてDirectXをそのまま使っているのかな。
posted by しぐま at 18:38 | Comment(0) | コンピュータ

画面解像度の変更方法

 Ubuntu Linux 7.04 Feisty Fawnのカスタマイズ方法を解説する「おまけ編」(目次はこちら)。第一話は意外にGoogleで検索してくる人が多い、画面解像度の変更方法です。

基本的な方法

 もっとも簡単な方法はメニューバーの[システム] - [設定] - [画面の解像度]から変更する方法です。「解像度」から変更したい解像度を選び、「適用」ボタンを押せば解像度が変更されます。正しく変更されたかどうかを聞いてくるウィンドウが出てきますので、望み通りに変更されたのなら「この解像度を使用する」ボタンを、変更前の状態に戻したければ「前の解像度を使用する」ボタンを押してください。20秒ほど放置すると、自動的に変更前の状態に戻ります。


解像度の選択肢を増やす

 標準状態では、選択肢の中に望みの解像度が存在しないかもしれません。自分の場合は、"1024x768"、"800x600"、"640x480"の三つだけでした。どの選択肢があらわれるかは、グラフィックドライバやディスプレイの種類によって変わります。これ以外の選択肢を追加するには、設定ファイルを書き換える必要があります。グラフィックデバイス(グラフィックボードもしくはグラフィックチップとディスプレイ)がどの解像度をサポートしているかは、大抵の場合マニュアルに書いてあります。場合によっては、"XGA"や"SXGA"などの「通称」で表記されているかもしれません。通称と解像度との対応表はWikipediaの画面解像度の項目を参照してください。

まず最初に注意して欲しいのは、必ずしも好みの解像度に設定できるわけではないということです。インストールされているグラフィックドライバが解釈できる値にのみ設定できます。特に、一部のノートパソコンのようにワイドスクリーン画面を採用している場合は、そのグラフィックデバイスに適切な値を見つける必要があります。

ここでは、一般的な"1280x1024"(SXGA)を追加する方法を例示します。


 画面解像度に関しては"/etc/X11/xorg.conf"というファイルを編集することで設定します。このファイルは画面上にウィンドウなどを表示するためのプログラム(このプログラムをX Window Systemと呼びます)にとって必要な設定情報を管理しているとても重要なファイルです。もしこのファイルが何らかの理由で壊れてしまえば、現在のUbuntuのようなわかりやすい画面を表示することはできなくなり、Windowsでいうコマンドプロンプトのような文字入力しかうけつけない画面になってしまいますので、編集する際にはくれぐれも注意してください。ただし、適切な知識と十分な意欲さえあれば、そのような状態から元の状態に戻ることは可能ですので、それほど心配する必要はありません(このエントリの最後で簡単な対処法を説明します)。

最初にメニューから[アプリケーション] - [アクセサリ] - [端末]から端末を起動し、次のコマンドを入力することでxorg.confがあるディレクトリに移動します。
cd /etc/X11
いざというときのために、次のコマンドを入力してxorg.confのバックアップを作っておきましょう。
sudo cp xorg.conf xorg.conf.backup
パスワード(Password)の入力を要求されると思いますので、自分のパスワードを入力してください(キーを入力しても反応がないのは正常です、最後にEnterキーを押すことで確定します)。現在居る/etc/X11ディレクトリは重要なディレクトリであり、新規にファイルを作成する(今回の場合だとxorg.conf.backup)には管理者権限が必要です。そのため、複写コマンド(cp)の前に、sudoコマンドをつけることで「管理者権限で実行するよ」ということを伝えています。

xorg.confのバックアップがとれたので、編集にかかりましょう。xorg.confはただのテキストファイルなので、テキストエディタで修正することが可能です。Ubuntuの場合、Windowsのメモ帳に近い「テキスト・エディタ(gedit)」と端末内からでも実行できる「GNU nano」のどちらかを使って修正することができます。nanoの使いかたを覚えておくと、起動時のトラブルがあったときに役に立つので、ここでは練習として実際にnanoを使ってみましょう。先ほどの端末内で、次のコマンドを実行してください。
sudo nano -w xorg.conf
sudoがついているのはxorg.confが重要なファイルだからですね。今回はパスワードを聞かれないかもしれません。これは、一度sudoコマンドでパスワードを入力したら、15分間は再度尋ねることをしないからです。-wは必須のオプションです。nanoは通常、長い行を勝手に折り返してしまいます。これは設定ファイルを修正する場合は非常に面倒な問題を引き起こすのです。よって-wオプションをつけることで、「勝手に折り返したりしないでね」と伝えます。

nanoの使いかたは非常に簡単で直感的です。ただし、機能はそれほど充実していません。テキストファイルをちょっと修正するぐらいのことに使えばよいでしょう。編集する前にちょっとファイルの中身について説明をします。先頭の十数行にはxorg.confに関する説明が書いてあります。
# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf(5) manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg
ここで"#"から始まる行は「コメント行」と呼ばれ、設定ファイルの読み込み時には無視されます。よって、先頭に"#"をつけて簡単な解説を書き込んだり、不要な設定が書いてある行の先頭に"#"をつけてその設定をコメント化することで削除することなく無効化することができます(これをコメントアウトと呼びます)。

英文はそれほど難しいものではないので、機械翻訳にでも通してざっと意味をつかんでおくと後々役に立つと思います。ここに書いてあるのは「これはdexconfが自動で生成したものだよ」「編集するならxorg.confのマニュアルを読んでおいてね」「xserver-xorgのアップデート時にこのファイルが自動更新されるのは、前回のアップデート以降、手動で編集していないときのみだよ」「編集後に自動更新させるようにしたいなら、sudo dpkg-reconfigure -phigh xserver-xorgを実行してね」ということです。ここでdexconfコマンドは気にしなくていいです(xorg.confの雛型を作るだけ)。dpkg-reconfigureについては後で説明します。

PageDownキーでスクロールしていって
Section "Screen"
という項目を探してください(もちろん検索機能を使ってもかまいません)。この中で、解像度の設定をします。内容は個々の環境に依存しますが、重要なのはこの行です。
                Modes           "1024x768" "800x600" "720x350" "640x480"
見ての通り、画面解像度が列挙されています。これが複数行あるはずです。今回、追加したい解像度は"1280x1024"なので、それを追加します。
                Modes           "1280x1024" "1024x768" "800x600" "720x350" "640x480"
日本語入力がオフになっていることに注意してください。追加は自分が使うDepthの行だけでかまわないのですが、わからない場合は全ての行に追加すればよいでしょう。これだけで編集は完了です。Ctrl+Oでファイルの保存(保存ファイル名を尋ねられるのでそのままEnterキーを押す)、Ctrl+Xでnanoの終了です。

xorg.confの変更内容を反映させるためには、一度X Window Systemを再起動する必要があります(Ubuntuそのものを再起動する必要はありません)。全てのアプリケーションを終了させて、Ctrl+Alt+BackSpaceを押せばX Window Systemが再起動されます。っと、その前に、タイプミスなどでxorg.confの内容がおかしくなっている場合、X Window Systemを起動できなくなる場合があります。今すぐ再起動するのではなく、このエントリの最後にある「起動できなくなった時」を一通り読んで(場合によってはメモって)から再起動することをおすすめします。


 無事、起動できたらメニューバーの[システム] - [設定] - [画面の解像度]の「解像度」の欄に"1280x1024"が追加されていることを確認しましょう。もし追加されていない場合は、以下の理由が考えられます。
  1. そもそもxorg.confの書式が間違っている
  2. ドライバが対応していない
  3. グラフィックカード・チップが対応していない
  4. ディスプレイが対応していない
いずれにせよ、解決方法はケースバイケースなので、自力でなんとかしてくださいとしかいえません。/var/log/Xorg.0.logあたりにその解像度が選べない理由が載っているかもしれません。

xorg.confの修正が終わったら、[アプリケーション] - [アクセサリ] - [端末]として端末内で
sudo sh -c 'md5sum /etc/X11/xorg.conf > /var/lib/x11/xorg.conf.md5sum'
と入力しておいてください。たぶん、これで自動更新の対象になります。xorg.confの最初の方や、ForumやWikiには
sudo dpkg-reconfigure -phigh xserver-xorg
をやるように、みたいなことが書いてありますがこれをやっちゃうとxorg.confの修正して欲しくないところ(キーボード配列とかデバイス名とか)まで修正しちゃうようなので、あまりおすすめできません。


グラフィックドライバ

 xorg.confの修正では解像度の選択肢を増やせなかった場合、グラフィックドライバを別のものに変えるとうまく行く場合があります。大抵の場合、「オープンソースドライバ」がインストールされているでしょうから、「バイナリドライバ」を試してみましょう。メニューバーの[システム] - [システム管理] - [制限付きドライバの管理]を選択すれば、メーカー製のバイナリドライバをインストールできます。

参考:BinaryDriverHowto


起動できなくなった時

 これが一番の問題です。想像される状態としては、
  1. 真っ黒の画面に何も表示されない
  2. ぐちゃぐちゃの画面が表示される
  3. 青い背景に灰色のウィンドウが立ち上がる
  4. 黒い背景に白い文字でlogin:とか表示される
というものがあげられます。

1、2については、とりあえずCtrl+Alt+F1を押してください。少し待てば4と同じ状況になるはずです。何回押しても反応がないときは……事態は深刻です。電源を強制切断してインストールCDで起動して云々という話になってしまいますので、ここでは割愛。適切な場所で質問してもらった方がはやいかもしれません。

3の場合はおそらく「OK」ボタンが表示されていると思います。TabキーやEnterキーを駆使して適当に応えていけば、1、2、4のどれかの状態になると思います。

さて、これで全てが4の状態になるようにしました。まずlogin:と書いてあるように、ユーザ名とパスワードを入力してログインしてください。そして、以前バックアップをとったxorg.confファイルを元に戻し、コンピュータを再起動します。
cd /etc/X11
sudo cp xorg.conf.backup xorg.conf
sudo reboot
これでいつものログイン画面が表示されるはずです。それでもダメならば……やっぱり事態は深刻です。インストールCD云々が必要になるかもしれません。


参考リンク

posted by しぐま at 05:21 | Comment(0) | コンピュータ

2007年07月01日

Ubuntu Feisty(その他便利なツール編)

 Ubuntu Linux 7.04 Feisty Fawnをインストールしよう第十話(目次はこちら)。今回は自分がよく使うツールなどをあれこれ紹介します。


開発環境

 Linuxの場合、ソースからビルドしてインストールすることが多いので、開発環境は必須と言ってもいいです。というわけで、[アプリケーション] - [アクセサリ] - [端末]から
sudo apt-get install build-essential
このbuild-essentialはパッケージを作成するために必要なあれこれを簡単にインストールするためのパッケージです。これによってgcc/g++/make/libc6-devなどがインストールされます。gccだけインストールした場合「stdio.hがない」みたいなエラーメッセージが出ると思います。libc6-devも必要なんです。

これだけで簡単なものならコンパイルできると思います。大抵のソフトウェアはこれら以外に各種ライブラリのヘッダファイルが必要になります。何が必要かはそれぞれのソフトウェアに含まれるREADMEファイルやINSTALLファイルなどに書いてあります(大抵は"libなんとか-dev"みたいなパッケージが必要になります)。

あとはsubversion(バージョン管理システム)/cvs(バージョン管理システム)/automake(Makefile作成ツール)/autoconf(configure作成ツール)/gettext(他言語化支援ツール)/poedit(poファイル編集ツール)/doxygen(ソースファイル文書化ツール)/graphviz(グラフ作成ツール)などがあると便利かもしれません(リンク先は紹介記事)。[アプリケーション] - [アクセサリ] - [端末]から
sudo apt-get install subversion cvs automake autoconf gettext poedit doxygen graphviz
これでインストール完了。


Stellarium

 Stellariumはデスクトップ上でさまざまな星空を表示してくれるプラネタリウムソフトです。Ubuntuでもパッケージが用意されていますが、今回は最新版である0.9.0をソースからビルドする方法を選びます。

基本的に本家Wikiにやり方が載っています。おおまかな流れは必要なパッケージをインストールして、本家サイトから"for Linux"を選択しソースアーカイブ(stellarium-0.9.0.tar.gz)をダウンロードし、適当なディレクトリに展開し(tarコマンド)、[アプリケーション] - [アクセサリ] - [端末]を開いてソースアーカイブを展開した場所に移動して
cmake .
make
sudo make install
を実行すればインストールできます。'make isntall'時に必要なファイルは全て適切な場所にコピーされるので、ソースアーカイブを展開したファイルは削除しちゃっても問題ないのですが、アンインストールコマンド('make uninstall'など)を使う必要が出てくることもあるので、そのまま残しておくことをお薦めします。言い方を変えると、今後邪魔にならない位置に展開すると良いということです。

あとはStellariumで日本語フォントを使えるようにする方法もやっておきましょう。


PP3のインストール(RPMファイルのインストール)

 Ubuntu(Debian系)はapt/dpkgというパッケージ管理システムを使っていて、パッケージの拡張子は.debになります。それに対して特に日本でもっとも利用されていると思われるFedora Coreはyum/rpmというパッケージ管理システムを使っています(パッケージの拡張子はrpm)。そのため、欲しいソフトがあってもrpm形式でしか配布されていない場合があります。

実はrpm形式で配布されているものでも、うまくdeb形式に変換してやればUbuntuで使える場合があります。それをしてくれるのがalienというソフトです。
sudo apt-get install alien
とすればインストールできます。あとは
sudo alien hoge.rpm
とすれば"hoge.rpm"を"hoge.deb"に変換してくれます(変換するだけでもroot権限が必要です)。

具体例として以前紹介したことがある星図作成ソフト、PP3をインストールします。これはソースアーカイブ、Windows用バイナリ、rpmバイナリなどが用意されていますので、今回はpp3-1.3.3-1tb.i586.rpmをダウンロードします。

まずはdeb形式に変換しましょう(変換後そのままインストールするオプションもあります)
sudo alien pp3-1.3.3-1tb.i586.rpm
そうすると"pp3_1.3.3-2_i386.deb"というファイルが作成されます。次にdebファイルをインストールします。それにはdpkgというコマンドを使います。
sudo dpkg -i pp3_1.3.3-2_i386.deb
これでインストール完了です。

PP3で天の川を表示させるためには、さらに設定が必要です。具体的な方法はこの記事を参照してください。と言いたいところなのですが、前述のようにptetex3をインストールした場合、この限りではありません。もともとその記事ではコマンドの意味を理解できずに書いているので、今思うとだいぶ混乱した状態になっているみたい。今後、解決策が判明したらこことその記事で追加・修正しようと思います。

PP3を利用するために非公式な日本語マニュアルも用意してあります。


その他のソフトウェア

 他に使うソフトとしては、ベクトル画像編集ソフトウェアInkscapeviライクなバイナリエディタbviUTF-8に対応したa2psなgnome-u2ps、定番のグラフ作成ソフトウェアgnuplot、3DCG用レイトレーシングソフトウェアPOV-Ray3DCG用モデリング・レンダリングソフトウェアblenderがあるのでそれらをインストールします。
sudo apt-get install inkscape bvi a2ps gnome-u2ps gnuplot \
povray povray-includes blender
これだけで完了です。インストール後の設定や使いかたは、各リンク先の紹介記事を参照してください。



 これでUbuntu Linux 7.04 Feisty Fawnのインストールに関する話は終了です。今後はとりあえずいくつか補完したい部分が出てきたのでそれの追記をします。その後、おまけ編みたいな感じでアプリケーションの一般的なインストール方法や3Dデスクトップ、トラブルシューティングなどを書いていきたいと思っています。
タグ:ubuntu
posted by しぐま at 19:35 | Comment(0) | コンピュータ

Ubuntu Feisty(メッセンジャーとボイスチャット編)

 Ubuntu Linux 7.04 Feisty Fawnをインストールしよう第八話(目次はこちら)。今回は人によっては連絡を取るために欠かせない道具となっている、インスタントメッセンジャーとボイス・ビデオチャットに関するソフトウェアあれこれです。

Linuxでもいくつかのソフトウェアを利用できますがそれぞれに一長一短があるので、要求機能の全てをなるべくカバーできるように、Pidgin(Gaim)、Skype、Ekiga、WengoPhone、Jabbinという5種類のソフトウェアについて解説していきます。ここではインスタントメッセンジャーと言えば主にテキストチャット機能を重点に置いたソフトウェアで、ボイス・ビデオチャット機能を重点を置いたものはインターネット電話と呼ぶことにします(VoIPとはちょっと違うらしい)。

ボイス・ビデオチャットに関しては、ハードウェアが原因で動かないこともあることに注意してください。特にビデオチャットに必須のカメラ(英語だと"webcam"とか言うそうです)はWindows専用のドライバを使わないと動かないこともあるので、購入前にLinuxでの動作実績の調査をおすすめします(カメラについてはこのへんを読むといいかもしれません)。

ノートパソコン(HP Compaq nx6310/Intel HDA AD1981)の場合、サウンド関係(マイクとヘッドフォン)はUbuntuが自動認識してくれました。ただしマイクは自動でミュート設定になっていう上に設定画面が隠されているので注意が必要です。まず、画面右上のスピーカーのアイコンを右クリックして、[音量調節ツールを開く]をクリック。[編集] - [設定]から「音量コントロールの設定」ウィンドウを開きます。標準では"Master"、"PCM"、"Microphone"がチェックされていますので、"Capture"にもチェックをいれ「閉じる」ボタン押します(このへんの名称・状態はサウンドデバイスによって大きく変わります)。そうすると「録音中」というタブがあらわれるので、ここで録音用のマイクの音量を調節します。


Pidgin(Gaim)

 Linuxにおけるインスタントメッセンジャーソフトの定番と言えばGaimがあります。これはMSN Messenger、Google Talk、Yahoo IM、ICQ、IRCなど有名どころのメッセンジャーソフトのIMプロトコルに対応している優れものです。それが先日、AOLとの騒動の結果Pidginに改名しました。AOLにいちゃもんつけられる可能性が低くなったので(解説記事)、先日バージョン2.0.0がリリースされました。Ubuntu 7.04 Feisty FawnではGaim バージョン2.0.0のβ6がインストールされ、Pidginへの名称変更はGutsy以降になるそうです。

1.5.0のリリースから足掛け2年、ChangeLogはすごいことになっています。今風のウィンドウに加えて、昨今のメッセンジャーソフトが備えている基本機能の多くを実装できているようです。自分の周囲にはMSN Messenger(Windows Live Messenger)な人が多いのでアイコンのサポートはうれしいところ。


 なんか前置きが長くなりましたが、テキストチャットのみのインスタントメッセンジャーを探している場合はPidgin(Gaim)を選べば問題ありません。Ubuntuの場合、最初からインストールされているので[アプリケーション] - [インターネット] - [Gaim インターネット・メッセンジャー]で起動できます(ほとんどの部分は日本語化されています)。初回起動時はアカウントの設定を求められますが、「スクリーン名」にはログインID(大抵の場合メールアドレスかな)を入力します。プロトコルには通信したいメッセンジャーソフトが使っているプロトコルを指定してください。MSN Messengerだったら"MSN"、Google Talkなら"Jabber"になります。

Pidginを一つ起動するだけで、複数のメッセンジャー機能をもたせることも可能です。つまりMSN MessengerとIRCとGoogle Talkに同時にログインして、一つのウィンドウの複数のタブでそれぞれの相手とすることもできます。

基本的にテキストチャットしかできません。各メッセンジャーソフトの拡張機能(例えばMSN Messengerだとゲーム機能や手書きメッセージなど)は標準状態では使えません。ただ、Pidginにはプラグインが大量に存在するので、適切なプラグインを導入すればできる場合もあります。あとMSN Messengerの「表示メッセージ」機能(再生中の曲を表示したりするあの欄)はプロトコルの問題でサポートされていません

また、ビデオチャットやボイスチャットには対応していません。Google Talkに対応しているとは言ってもこれはテキストチャットの部分(Jabber/XMPP)だけ、ボイスチャットの部分(Jingle)には今のところ対応していません。とりあえず、Pidginの以前のFAQには「3.0.0まで待ってくれ」みたいなことが書いてありました(FAQのレイアウトが変わってからなくなっちゃった?)。3.0.0のリリース予定日は2008年の1月1日らしいので、当分はおあずけのようです。


Skype

 ボイスチャット、ビデオチャットをするにおいて、最初に候補にあがってくるのがSkypeです。たぶん、世界的にもっとも有名でユーザ数の多いボイスチャットソフトウェアでしょう。ヘッドセットやハンドフォンなどの周辺機器が充実しているのも魅力(大抵は他のソフトに流用できそうだけど)。

SkypeはWindows版の開発がメインですが、Linux版やMac版も出してくれているので、テキストチャットとボイスチャットだけならLinux版でも利用可能です。ただし、Linux版ではビデオチャット機能は実装されていません。Skype on Linuxユーザの宿願ではあるみたいですけど。あと、SkypeってWindowsで使うとちょっと重くないですか。Google Talkの方が軽快で音も聞きやすい感じがします。

あとSkypeはソースコードが公開されていません。インストールは、[システム] - [システム管理] - [日本語版セットアップ・ヘルパ]を使うとよいでしょう。動画設定編の時のようにMedibuntuを導入している場合は、MedibuntuのSkypeに置き換わるかもしれませんが、どちらを使っても違いはないようです。

初期状態では英語で表示されるかもしれません。メニューの[Tools] - [Change Language]から日本語を選択すれば、ほとんど日本語化されるはずです。サウンドデバイスも自動で認識、音も質も問題ありませんでした。

Ekiga

 Linux上でのビデオチャットに拘るのなら、Ekiga(旧称gnomemeeting)があります(OpenTechPressの紹介記事)。音声・画像の品質はともかく、簡単に接続できるのはよさそう。ただし、SIPアドレスなるものを取得する必要があるらしいです。

EkigaのWikiには、各ソフトととの接続状況が載っています。曰く、MSN MessengerでもWindows Live MessengerでもないWindows MessengerとならEkiga用に取得したSIPアドレスを用いて、ボイス・ビデオチャットができるとのこと。つまり、EkigaがWindows Messenger用の互換クライアントとして機能するわけではなく、Windows MessengerをEkigaと接続できる互換クライアントに設定可能だということです。Skype/MSN Messengerプロトコルへの対応は、「コミュニケーションソフトに公開されていないプロトコルを使うのは良いこととは思えない」ということで対応は絶望的、Google Talkとの接続は、(Windows Messengerのように?)Google Talk側がSIPに対応してくれるのを待っているみたいです。要するにEkigaでビデオ・ボイスチャットするには相手側もEkigaを使用することを期待するのが一番、と。


 Ubuntuには最初からインストールされていて、[アプリケーション] - [インターネット] - [Ekiga ソフトフォン]から起動することができます。SIPアドレスをもってない場合は、起動する前にこちらのサイトで取得しておきましょう。まず右下の"Subscribe!"というリンクをクリックして必要事項を入力します。必須項目は"first name(名前)"、"last name(名字)"、"email(メールアドレス)"、"your timezone(タイムゾーン)"、"pick your user name(ユーザ名)"、"pick password(パスワード)"、"confirmation password(上と同じパスワード)"の7つ。タイムゾーンは"Asia/Tokyo"を選んでおくといいでしょう。ユーザ名はアルファベットと数字が使えるようです。最後に"I accept"にチェックを入れて"Register"ボタンを押しましょう。

必須項目がしっかりと入力されていれば、上で入力したメールアドレスに"Welcome to Ekiga.net!"というタイトルのメールがすぐに届くはずです。そのメールの中の
To finalize your registration, please check the following URL within 24 hours:
の後ろにあるURLにアクセスすると正式に登録されます。SIPアドレスは登録したユーザ名を使って
sip:ユーザ名@ekiga.net
なります。

ではEkigaを起動しましょう。初回起動時には設定ウィザードが起動し、ビデオやサウンドの設定をします。"個人の情報"の氏名は、半角スペースで区切られた名字と名前の入力が必要になります(なんでこんなややこしい仕様になってるんでしょう)。半角スペースを含めないと、「進む」ボタンが有効にならないので注意してください。"ekiga.netアカウント"では、先ほど登録したユーザ名とパスワードを入力します。ekiga.netアカウント以外の場合は、SIPアドレスの入力を求められるかもしれません。"NATの種類"ではいろいろ探索してくれたりします。"STUNのサポートを有効にしますか?"と聞かれたらとりあえず「はい」と答えておけばいいでしょう。"音声マネージャ"もわからなければそのままで。"音声デバイス"ではマイクやスピーカーのテストができます。"映像マネージャ"では、カメラを管理するプラグインを指定します。"映像デバイス"ではカメラのテストができます。これらは、起動後も変更することが可能です。これで設定は完了。

相手に連絡するときは、テキストエリア("sip:"と入力されているところ)に相手のSIPアドレスを入力して右のプラグのボタンを押します。他の設定や操作方法も、ほとんど日本語化されているので簡単に使うことができます。


 自分の場合、テストコール(sip:500@ekiga.netにかけると、女の人の会話のあとにしゃべるとそのまま自分の声が聞こえてきます)&実通信共に音が悪い状態でした、ぶつぶつ途切れる感じ。何を喋っているかはわかるんですけど……。サウンドデバイスが悪いのかネットワーク環境が悪いのかは特定できず。こういうのって相手の事情もあるからなかなか解決が難しいんですよね。

プロトコル・ソース共に公開されている上にUbuntuに標準でインストールされていて、十分に日本語化もされているので、Ubuntuユーザ同士や、相手がWindowsユーザでもEkigaのインストールをしてくれるなら、Ekigaを利用するのが最良の選択だと思います。


WengoPhone

 WengoPhoneはOpenWengoプロジェクトが提供するSIPアドレスを用いたオープンソースのインターネット電話です(OpenTechPressの紹介記事Ubuntu日本語フォーラムでの紹介記事)。つまりEkigaと同様、利用するためにはまずSIPアドレスを取得する必要があります。

機能的にはボイス・ビデオチャット機能のついたPidginと言った感じ。Pidginが開発しているlibpurpleを使っているので、インスタントメッセンジャー対応プロトコルは、まんまPidginと一緒です。ただ、先のOpenTechPressの記事によると、インスタントメッセンジャー機能に関しては今ひとつ芳しくないとのこと。

Ubuntu 7.04 Feisty Fawnの場合、
sudo apt-get install wengophone
からバージョン2.0.0RC5のパッケージをインストールでき、最新版(2.1.1)のバイナリも簡単にインストールできる方法が日本語版Wikiに載っています。ここではEkigaのSIPアドレスを使いたいので2.1.1をインストールします。ただ、GNOMEメニューへの追加を簡単にするために2.0.0RC5のパッケージもインストールしておきます。ちなみにtar.bz2ファイルの展開はtar jxvfです。

2.0.0RC5のインストールと2.1.1のインストールの1から4まで終わったらGNOMEメニューを編集します。[アプリケーション] - [アクセサリ] - [端末]から
sudo nano -w /usr/share/applications/wengophone.desktop
を実行し、Exec=qtwengophoneの部分をExec=wengophoneになおします。保存・終了はCtrl+O、Ctrl+X。これで[アプリケーション] - [インターネット] - [WengoPhone]から起動できます。

利用するにはSIPアドレスが必要ですので、ここではEkigaのときに取得したアドレスを流用します(WengoPhoneの設定ウィザードでも取得できます)。設定ウィザードの最初は、"Other(for power user only)"を選びます。"Account name"と"Display name"は適当に、"login/user name"はSIPアドレスのログイン名を、"SIP Domain / Realm"は"ekiga.net"を入力します。これで自動で接続されます。

デバイスのテストは[ツール] - [Configuration...]から「オーディオ」を選び「テストコール」ボタンを押します。……無反応。別のSIPアドレスにかける方法もわからなかったので、とりあえずこれはここで放置。ちなみに日本語化の状況は五割ってところです。2.1リリースで大幅に変わったからでしょうか。


Jabbin

 JabbinはGoogle Talkでも使われているJabber/Jingleプロトコルに対応したオープンソースのインスタントメッセンジャー・ボイスチャットソフトウェアです。また、日本語でのテキストチャットも可能です。現在のところビデオチャット機能には対応していません。

Ubuntu公式レポジトリにはパッケージが用意されてませんが、Jabbin公式サイトにUbuntu用のパッケージが用意されているのでそれを使えば簡単にインストールできます。まず、ここから"jabbin_2.0beta2-1baltix1_i386.deb"をダウンロードします。[場所] - [ホーム・フォルダ]でファイル・ブラウザを開き、ダウンロードしたファイルがある場所まで移動します。くだんのdebファイルをダブルクリックすると、"Package Installer"が起動しますので、"Install Package"ボタンを押します。インストールが完了したら"Package Installer"を終了し、[アプリケーション] - [アクセサリ] - [端末]から
sudo apt-get install -f
と入力しておいてください。

起動は、メニューから[アプリケーション] - [インターネット] - [Jabbin]を選択します。設定ウィザードが起動しますので、"Name"には"Google Talk"を、次のウィンドウのAccountタブでは"Jabber ID"にGMailのアドレス("@gmail.com"も含む)を、Connectionタブでは全てのチェックボックスにチェックをいれ、"Host"にはtalk.google.comを"Port"には5223を入力、Miscタブでは"Resource"にjabbinを入力し、Saveボタンを押します。これで設定は完了です。また設定ウィンドウで文字を入力する際にはインプットメソッドを切るようにしておいてください。

ウィンドウは全く日本語化されていません。で、日本語化用のファイル(psi_ja.qm)を公開してくださっている人がいるのでここからpsi_ja.qmをダウンロードして使います。psi_ja.qm
/usr/share/jabbin/
に移動してください。これで次回起動時からJabbinの大部分が日本語化されます。JabbinはインスタントメッセンジャーであるPsiというソフトウェアを流用して作ってあります。よって、Psiの日本語化用ファイルがそのまま使えるのです。

実際、電話をかけてみたところWindows上のGoogle Talkユーザの音は聞こえるのですが、こちらからの音声がかなりぶつ切りになるようです。単語ごとに最初の一文字だけが聞こえる感じ。サウンドデバイスが悪いのかと設定しようとしたのですが……どこで設定するんでしょうか、これ。上記のソフトウェアは大抵、設定画面で「サウンド」とか「オーディオデバイス」とかいう項目があったのに、Jabbinに関してはそれらしきものがありません。端末から起動すると
X Error: BadDevice, invalid or uninitialized input device 169
Major opcode: 145
Minor opcode: 3
Resource id: 0x0
Failed to open device
と表示されるのが何か問題あるのでしょうか。これが何を意味するのかが今ひとつわからない状態です。



まとめ

 以上のことをまとめると、Linuxなユーザが、多くのWindowsなユーザとインスタントメッセンジャーソフトを用いてコミュニケーションを取るためには
  • テキストチャットのみ
    Linuxな人はPindginを使う。プロトコル(MSN Messenger or Google Talk or etc...)はWindowsな人のメインアカウントにあわせる。
  • ボイスチャット+テキストチャット
    • Linuxな人はJabbinをWindowsな人はGoogle Talkを使う。
    • Linuxな人もWIndowsの人もSkypeを使う。
    • Linuxな人もWindowsな人もEkiga/WengoPhoneのどちらかを使う
  • ビデオチャット+ボイスチャット+テキストチャット
    Linuxな人もWindowsの人もEkiga/WengoPhoneのどちらかを使う。
が現在の答えのようです。EkigaとWengoPhoneのどちらを使うかについては、実際に自分の使っているデバイス(特にマイクやカメラ)を問題なく使えるのはどちらかという情報を元に判断すればいいと思います。原理的にEkigaとWengoPhoneの相互通信は可能なはずです。

Windowsな人にSkypeをインストールしてもらうのは(流行っているから)まぁいいとして、EkigaやWengoPhoneなんてオープンソースでフリーソフトウェアな得体の知れないもの(何)をわざわざインストールしてもらうのはちょっと気がひけますね。あとEkigaやWengoPhoneは自分が一番使っているGoogle Talkのボイスチャット機能に対応していないのが残念です。Windowsな人はビデオチャットならMSN Messengerが多そうなのでLinux側との相互通信ができれば便利なのですけど、いかんせんあのプロトコルは非公開だからLinux側のソフトウェアが対応するのは大変でしょうし。

とりあえず自分はカメラを持ってないのとビデオチャットの必要性はあまり高くないので、インスタントメッセンジャーだけならPidginで十分です。ボイスチャットは現状で動くのはSkypeのみ、でもできればオープンなものを使いたいのでEkiga/WengoPhone/Jabbinのどれかが動けばいいんですけれども。音関係はどこから手をつければいいのか……。
タグ:ubuntu
posted by しぐま at 19:28 | Comment(0) | コンピュータ