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

Lubuntu 13.10 GStreamer and cairo

Lubuntu で PyGI から GStreamer を使うには

Ubuntu ? パッケージのファイル一覧: gir1.2-gstreamer-1.0/quantal/amd64
Ubuntu ? パッケージのファイル一覧: gir1.2-gst-plugins-base-1.0/raring/amd64

を Synaptic から導入すればいい。

lubuntu_gst_and_gstaudio

と思ったけど Python3 から利用すると cairo 関連パッケージが足りない。
コードで利用していなくても PyGI が利用するのでエラーになる。
というか Python2 でも足りないので cairo での描写ができないんですけど…

もう Canonical が Python3 に移行しろと言っているので Python2 は無視して。

python3-cairo
python3-gi-cairo
libpython3.3

も必要、この 3 つがないと cairo で何も描写できない。
線や図形の描写 – L’Isola di Niente

lubuntu_cairo

んで肝心の GStreamer デコーダー(プラグイン)はインストール時に
「サードパーティーうんたら」のチェックで全部入るはずなんだが
libav, bad, base, ugly があるのに何故か good が無い。

gstreamer1.0-plugins-good (gstreamer1.0-x が依存で入る)

も必要、一番肝心なプラグインが無いってどうよ。
コレが無くても PCManFM や MPlayer では問題ないんですけどね。
Nautilus や Totem が GStreamer を使う素の Ubuntu はキチンと入るのか?

これで Lubuntu 13.10 にて Python から cairo, GStreamer を使う環境完成。
皆軽さで LXDE を選んでいるはずだから最小限にしたいですよね。
アプリの依存関係で既に入っている場合もあるよと一応。

urusai

何故かソケットエラーが出るけど再生自体は問題なく可能。
2D 描写しかできない Lubuntu でもなんとか開発はできそう。

#############################################

それと LXDE 等の GTK2 ベースデスクトップだと
/usr/share/pixmaps
にアイコンを入れないとインストールで認識しないのねん。
忘れていた、うーんどうしよう。

Lubuntu 13.10

Ubuntu 13.10 が出ている。
自アプリ動作確認メンドクセエ、このためだけに毎回落とすのはもう疲れた。

いや Lubuntu があるじゃないか。

3D 合成処理は無いけどモバイル用途なら最強のはず。
今まで素の Ubuntu から変更しか行ったことが無かったけど直接導入するとどんな感じか実験。
あ、マシンは Core2 Duo P8700 の少し古いノートです。

Lubuntu/GetLubuntu – Community Ubuntu Documentation

x86_64 版を落し CD-R に焼いてとっととインストール。
いきなりインストールでも無線 LAN 接続はできるので慌てない。
Ubuntu はちゃんとインストール CD が終了時に出てくるのが嬉しい。
というか素の Ubuntu と同じだった。

さて再起動、やっぱり何もかもが軽い。
というかアホみたいに早い、起動も早いし修了はマジで一瞬。
Alt+F1, Alt+F2 で普通に保管してくれる、こうでなきゃ。
こんなに早かったかな?

スクリーンショットアプリが無いので gnome-screenshot だけ導入。
残念だったのが Chromiumu が狐に変わっていたこと、後で Chrome 入れるか。

軽いだけじゃ使えない、スマホやデジカメを USB 接続してみる。

pcmanfm2

ftp://USERNAME@SERVERNAME/DIRECTORY

で FTP もできる、なんだ PCManFM でも可能だったのか。

何もインストールしていないのに、今の Linux スゲェ。
これができれば一般的なモバイル用途は充分だと思う。

しかし日本語入力切り替えが少しおかしい。
Zenkaku_Hankaku で Japanese との切り替えができない。
Anthy に切り替えれば Anthy 内部で切り替わるけどトレイアイコンが変わらない。

Super+Space で切り替えすればいいのだけど一般人には勧められないな。
デスクトップの Fedora で英語キーボードを使っている筆者は気にならないけど。
というか全角半角キーの存在を忘れていてしばらく気が付かなかったwww

Ubuntu 13.10のインストールとインストール直後のシステム設定 | Ubuntuアプリのいいところ

元の Ubuntu でも同じっぽい、トレイアイコンは変わるのかな?
しかし Ubuntu は IBus かな漢字(ibus-kkc)にはならなかったか。
[全角]の変換すらできない寒い辞書だものね、Fedora 19 最大の苦痛。

しかし Unity をカスタムするなら最初から Lubuntu にすればいいのに。
スクロールバーやメニューバーの糞仕様もどうせ気になるんだから。

ところで。

non_gst

Gst-1.0.typelib が Lubuntu では存在しない。
インストール時の「サードパーティうんたら」はいったい何だったのだ。
とにかくこれじゃ Y901x が動かないよ、Totem を導入すればいいのかな?
元の Ubuntu は存在すると思うけど、後で調べる。
しかし typelib がえらく少ないな、何故か Unity があるのは笑うところ。

gtk_version

ついでに GTK+ のバージョンを調べると 3.8.4 って。
Fedora 19 は既に 3.8.5 なんですけど、最新 GTK+ って 3.10 だったはず。

第293回 Ubuntu GNOME 13.10の変更点:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社

おいおい…

GNOME 3.10 リリースノート
開発者、システム管理者、ディストリビューター向けの新規事項

GtkListBox とか GtkHeaderBar とか楽しみなんだが。
しかしこのヘッダーバーは GNOME 以外はどうやって表現するのだろう?
だから 13.10 は古いのを使っているっぽい。

最新なのに一世代前の Fedora より古いって何よ…
なんかもう自アプリサポートは Fedora だけでいいや。

他に気が付いたことがあったら後日。

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

おまけ

celeron su2300 の Windows7 マシンに入れたら今回も起動できない。
Fedora なら余裕でデュアルブート可能なのに、何故こんなのがシェア No.1 なのやら。
マスターブートレコードを戻すついでに、以下を見つけたので試してみた。
Windows 7 SP1 の古い Windows の更新プログラムを削除できるようにディスク クリーンアップ ウィザード アドオン

winupdate

6GB って、もう Windows はもぅマヂ無理。。。

bash custom prompt $PS1

今頃知ったけど、bash のプロンプト文字列は変更できるようだ。
Fedora と Ubuntu で表示が違うのは単に変数の内容が違うだけだった。

How to: Change / Setup bash custom prompt (PS1)

早速 $PS1 の値を確認してみよう。

ubuntu_bash

$ echo $PS1

# Fedora Output
"[\u@\h \W]\$ "
# Ubuntu Output
"\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ "

Ubuntu はナンジャコリャだけど、\[\] で囲んだ内容は非表示属性のようだが。
echo $debian_chroot
は何も定義されていないみたいだし、Ubuntu では su は使えないし。
\u@\h:\w\$ だけでいいような?

ということで。
PS1 変数に指定子や記号を代入すればその値で表示されるようだ。
あの長ったらしくて困る Ubuntu のプロンプトを変更したかったので嬉しい。

\w を \W に変更するだけでいいようだが私的理由で Fedora と同じにする。
端末内で行ってもそのプロセス以外では反映されないので ~/.bashrc に指定。

bashrc

これで深い階層で端末を利用してもイラッとしなくなる。
現在位置の確認は pwd コマンドで充分、Fedora でそうしている。
もっと短くしたいなら \h のホスト名を消すという技もあるね。

本当は Windows の cmd.exe でこうしたいんだけど…

A better PROMPT for CMD.EXE or Cool Prompt Environment Variables and a nice transparent multi-prompt – Scott Hanselman

ロクなことできないなぁやっぱり。
そもそもホームをチルダ表示にできないから無意味だが。
PowerShell はチルダで cd 異動が可能なのに何故チルダにしなかったのか?

コマンドラインを強化せよ! – Windows 7のコマンドプロンプトをカスタマイズする (5) エイリアス機能でコマンドプロンプトを使いやすくする | マイナビニュース

コマンドはコレで似せることができるけど面倒臭いにもほどがある。
やっぱり Windows は糞だよ、Linux 慣れしすぎともいうが。

google-chrome 28 libpeerconnection.log

Fedora 19 で google-chrome 28 を起動すると
SELinux is preventing /opt/google/chrome/chrome from create access on the file libpeerconnection.log.
と SELinux に怒られる。
そのうち修正されるだろうと都度解除ボタンを押していたが辛くなってきた。
ポリシーツールもチョロメもまったくアップデートに出てこないし。

SELinux ポリシーを自力変更しようとしたが何故か audit2allow が見つからない。
これじゃトラブルシュートできないよ、手段が変わったのだろうか?

なんとかしたいので libpeerconnection.log で検索してみる。

Ubuntuのlibpeerconnection.logって何? 自分は今、Ubuntu13.04を使っていますが、… – Yahoo!知恵袋

Ubuntu だと SELinux が無いからブロックは無いけどホームに log 生成らしい。
なんだそれ、通信ログだろうけどカレントディレクトリに吐き出しているってこと?
完全に chrome 側のチョンボであるようだ。

ということは SELinux の場合 setsebool する必要でもあるのかな。
つかホーム直下に log ファイルを作られても困るんだが…

Issue 239048 – chromium – libpeerconnection.log file created in CWD – An open-source project to help move the web forward. – Google Project Hosting

そうか、カレントを /tmp に変更してしまえばいいんだ。

sudo gedit /opt/google/chrome/google-chrome

linux_chrome28_fix

SELinux はスルーされ、しっかり libpeerconnection.log は /tmp に生成。

tmp_ls

あぁ普通に起動できる、普通って素晴らしい。
しかし当面は chrome アップデート毎に行う必要があるかも。

生成された libpeerconnection.log のセキュリティコンテキストを見ると
chrome_sandbox_tmp_t とよくワカランものになっている。
サンドボックス領域での通信ログをホームに保存だと SELinux は弾くということか。
テンポラリになら保存できるのならあまり意味が無い気もするんですけど。

Fedora 19 Install (HDD) part3

とうとう Fedora にもデフォルトで Python3 が入るようになった。
そりゃ当然 Python 作者達はいいかげんに移行してほしいだろうけど。

python3_japanese

Python2 の byte 列が単なる str のエイリアスだったのが厳密になっただけだが。
こんな感じで ascii より扱いづらくなるのよね。

それと Gtk+ を使って文字列のやりとりは UTF-8 と UCS-4 を変換しているのかな?
とにかく内部文字列が UCS-4 の言語だと色々とデメリットしか無い気がするが…
Windows だと内部も Python3 も、ついでに C# も UTF-16 だから逆に歓迎だが。
Vala なんて C# 風な言語なのに文字列は ascii なんだよね。

Seed, Gjs は今回もあるけど全然普及しないな…

Gedit で自作の Python 製プラグインがロードできない。
Could not find loader ‘python’ for plugin ‘html_escape’
Python が見つからないってどういうことだよ…
まさかと思って *.plugin のローダーを python3 に変更したら動いた、マジかよ。
公開プラグインは面倒だしトップページからお知らせでお茶を濁すことにする。
スニペットと外部ツールは以前のを ~/.config/gedit からコピペで使えた。

他の我が Python 製アプリはまだ問題なく動くみたい。
PyGst はやはり無くなったか、Y901x は早めに切り替えしてよかった。
どっちにせよ Python3 製に変更しなきゃいけなくなるだろう。

とにかく Fedora で Python を少しでも使っている人は注意してね。

**********

あまりに自然すぎて気が付かなかった。
dconf-editor の説明が日本語表示になっている。

dconf_editor_jp

メニューのカテゴリを変更したいな。
org.gnome.shell app-folder-categories
で指定するみたいだけど
[‘Utilities’, ‘Sundry’, ‘Office’, ‘Network’]
とやっても Office フォルダはできるけどメインメニュー側にも残るしブラウザフォルダは作成すらされない。
‘Network’, ‘Internet’ と 2 つ指定しないとインターネットカテゴリがまとまらない。

Enabling Categories in GNOME 3.8 Shell Application Menu

[‘Utilities’, ‘Games’, ‘Sundry’, ‘Office’, ‘Network’, ‘Internet’, ‘Graphics’, ‘Multimedia’, ‘System’, ‘Development’, ‘Accessories’, ‘System Settings’, ‘Other’]

のように全部カテゴリを指定すると全部まとまる。
/usr/share/applications/*.desktop
指定のカテゴリが複数ある場合は個別だとメインに残るということなのね。
これじゃ全部かデフォルト以外は選べない、あまり意味がない。