新しいコンテンツ「オンラインツール」を追加しました。
「オンラインツール」という言葉の定義は結構曖昧だと思いますが、 ここでは『 Web サーバを使って Web ブラウザに何かを返すモノ』という感じで使用しています。
かなり今更感のあるコンテンツではありますが 「あ、ちょっと便利」 と思えるようなものを作っていきたいと思います。
前回、画面に三角形を表示しましたが 背景を透明にする方法を教えてもらったので 改造してみます。
↓前回の三角形。
またダウンロードからやるので 今回の作業だけで 三角形を表示して、背景を透明にします。
まず、ダウンロードして実行。
pi@raspberrypi ~ $ cd /tmp/ pi@raspberrypi /tmp $ wget http://www.mztn.org/rpi/triangle03.tar.gz pi@raspberrypi /tmp $ tar xzf triangle03.tar.gz pi@raspberrypi /tmp $ cd triangle03/ pi@raspberrypi /tmp/triangle03 $ ./triangle
これだけで、画面に三角形が回ります。
ソースファイルを変更します。
pi@raspberrypi /tmp/triangle03 $ vi triangle.c
まず、アルファ値を可変にするために次の箇所を変更します。
// 139 行目をコメントアウトします VC_DISPMANX_ALPHA_T alpha = {DISPMANX_FLAGS_ALPHA_FIXED_ALL_PIXELS, 255, 0}; ↓ //VC_DISPMANX_ALPHA_T alpha = {DISPMANX_FLAGS_ALPHA_FIXED_ALL_PIXELS, 255, 0}; // 152〜153 行目の &alpha を 0 に変更します dispman_element = vc_dispmanx_element_add(dispman_update, dispman_display, 0, &dst_rect, 0, &src_rect, DISPMANX_PROTECTION_NONE, &alpha, 0, 0); ↓ dispman_element = vc_dispmanx_element_add(dispman_update, dispman_display, 0, &dst_rect, 0, &src_rect, DISPMANX_PROTECTION_NONE, 0, 0, 0);
背景の設定箇所を変更します。
// 508 行目の関数 glClearColor の第 4 引数を 0.0f に変更します。 glClearColor(0.4f, 0.2f, 0.0f, 1.0f); ↓ glClearColor(0.4f, 0.2f, 0.0f, 0.0f);
第 4 引数がアルファ値で 0 にするほど透明になります。
変更したソースをコンパイルします。 コンパイル用のコマンドも同梱されているので 次のようにコマンドを実行するだけです。
pi@raspberrypi /tmp/triangle03 $ ./build
プログラムを実行します。
pi@raspberrypi /tmp/triangle03 $ ./triangle
コンソールの画面の上に重なって三角形が回ります。
カッコいいですね。
11/10 大阪で開催された『LPIC レベル3 303 Security 技術解説無料セミナー』で tripwire が解説されていたので、 せっかくなので Raspberry Pi に入れてみます。
tripwire は、ファイル改竄などを検出するためのツールです。
ある時点のファイルの状態をデータベースに保存しておいて 現時点の状態と比較することができます。
tripwire の設定ファイルやデータベース自体が改ざんされないように 認証用のキーを作成する必要があるのですが 最近は、インストールの流れで作成することができます。
apt-get します。
$ sudo apt-get update $ sudo apt-get install tripwire
途中、サイトキーを作成するためのパスフレーズを求められます。
サイトキーは、設定ファイルを改ざんされないためのキーです。
ローカルキーを作成するためのパスフレーズを求められます。
ローカルキーは、データベースを改ざんされないために使用するキーです。
インストールが終了したら、データベースを初期化します。 これによって、「この時点」のファイルの情報をデータベースに保存します。
$ sudo tripwire --init
Please enter your local passphrase:
ローカルキーのパスフレーズが求められます。
データベースに保存した情報と、「現時点」のファイルの情報を 比較するには "--check" オプションを使用します。
$ sudo tripwire --check
レポートが表示されます。
レポートを再度表示するには、比較時に生成された twr ファイルを読み込みます。
$ cd /var/lib/tripwire/report $ sudo twprint --print-report --twrfile raspberrypi-20121115-211440.twr
「比較した時点」のファイルの情報でデータベースを更新するには、 比較時に生成された twr ファイルを使って以下のようにコマンドを実行します。
$ cd /var/lib/tripwire/report $ sudo tripwire --update -a --twrfile raspberrypi-20121115-211440.twr Please enter your local passphrase:
データベースの更新なのでやはりローカルキーのパスフレーズが求められます。
Raspberry Pi で何か変わったことがしたいのですが、 下のサイトによると Raspberry Pi は、OpenGL ES2 をするのに適している環境らしいです。
[参考サイト]
Raspberry Pi メモ (7) OpenGL ES2(1) - Jun's homepage
サンプルを試してみます。
ダウンロードして解凍します。 サンプルは HDMI で接続した画面に表示されますが、操作は SSH で接続したコンソールからできます。
pi@raspberrypi ~ $ cd /tmp/ pi@raspberrypi /tmp $ wget http://www.mztn.org/rpi/triangle03.tar.gz pi@raspberrypi /tmp $ tar xzf triangle03.tar.gz
実行します。
pi@raspberrypi /tmp $ cd triangle03/ pi@raspberrypi /tmp/triangle03 $ ./triangle
これだけで HDMI で接続した画面に三角形が回ります。
なんかすごいですね。
Windows で MongoDB をサービスとしてインストールする場合 デフォルトでは RECT は無効になっています。
C:\> mongod --install ^
--logpath E:\MongoDB\log\log.txt ^
--dbpath E:\MongoDB\data
RECT を有効にするには、"--rect" オプションを指定します。
C:\> mongod --install ^ --logpath E:\MongoDB\log\log.txt ^ --dbpath E:\MongoDB\data ^ --rect
すでにインストール済みの場合は "--install" オプションを "--reinstall" に変えて実行します。
これで RECT が有効になります。
サービスの「実行ファイルへのパス」にオプションが追加されます。
前回の「準備中」から間が開いてしまいましたが、今回は Raspberry Pi (ラズベリーパイ) に OS を入れて起動します。
Raspbian という Debian ベースの Linux を Raspberry Pi 用に最適化したものがあるので、それを使用します。
Raspbian をダウンロードして SD カードに書き込んでいくのですが、手順は下のサイトが参考になります。
[参考サイト]
Raspberry Pi メモ (14) - Jun's homepage
「最初の起動時に表示される設定画面」で expand_rootfs を選択したところ 再起動後の拡張で結構 (10 分くらい?) 待たされました。
あと、最初は、overscan を有効にしていなかったので 出力が TV の画面よりも大きくなってしまい、 ログインプロンプトが画面の端で切れてしまっていました。
ラズベリーのマークも半分見切れてしまいました。
overscan を有効にしたら全部表示されるようになりました。
ちなみに うちの TV の場合、overscan の有効・無効で解像度が次のようになっていました。
状態 | 解像度 |
---|---|
overscan 有効 | 1184x624 |
overscan 無効 | 1280x720 |
HDMI 未接続 | 656x416 |
WindowsXP 環境に MongoDB 2.2.1 を入れようとしたら エラーになったメモです。
mongodb-win32-i386-2.2.1.zip をダウンロードして
mongod.exe を実行したところ
『プロシージャ エントリ ポイント InterlockedCompareExchange64 がダイナミック リンク ライブラリ KERNEL32.dll から見つかりませんでした。』
という
エラーメッセージが出ました。
[参考サイト]
marunouchi-mongodb/20120926/syokenz at master ・ syokenz/marunouchi-mongodb ・ GitHub
上記サイトによると、2.2.0 で WindowsXP のサポートは終了したそうです。
MongoDB 2.0.7 を入れたら動きました。