2010年12月27日月曜日

Flashの確認画面

なんか Linux版の Adobe Flash でマイクを使ったチャットなんかをしようとすると、図のようなダイアログが出て、マウスでクリックできないし、TAB キーでフォーカスは移動するものの、Enter やspaceを押しても何もならないし、全然ダメ。

camera flash mic linux とかでぐぐったら、一応の回避策は発見。以下にアクセスして、サイト毎に許可の設定をすればダイアログはでなくなる。


http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager06.html

mplayer + webcam で写真撮影

gentoo で mplayer をインストールして webcam を見ようとしたら(-tv オプション)、
以下のエラー。
  MPlayer was compiled without TV interface support.

USE に v4l2 が必要な模様。/etc/portage/package.use に以下を追加して再コンパイル。

  media-video/mplayer v4l2

で、mplayer + webcam で動画を見ながら静止画撮影をしようと試み、いろいろ調べた
結果 fifo 経由で撮影できることがわかった。

まず、 FIFO ファイルを作成。
mkfifo tmp.fifo
そしたら、以下で mplayer 実行
mplayer tv:// -tv device=/dev/video0 -input file=tmp.fifo -vo xv -vf screenshot

で、この fifo に "screenshot 0" という文字列を送信。
echo "screenshot 0" > tmp.fifo

すると、カレントディレクトリに1枚の写真が出来上がる。上記の 0 の意味はいまいち
不明だが、別の数字にすると連続写真になってしまう。

以下を参考にした。
http://mydebian.blogdns.org/?p=120

2010年12月26日日曜日

2010年12月24日金曜日

Acer Camera on gentoo

うちの家族用リビングPC の Acer Aspire についていた webcamera が不要
になったので(MS製のカメラが懸賞で当たったので)、my Gentoo でこれを
動作させようとしているところ。

まぁふつーに USB ポートに挿してみたが自動認識せず。

で、このカメラ、機種名がどこにも書いてない。Windows で認識しているの
を見たが、「Acer Camera」という名前しかわからない。

とりあえず Web で調べたところ、以下に近いのでは、と勘ぐってみた

http://en.gentoo-wiki.com/wiki/Acer_Extensa_4620

emerge media-video/linux-uvc しろと書いてあるんだけど、これやると以下
のエラー。

  CONFIG_VIDEO_DEV: is not set when it should be.

ちょっと調べたところ、上記ドキュメントは古いらしく、UVC はすでに kernel
に取り込まれているらしい。

なので menuconfig で以下を選択して、現在 kernel モジュールコンパイル中。

[Device Drivers] [Multimedia Support] [Video For Linux]を M。他のところ
も片っ端からチェック。さらに [Device Drivers] [Multimedia Support]
[Video capture adapters] [V4L USB Devices] をチェック。やっぱりもう面倒
なので片っ端から他のやつもチェック。

さてどうなるか。

以下参考にした。
http://forums.gentoo.org/viewtopic-p-6163351.html
http://www.mail-archive.com/gentoo-user@lists.gentoo.org/msg100297.html

2010年12月23日木曜日

GASでOS自作入門- 一日目

家で眠っていた「OS自作入門」という本。デバイスまわりが苦手な私にとって
バイブルとなるはずだったのだが…
この本での開発環境が Windows + NASM ということから、モチベーションと
私の 3 日坊主という性格も手伝い、本棚にそのまま置き去りに。

しかし、長期休暇を利用して再度チャレンジと意気込み、同じことを GAS で
やってみようと思い立ち Web を検索していたら以下のページを発見。

http://d.hatena.ne.jp/big-eyed-hamster/

全く同じことをやっている方がいて、跡追いながら、この big-eyed-hamster
様をカナーリ参考にし、私のブログにその勉強メモを記しておこうと思います。

まず、そもそも NASM と GAS では命令が全く違うのでその対比を。

命令内容NASMGAS
1バイト書込DB.byte, 文字列の場合は .ascii?
2バイト書込DW.word
4バイト書込DD.int
指定バイト空けるRESB.skip, .org?

んで、出来上がった 01_day/helloos2/helloos.nas に相当するのが↓これ。
 # big-eyed-hamster さんと同じです。すみません。

  helloos.s

以下でアセンブル。なお、私の手元のマシンは amd64 なので一応 32bit オプション
付き。

 as --32 helloos.s -o helloos-32.img

そして、big-eyed-hamster さんの仰るとおり、これは ELF なので ELF のヘッダ
を切る。なお、ヘッダサイズはまんまですが readelf -h で確認済み。

 dd if=helloos-32.img of=helloos-32-noelf.img bs=1 count=52

ちなみに amd64 のバイナリでアセンブルした場合は ELF ヘッダは 64byteでした。

2010年12月22日水曜日

qemu を gentoo にインストール

qemu を入れる必要があり、なんの気なしに emerge qemu したらエラー。
gcc-3 じゃないとダメとのこと。gentoo-wiki に以下発見。

http://en.gentoo-wiki.com/wiki/QEmu

 emerge -av =sys-devel/gcc-3.4.6*
 gcc-config -l で一覧を見て、デフォルトコンパイラを 3.4.6 に設定
 emerge qemu

2010年12月19日日曜日

みなとみらい万葉倶楽部

何年ぶりかでみなとみらいの万葉倶楽部に来てます。
その中のネットコーナーからの書き込みです。妻と子供と楽しい時間を
過ごしてます。

2010年12月8日水曜日

exponential back-off

単なるメモ。
gdata 失敗したときは exponential back-off でリトライ。

2010年12月1日水曜日

gentoo で root パーティションを lvm に

gentoo インストール時に、lvm で作成したパーティションを root パーティションに
するのにちょっと手こずったのでメモ。

genkernel を実行するときは --lvm オプションを忘れずに。

kernel のブートオプションに dolvm を忘れずに(これは initrd 内の /sbin/init の中を
見てわかった)。あとは real_root=/dev/vg/lv

2010年11月30日火曜日

言われるとイラつくこと

「誰でも編集出来るように Word で」(゚Д゚)ハァ?
「誰でも開発できるように eclipse で」( ゚Д゚)ハァ?
「パワポでください」氏ね

2010年11月29日月曜日

terminfo とか stty

メインで使う OS を slack から gentoo に鞍替えしてる最中なんだけど、どうも mlterm
でバックスペースがうまくいかない。

stty -a 見ると erase = ^? なので、stty erase ^H に変更。

でも slack の時はこんなこと気にしなかったなぁと思いつつ、slack の /etc/termcap
と gentoo のを見比べてみようと思ったら、そもそもこのファイル自体がない。

いつまでも slack いじっていたから時代に乗り遅れたらしい。terminfo が今の標準の模
様。

 infocmp > /var/tmp/hoge.txt

などとして、このファイルを編集、んで tic -x /var/tmp/hoge.txt で terminfo の設定
ファイルが ~/.terminfo に作成されるらしい。この編集で何とか stty しないでバックス
ペースがまともに動かないか調査したが解が見つからない。

仕方ないので、.bash_profile に stty したが他に良い用法無いものか…


あと、gentoo の man が文字化けするので、LANG=C LANGUAGE=en_US で我慢していたが、
やっぱり日本語で見たいときもあるので、ちょっと調べた。

make.conf に以下追加。
 LINGUAS=ja

で、emerge groff
で、/etc/man.conf JNROFF を以下に設定。

 JNROFF          /usr/bin/groff -DeucJP -Tutf8 -mandoc

なんか改行がおかしいがまあよしとしよう。

2010年11月28日日曜日

Ctrl-Alt-Backspaceが

hald との兼ね合いで、Gentoo の xorg は、デフォルトで Ctrl-Alt-Backspaceが が効かないらしい。

以下にドキュメントあり。

http://www.gentoo.org/doc/en/xorg-config.xml

手順は以下。

1. cp /usr/share/hal/fdi/policy/10osvendor/10-x11-input.fdi /etc/hal/fdi/policy
2. 上記ファイルの input.keys のエントリ内に以下を追加。
<merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp</merge>
 
3. /etc/init.d/hald restart

2010年11月21日日曜日

emacs のビルド中に以下のエラー


configure:8165: error: Package libpng12 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libpng12.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libpng12', required by 'cairo', not found



以下に回避策発見。
http://forums.gentoo.org/viewtopic-p-6396532.htm

 /usr/sbin/libpng-1.4.x-update.sh 
 emerge -1 cairo 
 revdep-rebuild --library libpng12.so.0

ptetex gentoo portage にあるじゃん

emerge app-text/ptex dev-libs/ptexenc

ただし、mask されてるので以下必要。

o /etc/portage/package.keywords に dev-libs/ptexenc ~amd64 追加
o /etc/portage/package.unmask に app-text/ptex 追加

SlackからGentooに乗り換え中だけど、Slackより楽ちんかも。

gentoo のセットアップ

gentoo のアップデートをサボっていたので今日 emerge --update --ask world
でまとめてやったら glibc で下記のエラー。

 ERROR: sys-libs/glibc-2.11.2-r3 failed: make for x86 failed
 Call stack: ebuild.sh, line   54:  Called src_compile environment, line 3802:
 Called eblit-run 'src_compile'
   :
   :

make.conf の CFLAGS から -pipe を取り除いて回避。

あと、emerge www-plugins/adobe-flash したら以下のエラー。

!!! All ebuilds that could satisfy "www-plugins/adobe-flash" have been masked.
!!! One of the following masked packages is required to complete your request:
- www-plugins/adobe-flash-10.2.161.23_pre20100927 (masked by: AdobeFlash-10.1 license(s))
A copy of the 'AdobeFlash-10.1' license is located at '/usr/portage/licenses/AdobeFlash-10.1'.

- www-plugins/adobe-flash-10.1.102.64 (masked by: AdobeFlash-10.1 license(s))
- www-plugins/adobe-flash-9.0.289.0 (masked by: AdobeFlash-9.0.31.0 license(s))
A copy of the 'AdobeFlash-9.0.31.0' license is located at '/usr/portage/licenses/AdobeFlash-9.0.31.0'.
以下のように package.license にライセンスを登録してOK.

echo "www-plugins/adobe-flash AdobeFlash-10.1" >> /etc/portage/package.license

以下その他メモ

emerge --search 文字列 : パーケージ検索
emerge -p パッケージ名 : パッケージ確認
equery files パッケージ名 : インストールされたファイル一覧
equery belongs ファイル名 : rpm -qf に同じ

2010年11月18日木曜日

Apps のアカウントで Blogger ログインできた

タイトルのとおり、Google Apps のアカウントで Blogger ログイン
出来るようになりました。 なので、本日引っ越しました。

てす、てす、こちらは Apps アカウントの Blogger です。

2010年11月13日土曜日

やっちまった…

個人用のサーバで mod_proxy のテストしてて、そのままうっかりその設定残して
放置してしまい open proxy で公開しちゃってた…
妻からサーバへの http 接続が遅いという連絡を受け、 httpd のログ調査したら、
すごい数の CONNECT コマンド。。。しかも 200 で返してるよ。

おそらく2ヶ月くらい前からだと思われなんだが、ログが 1 ヶ月程度しか残って
ない。とりあえずは 1 ヶ月分のログは保存しておいたが…

2010年11月10日水曜日

ssh で特定のユーザに対して、パスワードログインを拒否したい but 公開鍵認証は OK
としたいとき、PAM 経由であれば pam_listfile を使えばいけるみたい。

以下の 1 行を /etc/pam.d/sshd の定義先頭に追加。

 auth       required     pam_listfile.so onerr=succeed item=user sense=deny file=/etc/pam.d/sshd-nopassusers.conf

/etc/pam.d/sshd_nopassuwers.conf  に、対象となるユーザ名をリストアップ。

情報元
http://lists.mindrot.org/pipermail/openssh-unix-dev/2004-October/021937.html

2010年11月2日火曜日

postfix の smtpd_recipient_restrictions

単なるメモです。

main.cf の smtpd_recipient_restrictions の check_client_access
なんかに以下のよな記述したファイルを指定すると、接続直後?
に sleep してくれるらしい。

 /<regex>/                                     sleep 65

/<regex>/ のところは、接続元サーバのホスト名の正規表現。

これで SPAM サーバは sleep 秒間にしびれを切らして接続断して
しまうらしい。

2010年10月12日火曜日

SOCKS 経由 git

Chromium OS のソースをゲットしようと昨日からいろいろやってんだけど,以下のエラーでなんだか先に進まない.

 fatal: failed to find delta-pack base object

Web をちょっと調べたら repo init するときに http でリポジトリにアクセスしてるのがダメみたいなことが書いてあって,git プロトコルでやれとのこと.

で,以下をトライ(http と微妙にパスが違うことに注意)

 $ repo init -u git://git.chromium.org/manifest -m minilayout.xml

しかし…会社からやってるんだけど git のポートは直接外に出られないことが判明.# 情シスイーカンゲンにしろって,まったくアホか.

なので,git で SOCKS 使えないか調査したところ, GIT_PROXY_COMMAND っていう環境変数でフィルタコマンドが設定できる模様.
となれば netcat でというところで同じことをやっている人発見.

Using GIT through a SOCKS proxy

http://twopenguins.org/tips/git-through-proxy.php

以下自分でやった手順.
  1. ssh の -D で手元に SOCKS proxy を作る(以下10011ポートで開けたことにする).相手は自宅の(ry.
  2. 以下の内容のスクリプト作成.以下これを gitsocks.sh とする.

     #!/bin/sh
     /usr/bin/nc -X 5 -x localhost:10011 $*
  3. $ GIT_PROXY_COMMAND=~/gitsocks.sh; export GIT_PROXY_COMMAND
  4. んで以下.

    repo init -u git://git.chromium.org/manifest -m minilayout.xml
    と,このままだと .repo/manifest.xml(->manifests/minilayout.xml)の中に http: がべた書きしてあるので,これを以下のように修正して全部 git プロトコル経由にしちゃう.


     --- minilayout.xml.orig    2010-10-12 14:01:49.000000000 +0900
     +++ minilayout.xml    2010-10-12 14:05:48.000000000 +0900
     @@ -1,7 +1,7 @@
      <?xml version="1.0" encoding="UTF-8"?>
      <manifest>
        <remote  name="cros"
     -           fetch="http://git.chromium.org/git"
     +           fetch="git://git.chromium.org"
                 review="codereview.chromium.org" />
        <default revision="refs/heads/master"
                 remote="cros" />

    んで repo sync すると… さぁうまくいくかな.

    2010年10月11日月曜日

    Chrome OS 自分のためのメモ

    Chrome OS インストール中.以下自分のためのメモ.後でまとめる予定.

    • repo のインストール
      私の slack ちゃんには git は既に入ってるので,repo だけとりあえずインストール.

      # wget http://android.git.kernel.org/repo -O /usr/local/bin/repo
      # chmod +x /usr/local/bin/repo
    • ソースゲット

      $ git config --global user.email "ryo@example.com"
      $ git config --global user.name "Ryo DESUYO"
      $ cd ~
      $ repo init -u http://git.chromium.org/git/manifest -m minilayout.xml
      $ repo sync

      これが長い…  1 時間は待ってるがまだ.ひとまずこれにて.

    りょうのぺえじを引越ししてみました

    この Blogger が Google Apps のアカウントで利用できるっていうので,りょうのぺえじ から引越ししてみました.

    が,いろいろやってみてるんだけど,出来ない…

    以下の情報では,Google Accounts を Google Apps に移行(transit)できるってこと書いてあって,それが Google Apps の Standard では 2010/9 から使えるってさ.

    http://www.google.com/support/a/bin/answer.py?answer=181873

    具体的なやり方は以下にあるんだけど,コンパネに[Your Google Apps account is changing] なんてバナーないじゃんか.

    Begin the transition
    http://www.google.com/support/a/bin/answer.py?hlrm=jp&answer=183605

    以下を見るとまだなのかな?
    http://www.google.com/support/forum/p/Google+Apps/thread?tid=546590243c810938&hl=en

    もうちょっと調べてみることにする.