2013年12月24日火曜日

Eject でドミノ倒しを作る (Eject Advent Calendar 24日目)

こんにちは、Eject アドベントカレンダー 24日目ということで、menonon さんに続き、島田がお送りします。
先日は堅めな話で固めてみました。参考にならないと思いますが、Before Eject の深い話ということで、これでも気合の入った話を入れてみました。

では、今日は何をしましょうか。

とりあえずクリスマス・イヴですし、After Eject なネタを作ろうかと思いましたが、先日の言及の如く、僕はものづくりに少々慣れないところがあったりします。

実用的な Eject 後の用途といっても、家のレイアウト上電源スイッチは押し辛いですし、エアコンは冬でもあまり付けることはありません。ペットも居ませんし(その代わり、ぬいぐるみだらけな状況ですが)。


では何をすればよいでしょうか。

こういうときは逆に考えてみましょう。実用的な方法がなければ、とことん遊べばいいんじゃないか、と。


この頃のおもちゃ屋事情


そんな訳で、ふと乗り込んだのはトイザらス。

(大人になんかなりたないねん、でお馴染み。)


おもちゃ屋かよオイと言われそうなのですが、最近は15000円もあればAndroidタブレット(子供向け、又はKindle Fire)が入手できたりします。また、スマートフォンもどきの子供むけ端末も盛んに売られています。

(見よ、タブレットとスマートフォンっぽいのが6機種も見えるではないか。)
最近の流行りですと、艦これとかパズドラのパズル(?)とかもありましたね。お好きな方、自分用にいかがでしょうか。トイザらスですと、標準ではラッピング無しなので自分買いにもお勧めです。

そんな中で、親子連れに混じって購入してきたのはジェンガっぽい何かでした。だいたい1500円。

(製品名はウッディ・アンバランスとなってますね。)


さて、こいつはどういうゲームかといいますと、プレイヤーが振ったサイコロと同じ色(赤青緑)のブロックを抜き取り、上に積んでいきます。それだけですが。その名の通り結構アンバランスになるわけです。はい。

(本来はこうやって遊ぶそうです。欠けがあることに注目。)


ジェンガに Eject する



では、ここからが本題ですが、小手調べに、こいつに向けて Eject してみましょう。

(普通にズコーっていきますね。)

勢いよく崩れました。当たり前っちゃ当たり前なのですが...。


よく見ると、ジェンガは同じサイズの木の板でできています。ということで、次は、これを立てて並べてみましょう。

(こんな感じ。)


次に、これを Eject で突いてみましょう。


(失敗作。)

・・・しかし、ドミノって結構難しいですね。最初は机の材質の関係で、倒れることなくすべってしまいました。その後も何回か挑戦したのですが、途中で止まってしまったり、誤って倒してしまったり。いやはや、このゲーム奥が深いですね。(本来こんな用途のアンバランスじゃないのは、とりあえず置いといて・・。)

何度かやりましたが、結局完走せず。すみません、以下のムービーで許してくださいまし・・・orz。

(途中手押しでごめんなさい...)


ということで、ピタゴラのトリガーになり得ると先日書いた After Eject の用途としては、ドミノ倒しはありなんじゃないかなと思う訳です。しかし難しかった。もうアホなくらいに

...オチなくて申し訳ありませんorz。皆様よいお年を。

明日はあっきぃさんによるティロ・フィナーレです。

Linux Mint で Minecraft を動かして穴を掘る (Linux Mint Advent Calendar 24日目)

どうも、島田です。今回は Linux Mint の Advent Calendar ということで、昨日に続いて4回目の登場です。

昔話:OSS活動は休み休み


Mint に関わっていらっしゃる方は若い人が多いなぁと感じるので、話すチャンスがなかなかないと思います、(申し訳ないですが)ここでちょっとだけ僕の昔話をさせてください。

(当時の開発環境は3桁Hzの Celeron マシンと PC-9821 でした。 2001年9月11日撮影。 )


僕自身、10年前は確か FreeBSD や Kondara MNU/Linux を触り出したあたりからどっぷり嵌っていたと思います。そのうち、OSSの翻訳に手を出したり、プロジェクトを立ち上げて数人で活動していた時代がありました。
しかし、学業や他の趣味も気になるし、それだけでは仕事にもならない。OSS のプロジェクト管理もうまくいかず、方向性すら定まらない状態が続いていました。

最後はゴタゴタがあり、1年ほどでプロジェクトを解散し(当時はご迷惑おかけしました...)、翻訳もほぼ足を洗って、もうOSSなんてやるものか!という状態でした。今から思うと思い出したくない時期ともいえます。



・・・ただ、人生というのは不思議なもので、それまで学んできた Linux/BSD やプログラミングの知識は無駄になることはありませんでした。むしろ、ふと参加してみた小江戸らぐで発表し大いにウケて、さらに研究に活用されることになりました。そして、これらの成果が現在の opencocon になり、それをOSCで発表したのが縁でOSS 業界のトップランナー(?)として戻り、今に至ります。

思うに、少し若さがかすれてこないと、実の出るOSS活動はできないのかなぁという気がしています。なので、若いうちは浮気してもいいじゃないか、と思うわけです。

一言で言うと、「休み休みOSS活動しましょう」ということでしょうか。ご参考までに。



(2002年12月23日のスタンプがあるスクリーンショット。Windows 向けの OSS (左上)を書いていた時期でした。他に Jane や OpenWatcom といったOSSが見えます。)




では、今日のネタですが、Mint で Minecraft してみたいと思います。

Minecraft ってなんやねん


Minecraft とは、サンドボックスゲームです。角ばった世界の中で、あんな物やこんな物が自由にできます。クリエティブモードでは割とそれだけなのですが、サバイバルモードでは、それに加え邪魔者が色々と登場します。夜になるとモンスターが暗い場所に沸き、プレイヤーを攻撃したり、建物を壊しに来ます。
さまざまなブロックで造形できるほか、レッドストーン回路によるプログラミング(!)も可能です。Mod も多く、それらでより便利でカオスな遊び方もできます。

(こんな感じのゲームです。)


シェアウェアであり、かつオープンソースでもないのですが、それにも関わらずOSS業界でもプレイヤーが多かったり、Mod を作っている人がいたりします。身近なところで mikutter の人がサーバを立てていたりしますし。Java ベースなので、Windows でも Mac でも動きます。ということは、Linux でも動くはず...ですよね。

Mint で動かす


Minecraft を動かすには、グラフィックのそこそこ強いマシンと Java ランタイムが必要です。 Linux Mint では...どうも JRE がバンドルされている感じですね。なのでそちらの説明はパスして、Minecraft をダウンロードしましょう。Linux/Other 版から、 Minecraft Launcher (Minecraft.jar) をダウンロードします。

検索すると色々オプションを指定できますが、とりあえず Minecraft はこれだけで動きます。
Minecraft.jar のあるディレクトリで端末を開き、以下のように入力しましょう。

$ java -jar ./Minecraft.jar


(最初に起動すると、こんな画面です。)

アカウントを持っていない場合、まず Mojang のアカウントを作り、そのユーザ名とパスワードを指定しましょう。購入前に、確かちょっとだけ試用できたと思います。既に支払い済みであれば、そのアカウント名を入れましょう。

ログインすると、Launcher が起動します。「Play」を押すと、最初の一回は Minecraft の本体がダウンロードされます。そして、Minecraft が起動します。

(2回目以降のログイン画面です。)


いったん「Options」→「Language」を選択し、「日本語」を選びましょう。



あとは、他プラットフォームの Minecraft と同じですので、普通に生活しましょう。はじめての方はチューリトアルが参考になります。



えーと、これだけでオチはないのかオチは、とか言われそうですね。ありません。もうええやろ・・。

というわけで、私の方からはこのぐらいでお開きと致しましょう(というかすみませんorz)。ありがとうございました。明日(最終日ですね)は、ほたさんです。

2013年12月23日月曜日

Linux Mint で xrdp を試してみた (Linux Mint Advent Calendar 23日目)

どうも、島田です。今回は Linux Mint の Advent Calendar ということで、ほたさんに続いて3回目の登場です。皆様hackしていらっしゃいますでしょうか。

Advent Calender ってのもやっているとなかなか大変なもので、毎日続けるのは大変なことです。それだけならまだいいのですが、サボってる Advent 晒しが登場したりとか(仕事でもないのに毎日続かなくてもいいのでは?と思います...)、それの存在はおかしいと話してるところにあざ笑う奴が登場したりとか・・・。久々にこの業界のどす黒い部分を見た気がします。

おそらく、やり方に無理がある現状、来年はこの流行は続かないような気がします。

というのは置いといて、今日のネタは xrdp を試してみました、という1点です。なんとお手軽な。

xrdp って何や

RDPといえば、Windows-Windowsを接続するリモートデスクトップのプロトコルです。なので、一見プロプライエタリに見えるのですが、実はプロトコルに関する文章は公開されており、サードパーティのクライアント/サーバもあったりします。

その中で、 xrdp は Linux/BSD 上で RDP サーバをするソフトウェアということで、よく知られています。今回はさくっとこれを Mint 上で試してみましょう。


Mint で試してみよう

まず、サーバとなる Mint マシンにインストールしましょう。これ一発でできます。

$ sudo apt-get install xrdp vnc4server

これだけでRDPサーバとなり、接続することが可能になります。

ここで、何でVNCサーバも入れるんだ?というツッコミが来ると思いますが、どうも現行の xrdp は一部の処理を VNC サーバに任せてる部分がある感じです。(それが Desktop Session なのか VNC サーバ自体なのかは不明ですが...)

とりあえず、適当な RDP クライアントから xrdp へ接続してみましょう。Windows の「リモートデスクトップ接続」や、FreeRDP 等が使えると思います。

RDPクライアント側でサーバへ接続できたら、ユーザ名とパスワードを入力します。

(ログイン画面。0.6.0 の時点では NLA (ネットワークレベル認証)ではないようです。)

ログインすると、Cinnamon は正常に動きません。Fallback になってしまうようですね。
Cinnamon のベースとなっている GNOME っぽい外見の画面が表示されます。


(Cinnammon...というよりは GNOME ですね。これ。)


MATE は普通に起動しました。たぶん Mint で使う上ではこちらの方がよいかと思います。


(MATE での動作画面。VNCっぽい遅さが少しあるぐらいでしょうか。)

あとは動いてしまえば、Firewall 開けるなどして外部からアクセスしてもよし、内部のみで他の端末や opencocon なんかでアクセスしてもよし、といったところでしょうか。

課題

今のところ、 xrdp だけでは State-saving なセッションにならなかったり、日本語のキーコードの扱いがうまくいかなかったり等不具合も見られるのですが、有志によってあれこれ解析されている程度で、まだ簡単に薦められるような回答はないようです。しかしながら、日本のユーザ会らしき謎のページもできましたし、これから各 Linux/BSD 勢力の意見を集約して、より使いやすい実装になっていくものと思われます。

最近1年ぶりに xrdp 0.6.1 が出てるのでそちらもパッケージになったら試してみたいですね。

参考:日本xrdpユーザ会
http://xrdp.vmeta.jp/
http://www.slideshare.net/iwaokoichiro/xrdp-jp-osc2013fukuoka

ということで、明日は Mint で遊んでみよう、ということで、引き続き島田がお送りします。

2013年12月22日日曜日

opencocon livecdがEjectするまでの長い長い道のり (Eject Advent Calendar 22日目)

(☝ ՞ਊ ՞)☝ウイーン

というわけで、こんにちは、Eject アドベントカレンダー 22日目ということで、昨日の machshev さんに続き、島田がお送りします。


OSC界隈でも活発ですし、謎の世界進出も進みつつあるEjectソリューションなのですが、僕から見て以下の2派があるなぁという感じです。以下にちょっと説明します。

(Before Eject と After Eject)

Before Eject

OS、ソフトウェア、ミドルウェアで、CD-ROMドライブのトレイを開けるまでのフローを作る分野であると言えます。多くの場合は最終的にLinuxのejectコマンドを実行すると思いますが、それまでにラッパーを通してアプリにしたり、プロトコルにしたりといった作例がこれまであります。

一方、これらを自由に扱えるのはプログラマやLinux/BSDユーザ中心で、普通のユーザにはもしかして近寄りがたい部分が未だあるのかもしれません。

After Eject

では、After Eject と言えば、CDのトレイが開いた運動を、何かしらのエネルギーに変換する分野と言えるでしょう。ピタゴラ装置のトリガーが動いたあとの挙動、と言えば分かるでしょうか。

なので、恐らくオープンソースというよりは、Make等、ものづくりの分野に携わる方々が得意とするところじゃないかなと思います。僕の知る人とかは、アイデアはあるんだけど...という話を聞くのですが、この原因がまさに「アイデアはあるけど、手を動かす術が分からない」状態であるわけです。



このように、一言で Eject ソリューションといっても、少なくとも2つの分野があり、扱う方によって、得意不得意はどうしてもあるのかなという印象があります。

もちろん、各論も大切であり、それぞれ片方だけで論じても面白いし必要なのですが、両輪が相互にまわってこそ、楽しいEjectソリューションになると考えています。
今後は、ものづくりの分野でもEjectに興味を持っていく人を増やすべく、僕も模索していければいいかなぁと思ってる次第です。(Make は大規模すぎるので、手頃なところでニコ技等のコミュニティでしょうか...?)


ということで、しょっぱな硬い話で失礼しました。僕の方からは、2日に渡って適当なネタをお送りできればと思います。今日は Before Eject な話、23日は After Eject な話となります。

Before Ejectネタ : Linux Live CDのEject事情

さて、僕は opencocon という名前の Live CD ディストリビューションを作っています。CD をほとんど必須とするので、Eject とは縁があるような気がします。しかし、Eject するまでは結構長い道のりが必要となってしまいました。これまでの記録から、Eject できるようになるまでの試行錯誤をお送りします。

事情その1 : initramfs vs initrd

まず僕が取り組んだのは、Live CD を作るにあたってある意味当たり前の機能、すなわち、「Live CD の終了後に CD ドライブを Eject する」ことでした。しかし、最初に作った Live CD (opencocon v1)ではそれができませんでした。

この点、実はここで語るよりも、Plamo Linux で有名な、こじまさんが書いている記事が分かりやすいですし、opencocon でもまったく同じ結果になりました。


"とりあえず動くものができたので,P-Plamo 0.1としてメーリングリストで紹介したところ,「終了時にDVDをejectして欲しい」というリクエストがありました。〜当初は,終了処理の最後にでもejectコマンドを実行すればいいだろう,と簡単に考えていましたが,調べ始めたところ,かなり深刻な問題に気づきました。" --- ソースコード・リテラシーのススメ   第23回 ソースコード・リテラシー【実践編 2】


一言で何が嵌ったかというと、「initramfs でなく、initrd を使わないと Eject できない」ということでしょうか。

詳しい説明はばっさり割愛しますが、恐らく組み込みLinuxをご存知の方であれば、何を今更 initrd 使うねんと言いそうですし、Kernel のドキュメントを見ても、initrd はやり方が古いとか書かれてしまっています。

しかし、initrd は Live CD に必要な機能を入れるために必要だったのです。そう、すべては Eject のためだけなのです。

というわけで、その後 initrd に切り替え、コードの多くを書き換えた末、 opencocon v4 からは無事、終了後に Eject できるようになりました。その詳細は非常にどろどろとしている上、1年以上前の話なのでカットしますが、失敗CDの山を積んでしまったことだけは確かです...。


(opencocon 終了後のEject画面。ちなみに、お決まりのパターンは「kon-kon!」です)

事情その2 : たびたび壊れる対応

しかし、一旦は綺麗にできた感じがする opencocon の Eject 機能もたびたび壊れました。主に Kernel や基本的なコンポーネント (uClibc や busybox)のバージョンを上げた際に決まって何かがエンバグするのですが、Eject も度々できなくなってしまいました。

直近ですと opencocon v8 なのですが、気がついたら Eject できなくなっていたままリリースしてしまい(申し訳ありません...)、デバッグモードで何回 eject コマンドを手で叩いてもうまく動きませんでした。
opencocon は通常、容量節約のため busybox コマンドに同梱された eject を使用します。多分それの相性が悪くなったんだろう、ということで急遽本物の eject コマンドをバンドルするようにしました。パッケージ管理システム(opkg)の関係で、本物の eject は 「eject.eject」という、何とももにょもにょする感じのコマンド名になってしまいましたが、これを実行することでなんとか乗りきりました。それが現時点で最新リリースの opencocon v8a です。


(毎度おなじみ opencocon のメニュー画面)

事情その3 : Copy to RAM で Ejectしたい


Live CD はなぜ簡単に Eject できないのでしょうか? 答えは簡単で、CDにシステムの全てが収録されているからです。

もう少し詳しく言いますと、Live CD 内に squashfs と呼ばれるファイルシステムでシステム全体を固められたファイル(squashfs ファイル)を、CD 上から読み込んでいるためです。そのため、強制的に Eject すると、システム全体が止まってしまいます。CDドライブが2個以上ある時はその限りではないのですが、1個だけでは、想像の通り Eject することはできません。

しかし、抜け道はあります。squashfs ファイルをどこか別の場所にコピーし、CDから読み込むべきファイルを無くせばよいのです。
いくつかのディストリビューションにはそんな機能が実装されており、例えば、SlaxPorteus には Copy to RAM という機能があります。


 

(Slax の起動画面。Copy to RAM の起動項目がある。ついでに F1 で詳細な説明がある)

これを選択すると、squashfs ファイルをRAMディスクにまるごとコピーし、デスクトップ環境の起動後は CD を Eject してもよい状態となります。Slax や Porteus はファイルシステム全体のサイズが数百MB程度ですので、現在のコンピュータであれば、メモリをそれほど圧迫することはないでしょう。なので、あえて Eject するためのLive CDディストリビューションには、このような要件にすることは必須に近いと言えます。

では、opencocon でも実装しよう!ということで...と、その先は今年のKOF(関西オープンフォーラム)で発表したネタから抜粋するこんな感じです(PDFですが、事の経過はこちらをご覧ください。Webビューワなのはこちらからどうぞ)。

(KOFで発表したスライドから抜粋。しかし中はほぼEject話だったり)

一言で何がいけなかったかというと、「Linux の cp コマンドは非同期なので、sync してファイル処理を終わらせないと Eject できない」ということでした。なんと間抜けな...orz。

いやはや。Before Eject もここまで奥深いものがあるのか、となんとなく思ったこの頃です。

あれこれありましたが、その甲斐あって、 opencocon v8a では Copy-to-RAM として実装しました。メモリが256MB以上あれば、是非こちらで動かしてみてください。起動途中に Eject するので驚くと思いますw。

(opencocon v8a の起動画面。ここで Copy-to-RAM を選択しましょう。)

今後は

本当は opencocon で意図的にリモート Eject する仕組みを作ろうかなと思い、下準備をしているところです。内部的には Python をバンドルし始めたり等しているのですが、グルーとなる部分の構想があまり固まっていないのもまた事実ですし、本来クライアント専用OSと謳っている opencocon にサーバ的機能を加えてもよいのか?といった葛藤などがあったりします。この点はまた追っていくとしましょう。

長文失礼しました。明日は menonon さんです(☝ ՞ਊ ՞)☝ウイーン

2013年12月16日月曜日

Linux Mint の日本語入力を取り急ぎ (Linux Mint Advent Calendar 16日目)

 どうも、島田です。今回は Linux Mint の Advent Calendar ということで、ほた(@lindwurm_)さんの合間を縫って2回目の登場です。当初は仕事で使う上での Tips を用意しようかなと思ったのですが、仕事では Windows と Linux をはしごして文章打ったり Shell 叩いたりするだけですので、実はあまりそれっぽい Tips が貯まるほど Mint を深く使い込んでいなかったりします。(要するにクロスプラットフォームな使い方とも言えます。)

 ですので、その代わりに・・・ということで、Mint 16 以降で日本語入力ができへんという点について、取り急ぎ Tips を書こうと思います。

 Linux Mint に限った話ではないのですが、 Mint 16 以降で降りてくる ibus 1.5 以降は、だいぶノウハウが変わりました。なので、アップグレード怖いし日本語入力の設定面倒いねん、という方も多いかと思います。ということで、以下に設定の手順をメモ程度に書きますのでご参考にどうぞ。

Anthy の場合


 僕は大昔から Anthy 使いです。今では Mozc の方がええよと言う方も多くいらっしゃるとは思うのですが、2000年代中盤に登場した Anthy (+uim) は割と革命的であったことを覚えています。それ以前は Canna と FreeWnn、あと SKK (+kinput2) の時代でしたが、最近 Linux をさわり始めた人にはあまり勧められないなぁという気がしています[1]。そんな訳で、昔は Anthy (+uim)だったのですが、今は Anthy (+ibus) が主流のようです。


[1] もちろんその辺は語弊があるかと思いますが...。

 余談は置いといて、Mint 16 では標準では ibus も anthy も入っていません。ということで、以下のコマンドでさらっとインストールしましょう。

$ sudo apt-get install ibus-anthy --install-recommends

インストール後再起動し、まずは右下のキーボードのようなアイコンを選択し、「日本語 - Anthy」を選択しましょう。その次に、Anthy アイコンになった部分(「A ち」の文字がありますね)をもう一度選択し、「設定 - Anthy」を選択しましょう。


まずは「入力モード」を「英数」に選択します。こうすることによって、アプリケーションの起動時は従来とおりの英数直接入力となります(たぶん...)。


次に、「Key Binding」 を選択し、「on_off」を選択して編集を押します。すると、日本語入力のON/OFFに使うキーを設定することができます。僕は Shift-SPACE 派なので、それを加えました。

なお、うまく設定できない場合、他のコマンドで既に使われているショートカットであると思います。その場合、「Key binding」のリストにある他のショートカットを探して、重複しているコマンドのショートカット割り当てを削除しましょう。

※ 全角/半角キーであれば設定変更せずに使えるので、そちらに慣れていれば、ここをいじる必要はありません。


少々手間がかかりましたが、これで従来通りの日本語入力ができるようになりました。


Mozc の場合


同じように Mozc の場合は、以下のコマンドでさくっとインストールしましょう。


$ sudo apt-get install ibus-mozc --install-recommends

次に、まずは右下のキーボードのようなアイコンを選択し、「日本語 - Mozc」を選択しましょう。


 次に、Mozc アイコンになった部分を選択し、「(スパナのアイコン)」→「プロパティ」を選択します。


ここで各種設定ができますが、まず僕が手をつけるのは日本語変換のON/OFFキーになります。これは「キー設定の選択」の右あたりにある「編集」ボタンから行えます。あとは、「IMEを有効化」「IMEを無効化」の部分の設定をちまちまと好みのキー(僕の場合は「Shift-SPACE」)に設定すればよい・・・のですが、ちょっと手間がかかりますね。

※ 全角/半角キーであれば設定変更せずに使えるので、そちらに慣れていれば、ここをいじる必要はありません。



まとめ 

巷で騒がれている ibus 問題って、突き詰めれば各エンジン毎にキーバインディングが任されるようになったのかな?と思いますが、他にも色々あるとは聞いています。どちらにしろ大きな変更のまっただなかで面倒なわけですが、だからといって怖がる必要がないことが判りほっとした次第です。(いいのかそれで...)

 次稿では、もうさらにマイナーな Linux Mint の使用レポートをご紹介できればと思いますが、とりあえず明日はほた(@lindwurm_)さんにバトンをお渡ししようと思います。ではまた。

2013年12月12日木曜日

僕らの求めていたDesktop Linux (Linux Mint Advent Calendar 12日目)

 どうも、島田です。今回は Linux Mint の Advent Calendar ということですが、ほた(@lindwurm_)さんが凄く頑張っていらっしゃるのを見るだけではなんなので・・・ということで、僕も何か書いてみようかと。そんなノリでの寄稿です(すみません...)。

 さて、いきなし昔話ベースで恐縮なのですが、今回は「僕らの求めていたDesktop Linux」ということで、何故今 Linux Mint なのかという点をちょっとした歴史追いから案内していこうかと思います。なお余談記事なのでツッコミはお手柔らかに。

 Linuxディストリビューション(以下ディストリと訳します)は、優れた食材を詰め合わせ、幕の内弁当のように提供するタイプのソフトウェアであると言えます。具体的には、LibreOfficeやFirefox、GIMP などの優れたフリーソフトウェアを使いやすくカスタマイズしメニューに組み込み、インストーラ(やLive CD)という形で、利用者に使ってもらいやすい環境を提供します。なので見た目や導入しやすさ、サポートやノウハウ等が人気に直結します。特に Desktop Linux は利用者の感覚に直接触れる部分ですので、同じソフトウェアでもディストリが違うと、異なる評価が飛び出してくるのも特徴でしょう。

distrowatch の一番人気から...

Desktop Linux の人気は時代によって変わってきました。

 さらっと見たところディストリ別のシェアのデータは持ち合わせてないのですが(すみません)、distrowatch のページヒットランキングでは、2004年以前のトップが Mandrake (現 Mageia / OpenMandriva )、2005年から2010年までのトップが Ubuntu という結果になっています。

( from Ubuntu sees massive slide in popularity, Mint sprints ahead ... but why? )

 もちろんページビュー基準で見ている統計なので、それが人気やシェアに直結するわけではありませんし、実数をまったく示していません。しかし、長い間 Linux ディストリビューションを見つめ続けてきた distrowatch の数値は一種の指標になっています。

Mandrakeの時代 (2001年~2004年)

僕がDesktop Linuxを触りだした時は2000年代前半であったような記憶があったのですが(もっと前かも?)、割と色々なディストリを渡り歩いていたときに、「お、これは!」と思ったのが Mandrake だったのです。

 当時、GNOMEやKDEが成熟し、Mozilla 等、今に知られるフリーソフトが次々に登場した時期でした。しかし、色々な作業を簡単にこなせて、かつ、デザインも良いディストリビューションというのは当時それほど無かったと記憶しています。そして、フランス育ちの Mandrake はそれに合致していたのです。蒼くクールなデスクトップを見て、Windowsからの乗り換えを決めたぐらいでしたから。

 RPMベースでありながら使いやすいパッケージマネージャも大きな特徴でした。

( Mandrakelinux 10 のスクリーンショット by Wikimedia commons )

 ただ、人気があるといってもあくまで世界的(というか欧州中心)な人気であったので、国内ではそれほどメジャーではありませんでした。日本のコミュニティは小さく、ちょうどMandrake固有の翻訳で頑張ってた方が数人いらっしゃった程度であったと記憶しています。

 ちなみに、その後 Connectiva と合併し Mandriva となり、また色々経緯があって現在は MageiaOpenMandriva  となって今に至ります。(ちなみに2013年現在、 Mageia がトップ2に入っているのは、今でも Mandriva 由来の人気が高い証拠だと思います。)

Ubuntuの時代 (2005年~2010年)

ご存知の方も多いと思いますが、後の世代になると、頭ひとつ飛びぬけた存在が現れました。 Ubuntu のことですね。


Ubuntu 5.10 のスクリーンショット by Wikimedia Commons )

 茶色を主体にしたシックなインターフェイス、GNOMEでありながらシンプルなUI、そして定期的な新バージョンリリースは、瞬く間にディストリ業界を Ubuntu 色に塗り替えました。

 CDの無料配布、各種WMユーザ用のディストリビューション(Kubuntu, Xubuntu, Edubuntuなど)、LTS版による長期サポートといった施策も多くあり、「LinuxといえばUbuntu」というイメージもこの頃から触っている方にはあるかもしれません。実際、この頃は僕もUbuntuを使ってました(途中から Xubuntu に乗り換えましたが...)。

 日本でも関連書籍が多くリリースされる等、高い人気を誇っています。また、日本のUbuntuコミュニティは現在、日本のDesktop Linuxシーンを牽引する存在であるとも言えるでしょう。

Linux Mint の時代 (2011年~)

しかし、Ubuntuは十分力をつけたところで冒険を始めました。Unity インターフェイスの登場とデフォルト化は、これまでのインターフェイスを好む利用者に、賛否を巻き起こすことになりました。

 そこで・・かどうかは不明ですが、近年頭角を現してきたのが Linux Mint です。Linux Mint 自体はマイナーでながら昔から存在したそうなのですが、近年多くの支持を集めるようになってきました。Ubuntuベースでありながら、派生ディストリの範疇ではなかなかできない、独自の考えを多く採り入れています。これまでのインターフェイスを基本にしつつ、よりベターを目指す Cinnamon 等が特徴的です。


( Linux Mint Cinnamon のスクリーンショット )


 恐らくはぱっと見は、おなじみの構成なので驚きは少ないかと思いますが、メニューを開いてみると進化を感じると思います。メニュー内では、クリックせずマウスムーブだけで、何の機能があるかが直感的に判ります。

 デザインから見ても落ち着いた緑色で、 黒基調のメニュー画面とマッチしているように感じられます。この頃デザイン思考の壁紙をデフォルトに持ってくるディストリが多い中、あえてシンプルに Linux Mint であることを主張する壁紙も印象的に見えます。

 もっとも、標準のイメージ(nocodecs でないもの)では libdvdcss が付く等、日本における Desktop Linux の常識に合わない部分があったり、日本語入力をするためにノウハウが必要である、CinnamonやMATE版などの選択がし辛い名等、ツッコミ点は未だ散見されます。しかし、日本のコミュニティも活発になりつつありますし、さらに翻訳や日本語対応などの点も、何らかの形で解決されていくものと思います。
 

まとめ

おそらくコンピュータの使い方は世代により異なり、 UNIX Shell に慣れた方から Android のタッチUIに慣れた方まで様々でしょう。なので、いずれのディストリも万人にウケることはできません。

 では、Linux Mint はといえば、Windows 95世代のウィンドウUIに慣れた方にとって、今、もっともベターな Linux ディストリの一種であり、該当するLinux環境をお探しであれば、試す価値があると僕は思います。そして、Desktop Linuxとして日常的な利用に耐えうる存在であることは、distrowatch の人気から見ても感じていただけるかと思います。

 そんな Linux Mint の助けになれば...と思うのですが、 後々開拓していくと致しましょう。

  次稿では、そんな Linux Mint を仕事で使う Tips あれこれをご紹介できればと思いますが、とりあえず明日はほた(@lindwurm_)さんにバトンをお渡ししようと思います。また後ほど。