H97 mother で ubuntu 12.04 を構築するときの TIPS

ASUS の H97-PRO という mother board に Ubuntu 12.04 を構築した時に遭遇した問題
http://www.asus.com/jp/Motherboards/H97PRO/

  • NIC を認識しない。

http://serendipity3.hatenadiary.jp/entry/2014/01/24/024530
のページの通り driver compile して modprobe してやればよい。ただこれだと kernel 新しくする度に modprobe する必要がある。14.04 に移行するのが最も正しい幸せになる方法だと思われる。

  • メディア再生の音がおかしい

youtube の再生とかの音が割れて聞こえる。

http://faq.aslab.com/index.php?action=artikel%26cat=35%26id=223%26artlang=en
ページの通り。って書こうとしたらこのページの中身表示されなくなってる。

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1321421
に書いてあるように、
echo "options snd-hda-intel vid=8086 pid=8ca0 snoop=0" | sudo tee /etc/modprobe.d/fix-sound-intel97.conf
を実行すればよいはず。

DG33BUでubuntuのboot USBが”boot error”になるときの対処法

Ubuntu 12.04 LTS, 14.04 LTS で観測したのでメモ。

Ubuntu の installer の入った USB で boot すると "boot error" と出て
止まってしまう問題に遭遇したが、以下の設定をすればいける。

BIOS setup menu の Boot > USB Mass Storage Emulation Type > All fixed Disc
を設定すればよい。default は auto になっている模様。

RBK-200BT3をnexus7(2012)で問題なく使えるようにする為の tips

やりたいこと

android に US配列でキーボードを認識させる
Ctrl, CapsLock キーの入れ替え

手順

Google 日本語入力
設定画面から "ハードウェアキーボードの設定" を "システム配列" に変更する。

Tweaked Keyboard Layout
"US配列( caps->ctrl/ctrl->menu )" を選択。CapsLock が居なくなるけど、気にしない!。

VX ConnectBot
全体の設定の "Custom Keymap" を "Full hardware keyboard" にする。これをやらないと Ctrl キーが何者か(IME?)に奪われる。やっても Ctrl 押すたびにカーソルが ">" になるが、無害なので放置。

"ESC" キー問題

"ESC" キーが小さい丸型ボタンで、押しにくいのを見逃していたのだが vimmer としては困るので、解決策を考えてみた。

ESC が本来あるべきところにある bluetooth キーを ESC と swap してしまうのが一番正しい解決方法な感じがするけど、このキーは ~,` キーも兼ねていて押しづらくなるのも困るので却下

  • Ctrl-[ に慣れる。

これは個人的にハードルが高い。

  • Ctrl-C を使う。

http://vimdoc.sourceforge.net/htmldoc/insert.html#i_CTRL-C
ESC と Ctrl-C は厳密には違うが、
http://d.hatena.ne.jp/yuta84q/20101216/1292508997
によれば map すれば良いらしいのでしばらくこれでやってみよう。

Perl の RFC6555 の実装を書いてみた

RFC6555 - Happy Eyeballs

という割と最近 RFC になった ipv6 fallback 問題を解決する手法があるので Perl で実装してみた。
https://github.com/masanorih/p5-IO-Socket-Happpy-EyeBalls

RFC6555 自体実装方法がいくつかあって、その内 Google ChromeMozilla Firefox が使っているという方法と同じ(と理解している)方法で実装しています。すなわち、

  • ipv6 アドレスがあれば優先的にそれに接続する
  • 300ms 待ってその間に接続されれば、その socket を返す
  • 上記がタイムアウトした場合 ipv6 の接続は close し ipv4 での接続を試みる

という動作をします。二つ同時に SYN packet を投げたりはしないです。

実験的に作ったものなので色々問題があって

  • 名前空間。個別の module ではなく IO::Socket::IP の option パラメータとかで十分な気がする
  • sockopt とか全然使ってない
  • AnyEvent とか使ったほうが ipv6 connect が早くなる。多分

ipv6 環境を持ってる人がまだ少ないので試せる人あまりいないと思いますが、近々 World IPv6 Launch とかあるので、その時にでも試してみると良いかも。

Ubuntu-10.04 LTS の compiz 復旧

先週 ubuntu を update したら compiz が動かなくなった。その時は忙しかったので compiz off でしばらく放置してたんだけど、ちょっと頑張って解決してみた。

調べてみると compiz-check という tool があるので現状を確かめてみることに

% wget http://blogage.de/files/70708/download -O compiz-check
% chmod +x compiz-check
% ./compiz-check

Gathering information about your system...

 Distribution:          Ubuntu 10.04
 Desktop environment:   GNOME
 Graphics chip:         Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03)
 Driver in use:         intel
 Rendering method:      None

Checking if it's possible to run Compiz on your system... [SKIP]
Checking for hardware/setup problems... [SKIP]

この出力の意味(Rendering method: None の辺り)を探っていると、同じような人を発見した。
http://ubuntuforums.org/showthread.php?t=825720
Xorg.0.log の出力も同じようだ。僕は nvidia の入っていないマシンで間違えて nvidia driver を install することがよくあるので

% sudo apt-get remove 'nvidia-*'

して、再度 ./compiz-check してみた。

Gathering information about your system...

 Distribution:          Ubuntu 10.04
 Desktop environment:   GNOME
 Graphics chip:         Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03)
 Driver in use:         intel
 Rendering method:      AIGLX

Checking if it's possible to run Compiz on your system...

 Checking for texture_from_pixmap...               [SKIP]
 Checking for non power of two support...          [SKIP]
 Checking for composite extension...               [ OK ]
 Checking for FBConfig...                          [SKIP]
 Checking for hardware/setup problems...           [SKIP]

At least one check had to be skipped:
 Error: glxinfo not installed

Would you like to know more? (Y/n) y

 The program glxinfo is needed to perform a number of crucial tests.

 You need to install the package mesa-utils
 Type e.g. sudo apt-get install mesa-utils to install it.

mesa-utils を install して再チャレンジ

% sudo apt-get install mesa-utils
% ./compiz-check

Gathering information about your system...

 Distribution:          Ubuntu 10.04
 Desktop environment:   GNOME
 Graphics chip:         Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03)
 Driver in use:         intel
 Rendering method:      AIGLX

Checking if it's possible to run Compiz on your system...

 Checking for texture_from_pixmap...               [ OK ]
 Checking for non power of two support...          [ OK ]
 Checking for composite extension...               [ OK ]
 Checking for FBConfig...                          [ OK ]
 Checking for hardware/setup problems...           [ OK ]

全部オッケーになった。外観の設定で compiz を有効にしてみる。.....無事出来た。

元々 nvidia の driver は入れてなくて、compiz 使えなくなったときに間違えて install したはずなので、mesa-utils がなかったのが問題だったのかな?ではなぜある日突然使えなくなったのか、とか納得感が足りないが、動くようになったのでよしとするか...。

ubuntu-10-10 で grub re-install

ubuntu のあとに windows をセットアップしたりして MBR を書き換えられてしまった時の修復手順。

まず、livecd(installcd)で "try ubuntu" を選択。

desktop が起動したら、ubuntu の disk 領域を mount する。

% sudo mount /dev/sda? /mnt
# sda? はディスク・ユーテリティで確認可能

次に、device ファイルを mnt の先に mount しておく

% sudo mount -o bind /dev /mnt/dev
% sudo mount -o bind /proc /mnt/proc

chroot して grub-install

% sudo chroot /mnt
% sudo /usr/sbin/grub-install /dev/sda

再起動、で完了。簡単

ubuntu-10-10 での ulimit -n の値の変え方

ubuntu-10-10-desktop-i386 では ulimit -n (プロセスが開けるFDの数) の default が 1024 になっていて、これでは少ないので数値を上げようと思うと結構大変で

  • /etc/security/limits.conf の nofile の数値を変更する(10000は適当な値)
* soft nofile 10000
* hard nofile 10000
  • ssh 経由の場合はさらに /etc/pam.d/sshd
session    required     pam_limits.so

となっていること + /etc/ssh/sshd_config が

UsePAM yes
ChallengeResponseAuthentication no # パスワード認証しないように

が必要。めんどくさくね?