fc2ブログ

塩ログ〜/var/log/syolog〜

自分の知識の保存と共有のために

Xubuntuが突然動かなくなった…?

タイトルの通り、うちのメインPCが動かなくなって2,3日くらい何も出来なくなった(現在は復旧済み)。
今後の運用に関わる部分もあるので、備忘録として残しておく。

発生事象

ある日、バックグラウンドでの自動更新に失敗しているという事象が発生。
原因はシステムのディスク容量が足りないことで、さすがに20GBそこそこでは足りなくなってきたらしい。
アップデートできないだけならいいものの、ブラウザすら立ち上げられない、viが動かない、Tabキー補完すら出来ないという異常事態なので、かなりイレギュラーではあるがパーティションをいじって/homeに割り当てた領域を20GBほどシステム側に加えることで、対処することにした。
(一応、次のLTSがあと4ヶ月ほどで出るはずなので、それまでの繋ぎだからね。)

対処の流れ

GPartedで、(1)/homeを縮小→(2)/を40GBに拡大→(3)隙間があったので/homeで埋めるの手順で実行。夜寝る直前くらいに始めて長いこと掛かりそうだったのでそのときは就寝。
起床後、結果を確認してみるとどうやら、(3)の操作に失敗してしまった模様。なんとかなるかなあって再起動してみたら、ログイン画面でループする謎現象。パスワード入れてもまたパスワード入力を求められる…。
別のttyからCLIログインしたら、一応動いてはいるようだが、startxコマンドでGUIを立ち上げようとするととたんにうまくいかない。メッセージにあった「loading extension glx no protocol specified」辺りで検索してもいい答えが見つからなかった。
結局、再度GPartedで/homeの定義を行ったら、今回は直った。
めでたし、めでたし

まとめ

今回の教訓としては、
  1. システム領域(/パーティション)は最低でも40GBは欲しい。
  2. システムのバックアップは取っておく
  3. エラー状態のまま放置しない
1については、とりあえず20GBくらいでいいって言ってるところがあるけど、普段使いのGUIメインの運用だと、20GBじゃ足りないと思うんだ…。いろいろ面白そうなソフト入れたら結構あっという間にパンパンだった。それにしても、システムだけで40GBとっちゃえるっていうのは、初PCが40GBだった身からすると贅沢だなあと思う。次のLTSのタイミングで128GBのSSDに乗り換えるかあって思ってたけど、容量的な意味でちょっと不安になってきた。
2については、/home下の設定や文書ファイルや画像ファイルもなんだけど、なによりインストールしたパッケージについての情報は一度取っといたほうがいいなと思う(改めてやろうとすると果てしなくめんどくさいので。
以下のコマンドで、入れたソフトのバックアップとか復元がお手軽にできるらしい。
#バックアップ(/tmp/test.txtに書き出し)
dpkg --get-selections > /tmp/test.txt
#リストア(/tmp/test.txtを使用)
dpkg --set-selections < /tmp/test.txt 
3については、言うまでもないよね…。fsckしとけと。

(2016/08/28追記)
16.04に新規インストールの際、上記のバックアップとリストアで環境を移行しようとしたけど、リストアに失敗した。 コマンドで環境構築を楽に出来るかと踏んでたが、結局は何入れてたっけ?っていうののメモ書き程度にしかならない模様…。
スポンサーサイト



LinuxとIntensity ProでHD動画の視聴・録画

今回はIntensity proをLinuxで使うための備忘録を残す。
経緯としては、2011年の今頃に組んだPT2サーバが危篤疑惑になり、急遽BDレコーダーをメインに使う必要に迫られたので…。

下準備

Intensity proを買ってきて、パソコンに挿して、公式からドライバーを落として読み込むといういつもどおりの手順が必要。
挿せるパソコンについてはPCI-e入っていればx1でもx16でもOKなのでパーツ構成的な敷居は低い。
公式のドライバーはとりあえずここから最新のDesktop Videoを選べばいい。
名前とかいろいろ聞かれるけど、左下とか下の方にスクロールすると別に名前入れ無くてもダウンロード出来るのでビビらないこと。
ダウンロード後は以下のコマンドで解凍(Xubuntu 14.04 64bitでtmpディレクトリ下にダウンロードした場合)
tar xvf /tmp/Blackmagic_Desktop_Video_Linux_10.4.1.tar.gz
cd deb/amd64/
sudo dpkg -i desktopvideo_10.4.1a9_amd64.deb
sudo dpkg -i desktopvideo-gui_10.4.1a9_amd64.deb
sudo dpkg -i mediaexpress_3.4.1a2_amd64.deb 
ある日突然映らなくなったけど、調べたらドライバは定期的にアップしたほうがいいみたい…。

そして、gstreamerをインストールしておく。Intensity Proを動かすために必要なパッケージはgstreamer-plugins-badの中に入っている。badという名前ではあるが、質が悪いという意味ではなく、企業系のプロプライエタリ・ソフトウェアに対してはbadとかuglyとかつけるのがgstreamerの慣例であることに由来する模様。
ちなみに、0.10と1.0と無印の3種類あるが、今回はバージョン番号が一番大きい1.0を使用する。0.10と無印は同じものでffmpegベース、1.0はlibavベースであり、オプションが微妙に違う。

プレビュー表示

コマンドは以下の通り。(720p HDMI接続の場合)
gst-launch-1.0 decklinksrc connection=1 mode=17 audio-input=1 name=bmd \
bmd. ! videoconvert ! videoscale ! video/x-raw,height=540 ! queue ! xvimagesink sync=false \
bmd. ! audioconvert ! queue ! alsasink sync=false
プレビュー表示に関しては、モジュールが揃っていれば問題ないと思われる。
音量の大小については、pavucontrolコマンドとかで音量調整アプリで出来る。

録画

コマンドは以下の通り。(720p HDMI接続の場合)
#キャプチャ
gst-launch-1.0  decklinksrc connection=1 mode=17 audio-input=1 name=bmd \
bmd. ! videoconvert ! tee name=tv ! queue ! videoscale ! video/x-raw,height=360 ! deinterlace ! textoverlay text="●REC" valignment=top halignment=right color=0xFFFF0000 font-desc="40px" ! queue ! xvimagesink sync=false \
tv. ! queue ! videoconvert ! avenc_huffyuv ! queue ! avimux ! filesink location=/mnt/rd0disk0/video.avi \
bmd. ! audioconvert ! tee name=ta ! queue ! alsasink sync=false \
ta. ! queue ! audioconvert ! avimux ! filesink location=/mnt/rd0disk0/audio.avi

#エンコード
ffmpeg -i video.avi -libx264 -pix_fmt yuv420p video.mp4
ffmpeg -i audio.avi -libfaac audio.mp3
ffmpeg -i video.mp4 -i audio.mp3 -vcodec copy -acodec copy movie.mp4
録画は映像と音声を別口で取って、後で結合するのが一番確実。この辺はプレビュー表示と同じ要領。
このキャプチャコマンドではtee使ってプレビューしつつ、ファイルに落とすやり方をとっている。
目安として、このhuffyuvで録った動画データは30分で100GBくらい。いろいろ言われてるように録画専用のハードディスクをRAIDで用意するのが無難。
また、停止することを忘れないようにプレビュー画像にデカデカと文字出すようにしてる。

エンコードに関してはプリセットなり他のサイトなり参考にすればいいのでエンコードオプションについては、ここでは説明しない。
一応スマホで見れるようなもの作るとなると、とりあえず映像エンコードの際に"-pix_fmt yuv420p"というオプションをつけておかないとスマホでは見れない動画のままになる。

その他

HDMI対応キャプチャで公式にLinuxサポートしてて、会社も信頼性あるところなので、Linux使いならヘタなもの使うよりこれを選んでおくのが吉。
ただし、HDMIキャプチャする上で重要なHDCP解除はできないので、使う場合はごにょごにょする必要あり。

あと調べたら後継機であるIntensity pro 4Kなるものが今はあると聞く。
こちらは1080pはもちろん480pに対応しているという点は、ちょい古ハード(具体的にはPS2とかwiiとか)使うときに惹かれる要素だな。

参考サイト
https://gist.github.com/walkingeyerobot/7741362
http://d.hatena.ne.jp/t_tkms/20130730
http://d.hatena.ne.jp/naoina/20081219/1229694114
http://stackoverflow.com/questions/13364610/gstreamer-tee-multiple-multiplexer
http://d.hatena.ne.jp/fut_nis/20121106

Logitech Unifyingで無線キーボードとトラックボールをUbuntu上で使うことにした

Logitechの無線キーボードとトラックボールはUnifyingという独自規格のおかげで、アダプタ1つで複数のインターフェースを扱うことが出来る。
公式ではWindows、Macのみであるが、有志の人らによって、Linux上でも割といい感じに動かすプログラムが作られており、実際やってみたら出来たので、そのまとめを…。

インストール手順

基本的には参考サイトの通りにやればOK。
自分がやったことは以下の通り。(Xubuntu 14.04において)
  1. Solaarのリポジトリの追加
  2. $ sudo add-apt-repository ppa:daniel.pavel/solaar
  3. solaarとsolaar-gnome3をインストール
  4. 自分はsynapticからGUIインストールする派
  5. solaarの起動
  6. このとき、もしかしたらアダプタを認識してないかもしれないのでその時は再起動なり挿し直しなりすればいいと思う。

使い方

機械1つの時点ではsolaarを入れずとも普通に動作する。
自分はトラックボール M570t を最初に使っており、その後キーボード K800t を買い足す形であったため、トラックボールに関しては何も考えずとも使うことは可能。
solaarがあると電池残量わかるので、あったほうが便利だと思う。
後から来たキーボードはsolaarのGUI上でPair new deviceのボタンをクリックすれば認識してくれる。
インターフェースの個人的使用要点は以下の通り。
  • トラックボールの「進む/戻る」ボタンは基本使えない
  • Xの設定いじればいいんだろうけど、そこまでして使いたいわけじゃないので…
  • キーボードのFNキーの挙動制御に対応
  • Swap Fx function をオフにしておくと、F10とかを普通に使える。
    これをオンにするとFNキー押しながらじゃないとダメになる。
  • イルミネーションの感度のONOFFの制御に対応
  • Hand Derectionをオンにするとキーボードが光るようになる。

その他

そもそもスマホと共用できるという理由でBluetoothの無線キーボード TK-FBP037 を使っていた。こいつ自身キーピッチがそこそこ広いので、普段使いとしても大変よろしく小型トラックボールも付いているのでこれ1つでPCひと通り動かせる名機だと思ってるけど、すぐにトラックボール壊れちゃったのはいただけない(のちにバラして見たがそれでも改善の見込みなし…。それに生産終わって後継機もないっぽいし…。
一応、Bluetoothとの違いは以下の通り。
  • BIOSでも使える
  • 認識速度が早い
  • この辺はBluetoothの特性上仕方ないのだろう
  • ヘッドフォン他との共用が出来ない
  • 正直音切れ酷すぎて使い物にならないから別に…
肝心のキーボードとトラックボールに関しては、文句なしに快適。
あえて悪いところ言うなら、もう少し軽いほうが良かったくらいか。

参考サイト:
Solaar: Logitech Unifying を Linux で使う

ビデオキャプチャpca-dav3とLinux

うまく認識できないなあと長らく放置してたプリンストン製ビデオキャプチャpca-dav3だったのだが、調べてたらだいぶ前のUbuntu Magazineで動作確認取れたみたいなことがあったらしいのでちょっと試してみた。



こちらのOSはXubuntu 14.04 LTS。
まずpca-dav3を接続し、ハードが認識されてるか確認。
# dmesg
【USB 2861】的なものがあるのは確認できるけど、初期状態ではちゃんと認識できてない模様。

アナログテレビカードとかでもそうだけど、ドライバはLinux自身が内蔵してるので読ませるかをちゃんと指定すればいいと思う。


手順は以下の通り。

  1. udevでデバイスが接続されたことを検知するようにする
  2. modprobeでドライバの読み込み方法の指定

具体的にはこんな感じ。
  1. udevでデバイスが接続されたことを検知するようにする
  2. # vi /etc/udev/rules.d/99-pca-dav3.rules
    SUBSYSTEM=="usb", ATTRS{idVendor}=="117f",ATTRS{idProduct}=="5207", RUN+="/sbin/modprobe em28xx card=72"
    idVendorとidProductはdmesgで見たUSB 2861のメッセージがある付近のそれっぽいものに。
    em28xxはドライバがempiaの2861だからこんな名前になってると思われる。
    cardオプションは環境に応じて変わるかもしれない。(うちの環境では参考元と同じので行けた)
    先に述べたドライバをちゃんと指定というのは、このオプションの番号を動くものに指定することだと思う。

    1. modprobeでドライバの読み込み方法の指定
    # vi /etc/modprobe.d/em28xx.conf
    install em28xx /sbin/modprobe --ignore-install em28xx  card=72; /bin/echo "117f 5207" > /sys/bus/usb/drivers/em28xx/new_id
    こちらも同様にそれっぽい値を当てはめればOK。
    この2つのファイルを配置すれば、pca-dav3を挿すとビデオが映るようになる。
    ビデオを見るときはtvtimeを使ったりすればいい。

    まあこんな感じ。


    ビデオデッキと繋げばテレビやら録画やらみられるし、テレビゲームと繋げばゲームも可能。
    tvtimeならゲームも遅延なしでプレビューできる(ゲームキャプするなら分配器使わないとかな・・・)。
    普段使いのIntensity proと比べると、値段的にも労力的にもお手軽で、標準的なものしか使ってないから利便性もかなりよくて本気で移行を考えてしまう。
    ただサスペンド復帰後とかに音鳴らなくなるという問題があるのがちょっと気になる。やり方わからないけどpulseaudio再起動できれば解決しそうなんだけどなあ・・・。
    暫定的な対処法としては音だけ別口で取るのが手っ取り早いか。
    (2015/06/18追記)
    サスペンド復帰後に一度抜き差しするとリセットかかるっぽい。ただ、この製品の音声部分は謎が多すぎてちょっと怖い。
    あと、Intensity Proについてまとめたので、宣伝。→

    個人的にS端子のちょっとリッチになる感じは好き。

    参考リンク:
    ubuntu.asciimw.jp/elem/000/000/010/10533/UM09_P42-47.pdf
    csfactory.jp/blog/2012/10/02/ubuntu-%E3%81%A7-pca-dav3-%E3%82%92%E8%87%AA%E5%8B%95%E8%AA%8D%E8%AD%98/