Fedora」タグアーカイブ

Fedora 18 etc…

# CapsLock を Ctrl に変更
gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:nocaps']"

# CapsLock と Ctrl を入れ替える
gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:swapcaps']"

知らなかった。
/usr/share/X11/xkb/keycodes/evdev
を書き換える必要すら無かったとは。

それと Nautilus でどうでもいいことに気がついた。

nautilus_file_move

ココで移動できちゃう、マジでどうでもいい!
ランチャを [Ctrl+クリック] するかメニューからで素直に2つ起動しよう。
ツリー表示が無くなったのもしばらく使っていたらなんか慣れてきた。

で、上記スクリーンショットを撮って、ついでに気がついた。
いつの間にかマウスカーソルが移動カーソルのままで撮影できるようになっている。
マウスカーソルは後から書き足す方式なのでどの状態でも通常の矢印表示になっていたのだが。
嬉しいような、地味すぎるような進化をしていた。

codec_install

Totem からデコーダーを入れられるようになったのかな?
もう全部入れてしまったので試せないけど。
ところでアップデート通知を適用したらこんなになった。

saikidou

なんか Fedora もすっかり Windows 7 臭くなってしまった。
再起動してもしばらく上記が表示されたままで困ったけどしばらくしたら消えた。
最新環境は色々みつけられて楽しいです、みんな Fedora においで。

Python with GTK3 and Gst 1.0

GStreamer 1.0 を PyGI で試してみた。
Seekbar は面倒くさいので付けていない、Play/Pause ボタンのみ。
動画ファイルをドラッグアンドドロップすれば再生できるサンプル。

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

import gi
gi.require_version("Gtk", "3.0")
gi.require_version("Gst", "1.0")

"""
    GdkX11   @ get_xid()
    GstVideo @ xvimagesink
"""

from gi.repository import GObject, Gst, Gtk, Gdk, GdkX11, GstVideo

class Player(Gtk.Window):
    """
        Simple DnD Video Player
    """
    def __init__(self):
        Gtk.Window.__init__(self)
        self.connect("delete-event", self.on_quit)
        # Status
        self.status = Gst.State.NULL
        # Video Area
        self.video_area = Gtk.DrawingArea()
        # Disable Double Buffered
        self.video_area.set_double_buffered(False)
        # Play/Pause Button
        self.button = Gtk.Button.new_with_label("Null")
        self.button.connect("clicked", self.on_button_clicked)
        # playbin
        self.player = Gst.ElementFactory.make("playbin", None)
        bus = self.player.get_bus()
        bus.add_signal_watch()
        bus.enable_sync_message_emission()
        bus.connect("message", self.on_message)
        bus.connect("sync-message::element", self.on_sync_message)
        # DnD
        dnd_list = Gtk.TargetEntry.new("text/uri-list", 0, 0)
        self.drag_dest_set(
                Gtk.DestDefaults.MOTION
                | Gtk.DestDefaults.HIGHLIGHT
                | Gtk.DestDefaults.DROP,
                [dnd_list],
                Gdk.DragAction.MOVE )
        self.drag_dest_add_uri_targets()
        self.connect("drag-data-received", self.on_drag_data_received)
        # pack
        vbox = Gtk.Box.new(Gtk.Orientation.VERTICAL, 0) 
        vbox.pack_start(self.video_area, True, True, 0)
        vbox.pack_start(self.button, False, False, 0)
        self.add(vbox)
        self.resize(640, 360)
        self.show_all()

    def on_drag_data_received(self, widget, drag_context, x, y, data, info, time):
        uris = data.get_uris()
        self.player.set_state(Gst.State.NULL)
        self.player.props.uri = uris[0]
        self.player.set_state(Gst.State.PLAYING)

    def on_quit(self, widget, data=None):
        self.player.set_state(Gst.State.NULL)
        Gtk.main_quit()

    def on_sync_message(self, bus, message):
        if message.get_structure().get_name() == "prepare-window-handle":
            xid = self.video_area.props.window.get_xid()
            imagesink = message.src
            #imagesink.props.force_aspect_ratio = False
            imagesink.set_window_handle(xid)

    def on_message(self, bus, message):
        t = message.type
        if t == Gst.MessageType.EOS:
            self.player.set_state(Gst.State.NULL)
            self.status = Gst.State.NULL
            self.button.set_label("Null")
        elif t == Gst.MessageType.ERROR:
            self.messagebox(message.parse_error())
            self.emit("delete-event", None)
        elif t == Gst.MessageType.STATE_CHANGED:
            status = message.parse_state_changed()[1]
            if status == Gst.State.PLAYING: 
                if not self.status == Gst.State.PLAYING:
                    self.status = Gst.State.PLAYING
                    self.button.set_label("Pause")
            elif status == Gst.State.PAUSED: 
                if not self.status == Gst.State.PAUSED:
                    self.status = Gst.State.PAUSED
                    self.button.set_label("Play")

    def on_button_clicked(self, widget, data=None):
        if not self.player.props.uri == "":
            if self.status == Gst.State.PLAYING:
                self.player.set_state(Gst.State.PAUSED)
            elif self.status == Gst.State.PAUSED:
                self.player.set_state(Gst.State.PLAYING)

    def messagebox(self, text):
        dlg = Gtk.MessageDialog(
                self,
                Gtk.DialogFlags.MODAL,
                Gtk.MessageType.ERROR,
                Gtk.ButtonsType.OK,
                text)
        dlg.set_title("Error")  
        r = dlg.run()  
        dlg.destroy()
        return r

if __name__ == "__main__":
    GObject.threads_init()
    Gst.init(None)
    Player()
    Gtk.main()

GdkX11 は xid を得るのに必要、GstVideo は DrawingArea に貼り付けるのに必要。
つまり音楽プレイヤーを作るなら別にインポートする必要は無い。

以前リンクしたところは GstPipeline に playbin をセットしていた。
けど普通に playbin 自体を GstPipeline として使えるということみたい。

expose_event が無くなったおかげか xid を得るのに一手間がいらなくなった。
アスペクト比を保持させない方法も PyGtk と同じだった。

STATE_CHANGED メッセージで再生中に Gst.State.PLAYING が延々流れてくるのだが…
PyGtk ではこんなだったかな、覚えていないや。

というか PyGtk と Gst 0.10 で作るのと全然変わっていなかったという。

GStreamer のバージョンが上がったメリットは今の私には解らない。
多分そのうち気がつくだろう、多分。

しかし fedora 18 で検索しても皆 GStreamer なんて一言も触れていない。
Nautilus でサムネイルできなくて皆阿鼻叫喚してるかと思ったけど実際の話メインで使っている人がほとんどいないってことなのね。

しかし今日だけで五回もフリーズした、早く安定しないかなぁ。

Fedora 18 64bit Install (HDD) part2

Nautilus はブックマークの保存場所も変わっていた。

~/.gtk-bookmarks があるけど書き換えしてもが読み込まない。
~/.config/gtk-3.0/bookmarks を読み込むようだ。

なら PCMan とかのツリー表示が可能なファイルマネージャを別個で入れても安心。
こいつ FTP ができないからって登録したのを削除しやがるもんな。

ログアウトメニューが無いのはやはり不便。

scut

こんなのを見つけたけど Ctrl+Alt+Delete は「電源オフ」だよ!

GUI では logout コマンドが使えないし困った。
海外を探すとエイリアスを作る方法が見つかったけど Alt+F2 で使えない。
しかたがないのでこんなコマンドを作って ~/bin に放り込んでみた。

#!/bin/sh
# logout alias
gnome-session-quit --logout --no-prompt

これで Alt+F2 からでもログアウトできる

Nautilus は変わったとはいえ freedesktop.org 準拠の部分はやはりそのまま。
あらかじめ標準ディレクトリにしたいディレクトリをコピー又は作成しておき
~/.config/user-dirs.dirs を書き換えて上コマンドでログインしなおせば。

nautilus36

こんな感じで結構使うのにログアウトメニューは何故消したのだろう。

他は…

Python3 はデフォルトで入らないのか、どこかで入ると見た気がするのだが。
gcc はデフォルトで入らず gjs と seed はある、何も変わっていなかった。

VL ゴシックのプロポーショナルが相変わらず入っていない。
日本なんて全然気にしていないのね、入れなきゃ日本語サイトの大半が笑える状態。

サスペンド復帰が失敗しまくるのだがそのうち修正してくれると信じよう。
Alt キーの動作を逆にしたのはそういう要望が多かったのかな。

Fedora も GTK2 と GTK3 の見た目を同じにする方向みたい。
非アクティブ時に Widget の文字列等が薄くなるなら GTK3 と一応見分けが可能。

# GTK+

解り辛いけど GtkScale や GtkScrollbar の動作が変更になっている。
トラフでない部分をマウスでクリックした場合

Fedora17 以前
左ボタンで少しずつトラフが移動、中ボタンならトラフ完全追従

Fedora18
左ボタンでトラフ完全追従、中ボタンは無視

GTK2 の Firefox と GTK3 の Gedit のシークバーで試せばすぐ解るよ。
やはりタッチパネルを意識したのだろうか。

Totem の GtkHScale はどのボタンでも追従するようになっているし。
私が作った Y901x は全部中ボタンと認識する仕様なせいかシークバーが動かないw
おいおい GTK2 の GtkScale まで動作まで変えないでくれよ。

おまけに GtkAspectFrame が白くなる現象が。
GTK3 化しなきゃいけないのにこんなことで更新するのも…
Gst 1.0 は日曜にでも試してみる。

とりあえずこれまでに気がついたことでした。

Fedora 18 64bit Install (HDD)

Fedora 18 正式版がやっと出た。
今回の目玉は私的には Nautilus がゴロッと変わったことと GStreamer が 1.0 になったこと。
他で見かけたのはインストーラが凄くなっているらしいし楽しみだ。

960MB って今回から DVD かい、まあとっとと落として DVD に焼く。
先日買った BD ドライブと Brasero で普通に iso を焼けた。

Live 起動、今回から Live にもログインが必要になった。
一つしか選択肢が無いしパスワードも不要だけど何故かある。

インストーラは凄い進化していてログイン直後でインストールを始めても日本語が選択できるように。
って Ubuntu はとうの昔からそうだったけど。
逆に何故かログアウトメニューが消えたので Live で日本語化するのに困る。

gnome-session-quit --logout

と Alt+F2 から打ち込んでプロンプトを出せばログアウトできるけどなんだかなぁ。

多分そのうちインストール画面の画像だらけの解説ページを作るトコが出るだろうけど正直 Live を立ち上げればアホでもインストール方法は解る、続行ボタンとかが角にあるので Full HD だと見つけにくいけど探せばある。
パーテンションを細かく切るとか LVM みたいな項目がなくなり超簡易になった感じ。
ただ既に OS が入っている HDD に上書きの場合は「空きがありません」とでる、続行すれば選択肢になるけどちょっと迷った。
Ubuntu ほど上手くは作っていないけど以前に比べれば確かに解りやすくはなっている。

自分のパスワード等は再起動後なのは以前と変わっていない。

さて終わったので起動、なんか凄く起動が早くなった気がする。
デスクトップに物が置けないのがデフォルトなのを変える気は無いようだ。
Gnome 3 の設定 (gsettings) – L’Isola di Niente

Libre Office なんてどうせ誰もツカワネェのに入っていやがる。
それより dconf-editor とか必須アプリを最初から入れてくれよ。

ちょっとまて、日本語切り替えができなくなっている…
英語キーボードを使っているからかもしれないけど。

[システム設定] を開く。
[地域と言語→入力ソース] から Anthy でない「日本語」を消す。
[キーボード→ショートカット→タイピング] の設定で [全角/半角] か [Ctrl+Space] を入れる。
で Windows みたく使える。

[Shift+Space] に設定できなくなった、Gedit のスニペット一覧表示は諦めるとするか。
ついでに選択ウインドウが無意味にカッコイイ。

anthy

さて Nautilus はやはり 3.6 でメニューバーが無くなってアプリケーションメニューになった。
アクティブ時にアクティビティの横をクリックするだけだがぶっちゃけ使いにくい。
というかショートカットキーがどこにも表示されないので新規で使う人は絶対に迷う。
ゴミ箱に捨てるには Ctrl+Delete とかがコレじゃ解らない。

nautilus_menu

ちょっとまて、サイドバーをツリービューにすることもできなくなっている。
時代の流れで階層を隠す方向なのだろう、慣れるしかないか。

ホームもドットディレクトリが凄く減っていて Linux も変わったなぁと感じる。
.gnome2 ディレクトリがついに消えた、Nautilus script はドコに入れるの?
~/.local/share/nautilus/scripts
というディレクトリを見つけたので入れみたら適用された、ヘルプに書いていない…

スクリーンショットがフォーカスがあってもキーボードが効かないんだが。
こんなに待たせておいて不具合多すぎワロタ。

210

出たばかりなのにコレかよ。
他のものをインストールする前にアップデートしよう。
[システム設定→詳細→更新を確認] って解りにくいぞ!

$ sudo yum update

と端末のほうが簡単。

ちなみにアップデートしないで RPM Fusion や Google Chrome をいれようとしたらコケた。

$ sudo yum remove パッケージ名

なんてコマンド久々に打ったよ。

Google Chrome はアプリ名で検索すれば普通に一番上になる、そりゃ Google だし。
wget と redhat-lsb を別個で入れないとインストールできなかったぞ。
Fedora 17 は普通にインストールできたのは偶然他で入っていたからなの?
Opera は必要になったら入れる、メーラーとしては使いやすいんだけど。

Configuration – RPM Fusion

RPM Fusion だが Graphical Setup から導入できなかった。
下のほうにあるコマンドを端末にコピペしたら普通に導入できた。
何日かしたら修正してくれると思うけど。

gst

さて GStreamer は事前情報どおり 0.10 と 1.0 が共存。
Totem や Nautilus はどちらを使うのかな。
しかし Fedora 18 は Totem に動画をドロップしてもデコーダーが入らないや。

リポジトリから gstreamer で検索。
ffmpeg,bad,ugly,nonfree とか付いているのをかたっぱしから入れてみる。
強制的にインストールとか出るけど気にしない!

すると Y901x で再生できるけど Totem では再生できない異常事態になった。
当然 Nautilus でサムネイルなんてされない、これでは困る。

gstreamer1-plugins-bad-freeworld
gstreamer1-libav

というのを入れてやっと Totem でも正常に再生できるようになった。
つまり 0.10 を使っている Y901x と違う、GStreamer 1.0 を使っているのね。

もう寝なきゃ。
とりあえず明日もう少し弄くってみます。

Fedora 17 BD-R

もうすぐ Fedora 18 が出る、導入するマシンの準備をしなければ。
Core i 何とかあたりに変えようか考えたけどまだ現 4 コア phenom は使えるし。
もったいないから壊れるまで HDD 取り替えのみで使うことにする。

でもかなり前から壊れている DVD ドライブだけはいいかげんに変えなければ。

ただ買い換えるだけでは面白くないので Blu-ray ドライブを買った。
検索すると普通に Brasero で書き込み Nautilus で観覧できるみたいなので。

とりあえず上記を買って壊れた LG の DVD ドライブと取り替える。
空の BD-R を入れると CD, DVD ディスク同様に自動マウント、うんうん。
早速 Brasero で書き込みしてみる。

brasero_error

なんだよ、トレイが勝手に吐き出されてコレだよ。

ログ

Checking session consistency (brasero_burn_check_session_consistency brasero-burn.c:1739)
Unsupported type of task operation
Session error : 内部エラーが発生しました (brasero_burn_record brasero-burn.c:2856)

エラーログの内容で検索すると当然のように海外しかヒットしない。
しかも Ubuntu ばかりだし症状が一致しない、Fedora のデスクトップ利用はメジャーでは無いと解っているがチョッピリ悲しい。
結局原因は解らない。

というか、日本語で検索しても再生のこと以外ヒットしない。
インストールと観覧しかやらないなら絶対に Windows のほうが便利だぞ。
書き込みできなくてもアプリに文句言えばいいだけだしね。

Ubuntu日本語フォーラム / ブルーレイディスクにデータを書き込むソフトウエアはありますか ?

日本語でまともなのが見つかるのはやはりココくらいなものか。
K3b ってので書き込めるみたい、面倒なのでコレ入れてみる。
なんかイッパイインストールされてしまったんだが、おまえは iTunes か!

growisofs を次 Fedora でも書き込めないなら試すことにしよう。
PyGI で GUI を作って os.system(str) なんてのを作れば充分そうだしね。
Brasero で問題なければいいわけだが。

まあとにかく書き込んでみる。
とりあえず全部デフォルト設定のままで合計約 20GB のデータを。

k3b_jp

12 倍速と書いているのに 2 倍速以上にはならないんですけど。
外付け USB HDD のほうがストレスが少ない、でも信頼性を考えると…
データ次第で使い分けすればいいことだが。

書き込み完了でエラー、コレは以前のドライブと同じだけどケーブルが悪いのか?
一旦取り出して再び挿入、Nautilus で普通に自動マウントされファイルが読める。
書き込み自体は問題なく行われたようだ。

ということで K3b は普通に BD-R 書き込みできます、困ったらコレ。

それよりこのドライブって恐ろしく静かだ。
試しに CD を聴いてみると本当に回っているのか不安になるくらい。
こういうのはやっぱり日本メーカーを選ばないと駄目だね。

********************

ついでに。
先月のことだけど二年使った Logicool M505 マウスが壊れたので電気屋へ。
たった千二百円の投げ売り Microsoft マウスを見つけたので思わず買った。
初めての Microsoft マウスだ、さあどうだ。

軽すぎて手に馴染まない。
ホイールのクリック感が皆無。
サスペンドがマウスを動かしただけで何故か復帰するように。
そのせいかアルカリ電池が一週間しか持たない。

そのうち慣れるだろうと一ヶ月我慢したけど限界だ!
特に電池は M505 は半年持っていたぞ!

少し大きめのほうががいいかなとやっぱりこの安い奴に買い換えた。
あぁ握り心地は最高だしマウスを動かしても復帰しないのがこんなに嬉しいとは。
もう絶対に割高でも Logicool 以外は買わないことにする。