Mandriva は GNOME を選んだほうがいい

多分もうすぐ Mandriva 2010.0 が出る、その時点で Ubuntu から完全に乗り換える。

しかし、Mandriva はやはり Mandrake の時代からの名残りで KDE だよ。
と思って色々試したはいいけど、どうにもシックリこない。
今まで利用していたアプリはほとんど GTK+ 製であることに今更気がつく私。
それどころか GNOME 標準アプリばかり使っているという事実を思い知る。

結局 Gedit や Nautilus を利用したくなるのなら GNOME 版を使えになる。
しかしそれだったら Ubuntu から乗り換える理由があんまり無いわけだが…
Qt のノウハウが高いはずなので GNOME でも Opera が Ubuntu よりは安定するかも。
何より Ubuntu しか知らないで Linux 使い面するなんてイヤだ!

そう思い直して素直に GNOME 版の One も VirtualBox にて試すことにした。

mandriva-linux-one-2009.1-GNOME-africa-asia-cdrom-i586.iso

どうでもいいが riken の FTP ディレクトリ名が mandrake のままなのね。
とにかく落とす、とっととインストール。
Live の使い方も インストールの方法も KDE 版と全部同じだ。

KDE 版と違ってフォントも最初から綺麗、けどなんか変な感じ。
って sans が UmePlus じゃない、ココは KDE と同じにしないの?
ウインドウのアクティヴ状態が GNOME のほうが解りやすい。

慣れも確かにあるけど明らかに GNOME のほうが標準状態がシッカリしている。
というか Mandriva の整理されたメニューってこういうことか、GNOME なら納得。

gnome_menu

なんというか…もしかして Mandriva は GNOME メインになっちゃったの?
それとも KDE4 ってそんなに酷いデスクトップなのか?よくわからん。
KDE 版との差を見ようと思ったけど VirtualBox から同時起動できなかった。

$ setxkbmap -model jp106

はやはり必要、てかバグ。

Opera の日本語入力はやはり scim-bridge-qt3 が必要。
んで検索バードロップ後も問題なく日本語入力が可能。
もう Opera を Linux で使いたいなら Mandriva を選んでおけみたいな。

nautilus, Gedit, gconf-editor は GNOME なので当然最初からある。
忘れていたけど gnome-screenshot も絶対に必要、これで KDE に移行は無理だ。
イラネェのに mono が入っている事がマジ気に入らないけど。
本当に雰囲気はそのままゴロッと GNOME になったという感じ。

wnck

ぅおい!GNOME 版なら wnck も dbus-python もデフォルトであるのかい。
Y901x, SeeMe 共まったくそのまんま動くぞこのやろう。
ただ GtkAspectFrame に白いラインが入ってしまう、次の更新はココをやろう。

mandriva_gnome_myapp

どうやらこれが一番良さそうだ。
2010.0 でコイツをホストにして KDE 版と Ubuntu を仮想で使おう。
どうでもいいが Vista も仮想にしようと思って 2GB メモリ 2 つ買ってきた。
換装したらホストの Ubuntu が超不安定になった、どうすべぇ…

Mandriva KDE メニューのカスタマイズ

なんか Mandriva って KDE のデフォルトのメニューが変な感じ。

menu01

rpm が .desktop ファイルで指定しているはずの位置に表示されないとか。
Gedit が「その他」って何よ、カテゴリ分けが独特すぎて探すのに苦労するだけだ。

おかげで昨日のスクリーンショット用に起動したものも全部 bash から行ったぞと。
以前リンクしたレビューはこの配置を褒めていたが他を何もインストールしなかったの?

/usr/share/applications

を覗いてみる、やはりココに実態がある。
KDE 標準メニューに変更しなきゃ他 Linux との違和感があるだけだ。
というかコレって freedesktop.org の統一規格を思いっきり無視していないか?

コンピュータを設定→システム→メニュースタイル

で「オリジナルメニュー」を選択して再ログイン。
「表示されないアプリがあります」なんて怖いことが書いてあるけど無視。

menu02

でこうなる。

あれ VirtualBox が「Lost & Found」にあるぞ?
.desktop の中身を見ると Categories が Emulator とワケワカなものだけ。
管理者権限で手書き変更でもいいけど Ubuntu の alacarte みたいなのは無いのかな?

メニューにそれっぽいのが見当たらないんだが。
でもどうせ kmenu? という名前だろうと bash で kmenu と打って Tab キーを
当たっていた…UNIX の世界に慣れてきたものだ。

kmenuedit

VirtualBox OSE をマウスで掴んで「ユーティリティ」部にドラッグアンドドロップ。
これだけで見事メニューの位置を変更できました。

~/.local/share/applications

を覗くとやはりコピーが鎮座、freedesktop.org の規格どおりてか GNOME と同じか。

しかし Dolphin はドットファイル表示を記憶するのをヤメてくれないか…
Nautilus のように再起動毎に非表示にしてくれるほうが楽、それと動画のプレビュー。

設定はあるのだろうか? Nautilus を入れるというのは最終手段に残したい。
でなきゃ GNOME にすればいいじゃんで終わってしまうもの。

やはり KDE と GNOME は違う

KDE な Mandriva で GnomeVFS が使えるならコレはどうなるのだ?
と調子こいて

ぱぇぽぃ2 ? Blog Archive ? g_file_trash ってのがあった

をやってみた、ようするに GNOME でゴミ箱にファイルを捨てる方法。

trash

GtkWindow は普通に表示してくれたけど何のトラックバックも返さず華麗に無視してくれた。
やはり KDE なのにコレをエミュレートは無理か。

戻り値で成功か失敗を判断せよか、例外未サポートの C 言語が元のバインディングだし。
どんな小さなことでも例外を返してくれる .NET Framework との時代の差を少し感じた。
自力判断とフレームワーク判断とでは開発効率がケタ違いなんだよね。

つか Mandoriva ではドロップ状態だと認識するのが異様に遅すぎるんだが…
これは VirtualBox で動かしているせいなのかな?
これが KDE では普通なのだったら使えるシロモノじゃないんだが。
検証は当分続きそうだ。

Ubuntu→Mandriva 移行準備

初心者ユーザの成長に対応できるMandriva 2009 – SourceForge.JP Magazine

使ってみると良さげなのに日本では無名な Mandriva を上手くレビューしていると思う。
Ubuntu からのステップアップというより他 Linux はどういう感じなのか試したい人向き。
というか Gnome を選んでも見た目はほとんど同じなんだね。

しかしどういうわけか設定しているはずなのに日本語 106 キー配列にならない。
中括弧を打てばすぐ解る、しかも全角・半角キーで SCIM が立ち上がってくれない。
有用な情報をまとめている人を見つけた。

mandrivalinux_01

$ setxkbmap -model jp106

で 106 キー問題はアッサリ解決、.bashrc に書き込めば再ログインで摘要と。
だけどどういうわけか Opera では全角・半角キーがまったく効かない。
せっかく検索バーが使えるようになったと思えばコレだ。

ということで Ubuntu から Mandriva へ乗り換えできそうか地味に検証してみる。

実際は Gnome から KDE へなんだが。
とにかく今までの環境から最小限必要なものの導入方法だけは知っておかないと。
KDE 標準をなるべく尊重しつつ自分の都合が良いように。

デフォルトで sudo は入っていない。
でも普通に su が使えるのでこれは別にどっちでもいいからそのまま。

Apache と PHP はサイト作りに絶対必要だ。
「ソフトウェアの管理」から apache_mod_php を選択。
それだけで依存関係のおかげで Apache から PHP が使える環境一式が揃う。
つーか MySql まで勝手に入ったぞと。

/etc/httpd/conf/httpd.conf

を開き DocumentRoot で検索、毎度のように書き換えて restart
Ubuntu では apache2 と打ち込んでいた所を httpd にする、もう慣れたものだ。
RedHat 系だからつまり Fedora と同じ、とりあえず試しに phpinfo() を。

httpd_install

よしよし、導入は Ubuntu よりも圧倒的に簡単だった。

テキストエディタは KWrite で済ませようと思ったんだが…
SDI では今となっては辛い、ヘタすれば二十個くらいファイルを開く人なので。
高機能なエディタだけどやはりタブが欲しい、素直に Gedit をインストール。

sourceview

Gtksourceview がデフォルトでは入っていなかったのか。
依存関係を勝手に調べてくれるのって便利だなぁ。

gedit

おいおい、gedit のみチェックしたのに Ubuntu と同じプラグインが入ったよ。
当然スニペットなんかも普通に使える、これなら今までとまったく同じに使えるね。
ただ gconf-editor は別にインストールする必要がある、XML 直編集でもいいけど。

他は…実は絶対に変更できないアプリケーションはそれだけだ。
それと Gnome の「場所」メニューのように…は Windows と同じだと思えばいいか。

Nautilus 同様に Dolphin からも FTP 接続できた。
ネットワークを開き「ネットワークフォルダを追加」をダブルクリック。

dolphin_ftp

やはり FTP ソフトは不要だね。
ただ Dolphin からスクリプトを呼び出す事はできないか、別の方法を漁ろう。

なんか思ったより簡単に移行できそうな感じ。
しかし移行したい最大の理由 Opera で別の不具合が出るとは…
こんなところが Opera らしい、さて解決方法を探すか。

Nautilus と Dolphin と GnomeVFS

Nautilus の D&D で送られてくる text/uri-list で何を今頃気がついた。
これって CRLF 区切りなのか、Dolphin の場合は LF 区切りの URI が送られてくる。

ぱぇぽぃ2 ? Blog Archive ? Get MIME Type and Description

上記に書いたコードのように今まで URI の最後の一文字を削除していた。
たまたまそうやったら上手くいったからずっとそうしてきただけだったりする。
CR の存在を今まで知らずにアプリを作っていたのか、反省。
ということは

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import gtk
import gnomevfs

class MimeWin2(gtk.Window):
    """
        Showing MIME Type and Description of Dropped file
    """
    def __init__(self):
        gtk.Window.__init__(self)
        dnd_list = [("text/uri-list", 0, 0)]
        self.drag_dest_set( gtk.DEST_DEFAULT_MOTION |
                            gtk.DEST_DEFAULT_HIGHLIGHT |
                            gtk.DEST_DEFAULT_DROP,
                            dnd_list, gtk.gdk.ACTION_MOVE )
        self.connect("drag_data_received", self.on_drop)
        self.label = gtk.Label("Drop")
        self.add(self.label)
        self.connect("delete-event", gtk.main_quit)
        self.resize(320, 150)
        self.show_all()

    def on_drop(self, widget, context, x, y, selection_data, info, time):
        if "\r\n" in selection_data.data:
            drops = selection_data.data.split("\r\n")
        else:
            drops = selection_data.data.split("\n")
        for drop in drops:
            if not drop == "":
                name = drop
                mime = gnomevfs.get_mime_type(name)
                desc = gnomevfs.mime_get_description(mime)
                self.label.set_text("MIME Type = %s\nDescription = %s" % (mime, desc))

if __name__ == "__main__":
    w = MimeWin2()
    gtk.main()

gnomevfs

こうすれば Nautilus でも Dolphin でも対応できるじゃないの。
てか改行コードが違うだけで text/uri-list が送られてくるのは同じなのか。
KDE の Mandriva でも GnomeVFS から普通に MIME Type を取得できるのは驚いた。
ま、そうじゃないと Firefox や Totem が動かせないか、納得。

ところでスクリプトの扱いが Nautilus と Dolphin では随分違うなぁ。
シェルスクリプトだと実効パーミッションでもダブルクリックで実効できない。
Python スクリプトだと逆に Nautilus のように質問は無くていきなり実効してしまう。
bash からだとまったく同じ、そりゃそうか。

私が実効スクリプトを分けて配布しているのは完全に自分の都合。
python スクリプトをダブルクリックだけで gedit で開けるからという単純な理由です。
Mandriva で使うことを考えて実効スクリプトを Python スクリプトにすればいいかなと。

ということでソコを書き換えたら Y901x は再生できるようになった。

baseboll

後は dbus と wnck をなんとかすれば Mandriva もサポートできる。
リポジトリにはあるんですけどね。

python_dbus