2011年5月19日木曜日

compiz-fusionで最強デスクトップ

MAC OS XやWindows 7とかではデスクトップの描画に3Dアクセラレータを使って、イイ感じの演出や処理の効率化なんかもしています。

gnome3からは、gnome自体に3Dな機能が含まれるようになっていて、なかなかいい感じでしたが、ちょっと試したところ不安定なところもあって、もうしばらくは2.xを使うことになるかなと思います。

gnome2.x自体には3Dで描画する機能はないのですが、compiz-fusionを併せて使うことで実現できます。
ちょっと演出が派手すぎる向きもありますが、そのへんは自由に設定できるので3Dアクセラレータに描画だけさせたい場合でも有効です。

compiz-fusionはstableに降りてきていないので、package.keywordsの指定をします。
でも依存しているパッケージが複数あって、色々指定するのメンドクサイですね。
ということで、autounmaskの登場です。

emerge -av autounmask

こんな感じで使います。
autounmask -p x11-wm/compiz-fusion-0.8.6
とかって-pをつけてやると、package.keywordsなどへの変更内容が確認できます。
ヤバそうな内容はなさそうなので、 -p を外して実行します。
autounmask x11-wm/compiz-fusion-0.8.6
でマージします。
emerge -av compiz-fusion

と、実際にはXでAIGLXが使えないといけなかったりとかして、カーネルのコンフィグも関係していたりするんで、ハマるときはハマっちゃいます。

そんなときはgentoo-wikiにトラブったときの情報などまとまっているので何かと助かりますん。
http://en.gentoo-wiki.com/wiki/Compiz-Fusion

X200sにデスクトップ環境

ドキュメントが充実しているGentooさんですが、デスクトップ環境についても色々ドキュメントがまとまっています。
http://www.gentoo.org/doc/ja/xorg-config.xml
http://www.gentoo.org/doc/ja/gnome-config.xml
ただ、日本語訳はちょっと古いので英語版も軽く見ておいたほうがいいかもです。

とりあえず、セットアップしたときのメモ。

Xな環境を整える
まずは動作確認や緊急時の対応用に最小限の環境を用意します。
最初にデスクトップ用のプロファイルに変更しておきます。
# eselect profile listAvailable profile symlink targets:
  [1]   default/linux/amd64/10.0 *
  [2]   default/linux/amd64/10.0/desktop
  [3]   default/linux/amd64/10.0/desktop/gnome
  [4]   default/linux/amd64/10.0/desktop/kde
  [5]   default/linux/amd64/10.0/developer
  [6]   default/linux/amd64/10.0/no-multilib
  [7]   default/linux/amd64/10.0/server
  [8]   hardened/linux/amd64
  [9]   hardened/linux/amd64/no-multilib
  [10]  selinux/2007.0/amd64
  [11]  selinux/2007.0/amd64/hardened
  [12]  selinux/v2refpolicy/amd64
  [13]  selinux/v2refpolicy/amd64/desktop
  [14]  selinux/v2refpolicy/amd64/developer
  [15]  selinux/v2refpolicy/amd64/hardened
  [16]  selinux/v2refpolicy/amd64/server

とりあえず[2]のdesktopを指定しときます。
# eselect profile set 2

# eselect profile list
プロファイルが変更されているのを確認。

次にmake.confにVIDEO_CARDSとINPUT_DEVICESを指定します。
VIDEO_CARDS="intel"
INPUT_DEVICES="evdev"

で、マージ。
emerge -av xorg-server twm xterm

芋づる式にたくさんのライブラリがビルドされるので、しばらく放っておきます。













で、無事にビルドが終わったらおもむろに
$ startx
だ!
キタ!Xキタ!
何も設定しないで表示も、キーボードもトラックポイントもバッチリです。
いやはや楽な時代になったものです。感謝感謝。

gnomeなデスクトップ環境を用意する
ノスタルジックなtwmもいいんですが、ボケーっとしながら使えるデスクトップ環境もステキです。ということで、さっさとgnomeな環境を用意します。


gnomeの対抗馬的な存在にKDE SCがありますが、4.xになってどうも使い勝手がダルイ感じになってしまったので、最近はgnomeで決まりです。

まずはgnomeデスクトップ用のプロファイルに切り替えます。
eselect profile set 3
eselect profile list
で、マージ。
emerge -av gnome
先ほどとは比べ物にならないくらい膨大なパッケージがマージされていきます。
放っといて別のことをやるのが吉です。

無事にマージし終わったら、プロファイルで指定されているUSEフラグがたくさんあるので、影響のあるパッケージを再マージしておきます。
emerge -avND world

あとは/etc/conf.d/xdmを編集してディスプレイマネージャにgdmを指定します。
nano -w /etc/conf.d/xdm

ひと通り終わったら、自動起動する設定をして再起動
rc-update add alsasound boot
rc-update add dbus default
rc-update add xdm default
reboot

再起動後、gdmのログイン画面が表示されて、ログインしてgnomeが立ち上がればOK。
ビルドにちょっと時間がかかるけど、やることはとても簡単ですね。

2011年5月11日水曜日

Google I/O 2011

Google I/O 2011が今日と明日、開催されています。

ひとまずAndroidの次のバージョンはicecream sandwichで確定みたいです。

あと気になったのはAndroid Open Accessory Development Kit

AndroidはiPhoneに比べてアクセサリが少ないから、ADKの登場でAndroid用のアクセサリが
色々出てくると、また楽しくなりそうですね

今日の基調講演の内容は
googleさんのblog
にまとまってました。

2011年5月9日月曜日

baselayout-2とOpenRCに移行する

随分前からtestingにあがっていたbaselayout-2とOpenRCが2011/5/8に、いよいよstableに降りてきました。
インストールほやほやのGentooさんをbaselayout-2に移行します。

まあ、移行ガイドの通りにやるだけです。
http://www.gentoo.org/doc/en/openrc-migration.xml
http://www.gentoo.org/doc/ja/openrc-migration.xml

とりあえず混乱を避けるためにbaselayoutのアップデートと、OpenRCのインストールだけやります。
emerge -avu baselayout


dispatch-confを実行して、設定ファイル群を更新します。
hostsとかhostnameとかhwclock以外は新しいファイルをそのまま使って、こいつらだけチョチョっと手を入れた。
設定ファイルの移行がひと通り終わったら、 rm /etc/conf.d/rc して削除。

カーネルモジュールは今のところ特に指定していないんでスルー。
bootランレベルも特に問題なし。
mdraidもlvmも使ってないから問題なし。
udevはちゃんとsysinitに設定されていて問題なし。
net.eth0も消されてなくて問題なし。
Clockの設定も問題なし。
Xとかはまだインストールすらしていないので関係なし。

ということでリブート!

で、何事も無く移行完了しました。
メデタシメデタシ♪

心なし起動が早くなったかも。

その後


開発用のサーバや、sakuraのVPSなGentooの移行もやっつけました。

sakuraのVPSでは/etc/init.d/net.eth0が削除されていたので
ln -s /etc/init.d/net.lo /etc/init.d/net.eth0

しました。

ちゃんと確認しないで再起動して、sshで繋がらなくなって焦った。
慣れてきても初心を忘れずにちゃんと確認しましょうね

2011年5月7日土曜日

Thinkpad X200sに生Gentoo仕込む

えーっと、唐突ですが2011/6/1〜3でLinuxCon Japan 2011ってイベントが横浜で開催されます。
早期申し込みで50% offってのに釣られて2月に申込みをしちゃってるので、仕事でトラブルとか起きなければ5月末から横浜に乗り込む所存でございます。

で、LinuxConにお出かけするにあたって、重たいMacBookProを持っていくのもアレだなと思い、ThinkpadさんにGentoo仕込んで持って行こうかなと思い立った次第であります。

近頃はSSDの環境に慣れきってしまって、HDDなThinkpadさんだとストレス溜まって老化が促進されそうなので、健康のためにSSD用意しときました。
メディアの管理とか、プロプラなやけに容量の大きいアプリとか入れないので64GBでも十分足りるかと思ったけど、いざ容量が足りなくなると後悔するので奮発して128GBのm4 SSDでキメちゃいました。


前段が長くなってしまいましたが、早速仕込みに入ります。

インストールのメモ


大方の手順はクイックインストールマニュアルで。

実際には64bit環境にするので適宜対応しながら進めます。

パーティショニングとファイルシステム


第1のお悩みポイント、パーティショニングとファイルシステム。
メインのファイルシステムは明るい未来が待っているbtrfsで行こうと思います。
トラブらないように/bootは別パーティションでext3、あと、ノートPCなのでハイバネーションが遣りやすいように、スワップも別パーティションで切っておきます。(suspend to diskのfile writerでbtrfsに対応できるかちゃんと確認してないけど、なんとなく危なそうですよね?)

なのでパーティション構成はこんな感じ。
% fdisk -l /dev/sda

Disk /dev/sda: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2b848245

Device Boot Start End Blocks Id System
/dev/sda1 2048 206847 102400 83 Linux
/dev/sda2 206848 16984063 8388608 82 Linux swap / Solaris
/dev/sda3 16984064 250069679 116542808 83 Linux


パーティション切ったらファイルシステムを作ります。
mkfs.ext3 /dev/sda1
mkfs.btrfs /dev/sda3
mkswap /dev/sda2

btrfsのサブボリュームを使ってみます。
mkdir /mnt/btrfs
mount /dev/sda3 /mnt/btrfs
btrfs subvolume create /mnt/btrfs/system
btrfs subvolume create /mnt/btrfs/home
btrfs subvolume create /mnt/btrfs/portage


インストール用にマウント
mount -o subvol=system,compress=lzo /dev/sda3 /mnt/gentoo
mkdir -p /mnt/gentoo/boot /mnt/gentoo/home /mnt/gentoo/usr/portage
mount /dev/sda1 /mnt/gentoo/boot
mount -o subvol=home,compress=lzo /dev/sda3 /mnt/gentoo/home
mount -o subvol=portage,compress=lzo /dev/sda3 /mnt/gentoo/usr/portage


amd64のstage3をダウンロードします。
cd /mnt/gentoo
wget http://ftp.jaist.ac.jp/pub/Linux/Gentoo/releases/amd64/current-stage3/stage3-amd64-20110428.tar.bz2


あとはマニュアル通りに粛々と

あ、あとなんかマズいバグがあるっぽいんで、カーネルを2.6.38にしておく。
現時点ではstableに降りてきていないので
mkdir /etc/portage
echo "sys-kernel/gentoo-sources ~amd64" > /etc/portage/package.keywords
emerge -av gentoo-sources

こんな感じで。

fstabやgrubの設定はこんな感じになっています。

■fstab
/dev/sda1 /boot ext3 noauto,noatime 1 2
/dev/sda3 / btrfs subvol=system,compress=lzo,noatime 0 1
/dev/sda3 /home btrfs subvol=home,compress=lzo,noatime 0 1
/dev/sda3 /usr/portage btrfs subvol=portage,compress=lzo,noatime 0 1
/dev/sda3 /mnt/btrfs btrfs noatime 0 1
/dev/sda2 none swap sw 0 0
/dev/cdrom /mnt/cdrom auto noauto,ro 0 0
shm /dev/shm tmpfs nodev,nosuid 0 0


■menu.lst
default 0
timeout 10
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title Gentoo Linux
root (hd0,0)
kernel /boot/kernel-2.6.38-gentoo-r4 root=/dev/sda3 rootflags=subvol=system,compress=lzo vga=868


とりあえず最小限の状態で起動できることを確認。
これからチマチマと環境整えていきます。

でもその前に、Gentooのサイトでbaselayout2への移行がアナウンスされているので、これを先にやっつけないといけないです。

いやしかし、LinuxConってどんなイベントかよく知らないで申し込んだんだけど、日本で開催だけど公用語が英語とかって後から知って、かなり怖気付いていたりします (-_-;)