投稿

12月, 2013の投稿を表示しています

English digest of the my blog posts 2013 oct to aug

イメージ
I writen blog to software topics. Main theme is ubuntu and other.
Write japanese.
This page is English digest.
2013/10~8


Build Wine32bit Ubuntu12.04 i386, WINE 1.7.8 32bit.

Tips build append procedule on Ubuntu 13.10.
Edit change to package manager setting text file.
sudo vi /etc/apt/sources.list.d/ubuntu-wine-ppa-saucy.list
in
"# deb-src http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu saucy main"
remove "#".

and other tips.


Installing gstreamer-sdk and voice transfer ssh tunnel (gstreamer-sdkの導入および、SSHによる音声の転送)



Build libssh2 In Ubuntu 13.04


Portable OpenCV develop environment (USBメモリで持ち運べるOpenCV開発環境)

Release envidronment directory archives it in github.
Download is OpenCV version 2.2 and 2.4.6.

OpenCV simple develop directory and sctipts in one directory.
Compatible Windows and Linux (Ubuntu).
Relative path to OpenCV library and MinGW compiler. (Windows)

Installing many OpenCV cause dll hell.
This is avoid dependent machine, environment.




Note PC modding on the du…

English digest of the my blog posts 2013 dec to oct

イメージ
I writen blog to software topics. Main theme is ubuntu and other.
Write japanese.
This page is English digest.
2013/12~10

POST from the fancyBox Form  and Sample source.



Ubuntu setting Suspend shortcut key Release auto setting script. it in github. in add_shortcut.sh.



Ubuntu snap to impossible capture screen shots (configure timer shot) Release auto setting script. it in github.in add_shortcut.sh.
Impossible screen shots is :
Canceling PrintScreen key apps. (example: calender widget)
Disappear window view because of send keys. (example: Menu bar).



Ubuntu version shift 13.10 to 12.04 I shift to Ubuntu older version.
Failure to can't move user data.
Use of the package for newer Ubuntu.( not better technique)

This is danger technique. Example :  Ubuntu is broken.
Target package or there dependencies (search to depend package to use synaptic package manager).
Ubuntu packages page( or google search)
Keyword [ package_name ubuntu_version Ubuntu packages ] etc.
Download and install to .deb p…

PCハードウェアを更新

イメージ
PCハードウェアを更新しました。





そもそもは64bit環境環境でWINEのビルドがしたかっただけなのですが、システムの調子が悪くなってしまったため、思い切ってハードウェアを更新しました。
消費電力は下がると思われますが、前回の構成から0.1Ghz クロックが落ちます。



新規購入したのは以下のパーツです

CPU:
AMD  A8 6500
  Quad Code 3.5GHz (Turbo 4.1GHz)
マザーボード:
ASRock FM2A85X Extreme4
  MiniATX, DDR3 x4スロット, SATA6.0G, CrossFire/HDMI/USB3.0
電源:
玄人志向 KRPW-PT850W/92+
  80 PLUS : PLATINUM 認証

Ubuntu12.04 およびUbuntu13.10 にて、すべて問題なく動作しています。

2013年12月にUbuntu12.04をインストールした雑記(PPAの追加ほか)
にて言及しましたが、デュアルディスプレイにした際に、メインウィンドウがDVIではなくD-sub15ピン側になるのは、きっとそれをデフォルトにする何らかの理由があるのでしょう。

fancyBoxで装飾したフォームからPOSTを送信する

イメージ
fancyBoxを使えば、ポップアップするコメント入力ダイアログなどを作ることができます。




ユーザからの入力を受け取るには、POSTメッセージを使用します。
POSTメッセージの受信にはPHPが必要なので、サンプルはphpコードです。
phpを動作させるには、Webサーバ上に配置して、ブラウザからアクセスする必要があります。
当然ながら、本サンプルもWebサーバ上で使用する必要があります。

Ubuntu環境でapache2およびphpを導入するには以下のコマンドを実行します。
$ sudo apt-get install libapache2-mod-php5 -y


サンプル
サンプルを配置するディレクトリはWebサーバの公開ディレクトリ内であればどこでも構いません。
ただし、fancyBoxのディレクトリと相対パスが合っている必要があります。
(またはサンプル側のパスを修正する)
もし、下記のディレクトリ構成で配置するならば、
http://localhost/fancyBox/demo/formpost.php
にてブラウザからサンプルにアクセスすることができるはずです。

ディレクトリ構成/var/www/
        fancyBox/
                demo/
formpost.php

本サンプルは、fancyBoxに付属しているデモページが指定している相対パスをそのまま使っています。


コード<!DOCTYPE html>
<html>
<head>
<title>fancyBox inline form POST</title>
<meta http-equiv="Content-Type"content="text/html; charset=UTF-8" />

<!-- Add jQuery library -->
<script type="text/javascript"src="../lib/jquery-1.10.2.min.js"></script>
<!-- Add fancyBox main JS and CSS files -->…

はじめてCodeMirrorを動かした際の手順とサンプルのソース

イメージ
Webページ上で使用できるテキストエディタが欲しくなったので、既存のものを探したところ、CodeMirrorが良さそうだったので、まずは導入までの手順を確認しました。

(ただしbloggerに導入する方法はまた別の話なので、下のコードサンプルはWeb上にあるSSSHで変換したものです。)





プロジェクトディレクトリを作成 プロジェクトディレクトリ的なものを作り、シンプルな index.html を作成しておきます。

CodeMirrorはHTML, CSS, JavaScriptしか使用しないので、apacheなどのWebサーバがなくても、index.html ほか必要なファイルを格納したディレクトリがあれば、CodeMirrorを試すことができます。
今回はUbuntu12.04上でapache2を使用している前提で説明を行います。そうでない方は適切にディレクトリパスを読み替えてください。

管理者権限が必要ですが、以降、適切なパーミッションを設定して作業してください。
$ mkdir -p /var/www/prj/
$ cd /var/www/prj/
$ vim /var/www/prj/index.html

CodeMirrorを入手 CodeMirrorを導入します。
公式サイトから圧縮ファイルを取得しても良いのですが、今回はGitを使いました。
プロジェクトディレクトリに入った状態で git clone します。
$ git clone https://github.com/marijnh/CodeMirror.git

本番サイトでは、必要な最低限の lib, mod, css ファイルだけを置くべきなのですが、今回は公開するのではなく導入して動作確認するだけなので、すべて入ったリポジトリをページのディレクトリ直下に置いてしまいます。

CodeMirrorサンプルの確認 CodeMirroのソースには、多くのサンプルページが付属しています。今回はHTML5をオートコンプリートするサンプルを参考にしました。
でもページのファイルは「 CodeMirror/demo/html5complete.html 」です。
デモは公式のデモページ、またはオフラインでも見ることができます。
(該当サンプルはHTML5を対象としているので、JavaScriptとcssも効果…

サスペンドをショートカットに追加する(Ubuntu12.04)

イメージ
PCが起動するのを待ちたくないので、いつもシャットダウンではなくサスペンドを使用しています。
Ubuntuにはサスペンド機能のショートカットや設定項目が存在しません。そこで、サスペンドを行うキーボードショートカットを Ubuntu に追加する設定をしました。

追記:Githubにてサスペンドのショートカットを簡単に追加できる bashスクリプトを公開しました。

サスペンドを行うためのコマンドを探し、それをキーボードショートカットに登録します。
環境は Ubuntu 12.04 です。

コマンドによるサスペンド サスペンドのコマンドはこちらから。すぐに見つかります。
下記コマンドでサスペンド可能であることを確かめてください。
(注意:成功すればサスペンドします。失敗するとシステムが停止することもあり、再起動しなければならなくなるので注意してください。)
dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend

コメントによると、「pmiコマンドのソースを覗いたらこうやっていたよ」ということのようです。将来この方法が使えなくなった際に困らないよう、素直にpmiコマンドを導入しておいたほうが良いかもしれません。
とはいえ、上記コマンドを使用する今回の方法では、下記のインストールは不要です。
sudo apt-get install powermanagement-interface

また、検索によく引っかかる「 apt-get install hal 」も、Ubuntu 12.04環境では不要かと思われます。
すくなくとも私の環境では不要だったのですが、ハードウェア環境によっては必要になるのかもしれません。

当然ながら、通常操作によるサスペンドに失敗するハードウェア環境では、コマンドによるサスペンドも上手く行きません。事前に確認してください。


キーボードショートカットへの登録 コマンドライン上で gconftool-2 を使用して、ショートカットキーを設定します。
システムのキーボードからショートカットを追加してもよいのですが、今回はコマンドラインにて作業を行います。

以下…

PrintScreenキーでは撮れないスクリーンショットを撮る(Ubuntu12.04でコマンドによるタイマー撮影)

イメージ
追記:Githubにて「スクリーンショットのタイマー撮影」ショートカットを簡単に追加できる bashスクリプトを公開しました。

通常、スクリーンショットを撮りたければPrintScreenキーを押すだけで十分です。

しかし、UnityのDash、メニューバーを展開した状態、Webページのドロップダウンリスト、ポップアップメッセージなどを撮りたい場合、PrintSceenキーではこれらのスクリーンショットを取得することができません。

具体例としては、PrintScreenキーでは、上に載せたようなカレンダーウィジェットのスクリーンショットを撮ることができないと思います。試してみてください。



スクリーンショットが撮れない状態では、PrintScreenキーを押しても無視されます。
あるいはPrintScreenキーを押す操作によってキャプチャしたい操作状態がキャンセルされてしまい、スクリーンショットを撮ることができない場合もあります。

コマンドによるタイマー撮影 以下のコマンドを使えば操作中のスクリーンショットを簡単に取得することができます。
$ sleep 5 ; gnome-screenshot


カメラの「タイマー」相当の機能を、コマンドによって実現しています。
このコマンドを実行すると、5秒後にスクリーンショット撮影のエフェクトが発生し、デスクトップにスクリーンショット画像が作成されているはずです。
この方法ならばさらに、両手が必要でスクリーンショットを撮ることができない操作であっても、PrintScreenキーを押せない状態でスクリーンショットを撮ることができます。




コマンドラインから実行できるスクリーンキャプチャには、他にも、
import xwd scrot shutter
などがありますが、「http://d.hatena.ne.jp/ohnishiakira/20110120/1295536656」にて紹介されているように、import, xwdには「ウィンドウの透過がスクリーンショットに反映されず、綺麗なスクリーンショットが撮れない」という問題が起こります。
また、 scrot や Shutter は使用する前にインストールしておく必要があります。

gnome-screenshot はUbuntuにデフォルトでインストールされているため、ソフトウェア…

2013年12月にUbuntu12.04をインストールした雑記(PPAの追加ほか)

イメージ
Ubuntu12.04.3は最新の長期サポートバージョンであり、「いまさら」というのもおかしい話ではあるのですが。
Ubuntu13.10から環境を移行することにしました。




13.10を導入して使っていたのですが、USBスタートアップディスクの作成やKDEサウンドデーモンが落ちるのは単に不便と思うだけですが、Geditが落ちるとか何かおかしいとしか思えません。
(あと、VirtualBox4.3.4のゲストでWINEのコンパイルをかけていたらゲストやホストが落ちたのも理由のひとつです。こちらはソフトウェアではなく電源がヘタっていたのが原因だったのですが。最新のVirutalBoxを無理やり導入したり、HDDの調子も悪かったため、原因がわかるまでに時間がかかってしまいました。)


本記事はPPAリポジトリの導入リストがメインです。
PPAで解決しなかった問題をfixした防備録でもあるため、そちらは参考になるかと。(あまり参考にすべきでない強引な方法ですが。)

ロングサポートとはいえ(というかそれゆえに)、12.04LTSは一部のパッケージ(具体例としては、Mozillaスイートとchromium-browser)を除いて、アプリケーションがもう1年半も前のバージョンです。
デスクトップとして使用するには、PPAの導入が現実的かと思います。
たぶんLTSをデスクトップで使用するユーザは、多かれ少なかれ、PPAリポジトリを導入しているものと思います。
PPAの導入は便利ですが、システムの故障や侵入を含めて自己責任とのことですので、そのあたりはご留意ください。


ダイジェスト:
・Liferea RSSビューワ
・revelation パスワードマネージャ
Ubuntu13.10で使っていた設定ファイルが、Ubuntu12.04で引き継げない問題

・アーカイブマネージャ
Ubuntuで圧縮した大きめのzipファイル(圧縮後2GB程度)が、Windowsで解凍できない問題

・Squidプロキシサーバ
 原因究明中。

ハードウェア周辺、またはOSの通常セットアップ インストールできるのか
AMDのA10メインなので少し心配だったのですが、まったく問題ありませんでした。カーネルのバックポートなどもあるのかもしれません

mdadm lvm2については心配しておりません。
...大…

Ubuntu12.04によるHDDチェック、RAIDの解除

イメージ
自宅のメイン機に発生した障害の原因がHDDの故障であることが判明し、RAID0アレイを解除することになりました。
その際の記録です。



Ubuntu環境におけるHDDチェック LinuxでHDDのチェックを検索すると、出てくるのはfsckの使い方ばかりです。
しかしfsckはあくまでパーティション管理ツールであり、HDDそのものをセクタチェックしたい場合には役に立ちません。

UbuntuにはHDDのチェック機能を持った「ディスクユーティリティ」が標準でインストールされています。



情報を見たいHDDの「SMARTデータ(A)」をクリックすると、別ウィンドウが立ち上がり、HDDのSMART情報を閲覧することができます。
このウィンドウからディスク状態を知ることができ、チェックディスク(実態はよくわかりませんが)を実行することもできます。
(「SMARTデータ(A)」から「セルフテストを実行(S)」の「詳細(およそ数十分)(E)」を実行する。)

サーバを使用している場合や、Ubuntu以外のディストリビューションを使っていて同アプリケーションが使えない場合は、CUIでSMART情報を取得したり、SMART命令を発行できる smartctl コマンドを駆使することになるかと思います。

メイン機に発生した障害は、コンパイル中にマシンがパニックするというもので、最初はCPUを疑っていました。
ところが、ディスクユーティリティを見るとHDDのうちの一台が大きなエラー値を示しており、チェックディスクをかけたところ、席を立った短い間にUbuntuが再起動していました。
ほぼ犯人決定で良いと思います。


RAID0アレイを解除する RAIDアレイの特定 RAIDシステムには、LinuxのmdadmによるソフトウェアRAIDを使用しています。これからそのRAID0アレイを解除していきます。

まず、対象のRAIDアレイを特定します。
私のマシンにはRAID0アレイとRAID1アレイが存在しているため、消すアレイを間違えると大変なことになります。

とりあえずお約束的なコマンドで、RAIDアレイの存在を確認。
$ sudo mdadm --detail --scan
ARRAY /dev/md/0 metadata=1.2 name=my-machine:0 UUID=xxxxxxxx:xxxx…

Ubuntu12.04 32bit環境でWINEをビルドする手順(WINE 1.7)

イメージ
とりあえずUbuntu12.04の32bit環境にて、32bit版WINEのビルドに成功したので、手順ほかを途中経過として記事にまとめたものを公開しておきます。
64bit版の手順が構築できたら、そちらをあらためて公開する予定です。
(2014/01追記:64bit  Ubuntu環境で32bit Wineをビルドする手順の記事を書きました)

64bit環境にて32/64bit混合版WINEをビルドできるはずなのですが、そちらはインストールの段階でエラーを吐いて失敗しています。原因はたぶんライブラリ不足です。


以下、32bit版WINEのビルド手順。
64bit版の草稿を含む。



イントロダクション Ubuntu12.04および13.10にて、GitリポジトリのWINE最新版をビルドする手順を確認しました。
不具合報告やその修正確認以外にも、単純に最新版を試したい気分の時に、必要になることもあるかと思われます。

今回はWINEをビルドするため仮想マシン上にクリーンな環境を用意しました。最低限、競合するWINEのパッケージは削除しておきましょう。


公式WIKIに書かれたビルド手順は、いくつも存在し、各ページごとに異なっています。
参考にしたものを、以下に一覧にしました。

ビルドガイド(Installing Wine from source)
見ればわかるとおり、WINEのビルドに特別な工程は特にありません。
とはいえ、このページは書いてあることが少なすぎるので、実作業の際にはあまり参考にはなりません。そこで、以下のページの記述を参考にします。

WineOn64bit(Building 32-bit Wine on a 64-bit (x86-64) system)
64bitホスト環境でのWINE32bitのビルド方法、特にlxcコンテナ内におけるwine32のビルド手順について解説しています。

BuildingBiarchWineOnUbuntu(Building Biarch (Shared WoW64) Wine On Ubuntu)
Ubutnu環境でlxcコンテナを使用して、WINE32およびWINE64のビルドと、組み合わせての導入手順についてまでを解説しています。
(2013/11時点で、lxc環境で必要な手順が説明から抜けています。WineOn64bitに…