Linux」カテゴリーアーカイブ

Mandriva 2010.1 Spring Beta

気がついたらもう四月後半、半年毎に Linux の新版がワンサカ出る季節である。
Mandriva One 2010.0 GNOME で何一つ不満が無いので見送りも考えているけど一応調べる。
クリアールックスにミストアイコン、更に VL ゴシックにして Fedora 臭い見た目だけど。

DistroWatch.com: Put the fun back into computing. Use Linux, BSD.

あらら、次の mandriva は 6/3 とチト遠いのですね。
ならばベータを VirtualBox で試してみよう、今回も One の GNOME 版を。

ftp://ftp.kddlabs.co.jp/Linux/distributions/Mandrake/devel/iso/2010.1/beta1/

から mandriva-linux-one-2010-spring-beta1-GNOME-africa-asia-cdrom-i586.iso をば。
md5sum –check コマンドも成功、仮想 HDD を作ってライブ CD を iso から起動。

あれ、one africa-asia を選んだのに Japanese が選択肢に無いぞ?
とりあえずデフォルトの英語を選んで進めてみる。
タイムゾーンは Asia 内に Tokyo が、キーボード選択には japanesee106 があったけど。

やっぱり Japanese は無い、入れ忘れなのかそれとも完全に見限られたのか…
ベータなせいか壁紙やテーマが 2010.0 と同じで変な気分。
Live CD 状態では追加もできないし、とりあえず細かいところを見てみよう。

やはり今回も Guest Additional は最初から適用済み状態で Live CD を起動できる。
Flash も入っているのでそのまま YouTube 観覧可能である。
このプロプライエタリ・ソフトウエアにも柔軟な姿勢は他の Linux もやってほしい。
だって結局デスクトップ用途ではみんな入れるんだもの。

日本語入力できないけど SCIM の設定があった、iBus にはしないのかな?
Font には UmePlus がしっかりあった、VL ゴシックは無いです。
Ubuntu はデフォルト状態では Gimp を外すとか見かけたけどコイツはしっかりある。
gnome-screenshot のアイコンがカッチョよくなっているけど得に変わっていないっぽい。

というか標準搭載アプリは 2010.0 と同じ。
というより KDE メインのディストリビューションだし、正式版では解らないけど。

Python が 2.6.5 に、mono が 2.6.3 に、まぁ mono は今となってはどうでもいい。
Python 依存度が低い部類のディストリなんだから 3.0 系でも…企業ユーザーが困るか。

Epiphany 2.30.0 の WebKit が普通に使える、仮想環境での試用だから何ともいえないが。
私の現環境の 2.28.1 では起動するだけで OS が不安定になる、ATI と相性が悪いのだろうか。

Nautilus のデフォルトディレクトリには Fedora 等と同じくアイコンが付くように。
GNOME の仕様なのかな?何にせよ解りやすくなったのは嬉しい。
デザインも Ubuntu の「何故こんなにダサいの…」なアイコンとは違い大人しめでイイ。
それでもウザいなら user-dirs.dirs で全部無効にすればいいだけだ。

他、Nautilus は F3 キーでもう一つペインが出せるようになった、タブより使いやすい。
しかし一覧とアイコン表示切り替えがツールバーに移動してしまった。
ツールバー非表示で使いたいのに、他に場所バーが直接入力できなくなっていたり。
新機能は嬉しいけどバー追加の結果としてこれらが犠牲になった感じ。

チビッと使ってみて気がついたのはこんなところ。
とにかくデフォルト状態は 2010.0 とあまり代わり映えしない、個々が地味に更新されただけ。

ものは試しとインストールしてそのままアップデートしてみたら日本語 local が。

africa-asia を選ぶ意味無いジャン!
と思ったけど /etc/sysconfig/i18n 編集して再起動しても適用できん…
つか、ということは最初からあったのに適用されないってことなのかな?
次版は Ubuntu を選ぶほうが正解なんだろうけど、あの超ダサいアイコンがなぁ…

続く、かも。

get_user_special_dir

Linux でホームに作成されるデフォルトディレクトリ名は

~/.config/user-dirs.dirs

で指定及び確認ができることは大半の人が知っているだろう。
自分の都合で名前変更しても自動で追従する嬉しいのか迷惑なのかよく解らな(以下略

Windows も準拠してくれれば嬉しいのに…
というのは置いておいて英語表記のデフォルト名は

/etc/xdg/user-dirs.defaults

で私が知るかぎりでは確認できます、全部の Linux がそうなのかは知りません。

ということで。

アプリを自分で作るとデフォルトディレクトリ名を探したくなる場合がある。
自身が使う範囲のみであれば決め打ちでいいけど公開する場合は考える必要がある。
user-dirs.dirs を自己解析すればとも思うけどこの位置さえ決め打ちでいいのだろうか?
画像関連アプリで画像ファイルを保存しているだろう場所を指定みたいなくらいしか(以下略

glib Functions

glib に get_user_special_dir なんてメソッドがある。
コレを使えば PyGtk の GUI アプリでユーザー指定のディレクトリが見つけられそうだ。
get_user_cache_dir メソッドも後々で使いそうだし覚えておいたほうがいいかなと。

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

import glib

xdg_default = (
    "Desktop",
    "Documents",
    "Download",
    "Music",
    "Pictures",
    "Public",
    "Templates",
    "Videos"
    )

user_conf = (
    glib.USER_DIRECTORY_DESKTOP,
    glib.USER_DIRECTORY_DOCUMENTS,
    glib.USER_DIRECTORY_DOWNLOAD,
    glib.USER_DIRECTORY_MUSIC,
    glib.USER_DIRECTORY_PICTURES,
    glib.USER_DIRECTORY_PUBLIC_SHARE,
    glib.USER_DIRECTORY_TEMPLATES,
    glib.USER_DIRECTORY_VIDEOS
    )

for i in range(len(xdg_default)):
    print "%s: %s" % (xdg_default[i], glib.get_user_special_dir(user_conf[i]))

うん、これでいいんじゃない。
とにかくコレでフルパスが得られるので処理が簡単。
自身で何も指定していないなら None が戻るので処理が簡単。
よし、これで Y901x の初期選択ディレクトリを(理由はソレかい…

私が付けている名前を晒しているけど気にしない
動画の保存先名デフォルトは Videos より Movies のほうがイイと思うんだけどなぁ…

trash-0.0.1

Linux で端末から trash というコマンドでファイルをゴミ箱に捨てるアプリを新規公開。
いや自分で使いたかったんで、ちなみに中身はコレだ。

Linux でファイルをゴミ箱に捨てる

たったの 19 行w
man も pydoc も絶対にイラネェw
なんと親切なことにインストールスクリプト同梱w
GNOME だけでなく Mandriva KDE でもわざわざ動作確認済みw

Linux ゴミ箱を日本語で検索すると結構ヒットするんだけど…
g_file_trash を日本語でググってもウチしか当たらないんだが…

つーか Linux アプリを更新してもアクセス数は全然カワンネェwww
私は方向を間違えたのだろうか…

glade

覚書ページの整理が全然進まない。
PyGtk はどの順番で widget 解説を進めるか考えると頭がおかしくなりそう。
TreeView や TextView の前に Scrollbar や Scale の前に Adjustments の知識が必要で…

それより、もう使わなくなった Glade 関連の解説なんかはどうしようかと。
なんたって今では普通 libglade ではなく GtkBuilder を選ぶだろうし。
最初の GUI アプリ作りのとっかかりは Glade ほど解りやすいものは無いだろうし。

いやまてよ。
C 言語から Glade を使う方法てか GTK+ コンパイル方法も併記すればいいんでない。
なんたってソレは私自身もやったことがないので勉強にもなる。

よし Mandriva One に Glade や GTK+ ヘッダをインストールしてみよう。
C でやるには別途でコンパイラの他に GTK+ ヘッダを入れる必要があるんだよね。
Ubuntu での需要ばかりだろうから Ubuntu には後で入れる。

libgtk+2.0_0-devel を導入。
依存関係で他のパッケージも沢山インストールされるが気にしない。

devhelp も導入。
/usr/share/gtk-doc 以下の doc はコレで見られるようになる。
libgtk+ を入れた後はこんな感じになる。

glade も一応入れてと。
んで海外からチュートリアルを探してみたら強烈なとこを見つけた。

GTK+ and Glade3 GUI Programming Tutorial – Part 3

とにかく tutorial.xml を落とし C コードをコピペしてコンパイルしてみる。

普通にコンパイルが通って動かせた。
ふむふむ、C から Glade ファイルを使うにはこうすればいいのか。
しかしこんなトコを見た後では何を書くのも気後れするわ。

でもコンパイルオプションが長くてメンドクセ!
メモリの解放処理をいちいち書かなければいけないのがメンドクセ!
つーかメソッドではなく関数を使うのがメンドクセ!
PyGtk がどれほど楽チンなのか改めて思い知る。

y901x-0.2.1

y901x-0.2.1 を誰も待っていないだろうけど更新しました。

やっと compiz 3D 無効状態でリストサイズ変更グリップラインが崩れるのを修正できた!
3D で使えば問題無いけど実はずっと気にしていた私であった。

def __on_expose_event(self, widget, event):
    # GetDC()(Windows)
    gc = widget.style.fg_gc[gtk.STATE_NORMAL]
    # Draw Vertical Line
    for i in range(10):
        if i%3 == 0:
            widget.window.draw_line(
                gc,
                event.area.x+i,
                event.area.y,
                event.area.x+i,
                event.area.height)

とやっていたのを

def __on_expose_event(self, widget, event):
    # GetDC()(Windows)
    gc = widget.style.fg_gc[gtk.STATE_NORMAL]
    # Draw Vertical Line
    for i in range(10):
        if i%3 == 0:
            widget.window.draw_line(gc, i, 0, i, widget.allocation.height)

に変更したらアッサリと。
つまり引数で渡される event.area から得られる値は 2D 状態ではアテにならないぞと。
widget から直接大きさを調べて計算すれば 2D でも 3D でも対応できるね。

今まで表示されない部分に一生懸命ラインを引いていたってことか、あーあ、早く気がつけ俺。
他にステータスグリップ描写が変な位置になる不具合も同じ理由だった。

他、覚書ページ作りで思いついたことを地味に導入して本サイトにて公開中。
しかし三ヶ月も放置したのに毎月ダウンロード数が地味に増えているのは何故だろう?
といってもたった二百程度なんだが、Linux 専用だし需要は微妙だしこんなものだろう。

どうでもいいけど本サイトトップページのスクリーンショットは取っ払った。
BlackBerry で見てみたら…まぁそういうわけで。
今後はサイトデザインもスマートフォンを考慮したほうがいいかもね。