2008/09/28

Carbon EmacsでTramp

普段はEmacsを利用しているのですが、.emacsを各サーバに配置したり同期したりするのがとても面倒です。
Trampを使えばEmacsからssh経由でリモートのファイルを開くことができます。
.emacsの設定とかもなくてとても便利です。

ちなみにCarbon EmacsはデフォルトでTrampが同梱されているので下記の設定を.emacsに書くだけで利用することができます。

(require 'tramp)
(setq tramp-default-method "ssh")


リモートのファイルを開くときはC-x C-fで/<ユーザ名>@<ホスト名>:<リモート上のファイルフルパス>でできます。
開くときに一度だけパスワード(もしくはパスフレーズ)を聞かれますが、以降保存したり他のファイルを開いたりするときは聞かれません。
1カ所で様々な場所のファイルが編集できるのでとても便利です。

Cobblerの最新版を使ってネットワークインストール環境構築

前回Cobblerの環境構築について書きましたが、今回は実際に実マシンにインストールしたときのことを書きます。
ちなみに前回はテストもかねてVMにインストールしてました。

前回からそんなに時間が経ってないと思うのですが、バージョンが1.0.3から1.2.5まで上がってました。
開発スピード早いですね。
本家サイトも移動してました。(https://fedorahosted.org/cobbler)
さらにsrpmは1.2系しかなかったです。

大半は前回の記事のままでOKだったのですが途中でkickstartのファイルがダウンロードできなくてはまりました。
原因はlocalhostのXMLRPCサービスにアクセスしようとしたときに正しく取得できずこけてました。
/etc/hostsに書いてあるlocalhostが::1になっていたので、それを127.0.0.1にしたらなおりました。
::1ってIPv6?
あとで調べておきます。

とりあえず、CentOS 5.2とFedora9,8を用意しておきました。
Ubuntuはcobbler importだとうまくいかなかったので保留しておきました。

2008/09/22

WBR-G54にDD-WRTをインストール

DD-WRTは無線LANアクセスポイントのファームウェアの1種で、これを導入すると無線LANアクセスポイントがLinuxにすることが可能です。
これによって、サポートされていない暗号化方式が使えるようになったりSNMPがしゃべれるようになったりします。
また、Webからの管理画面もあり便利です。

私が持ってるWBR-G54も一応対応機種であるということなので、導入してみたいと思います。
これを導入する際の注意点は元のファームウェアには戻しにくい(一応戻せるらしい)というのと、ミスると二度と起動しなくなるというところでしょうか。

まず、DD-WRTのイメージをダウンロードしてきます。
メニューのDownloadsをクリックするとディレクトリが表示されます。
その中から「v24-sp1→Consumer→Buffalo→WBR-G54」の順でたどっていき、dd-wrt.v24_std_generic.bin をダウンロードします。
ほかにもVoIPとかVPNに最適なイメージがあるようですが、とりあえず今回は一番標準そうなやつを選択しました。

次にアクセスポイントとPCをLANケーブルで直接つないでおきます。
アクセスポイントの電源を入れたら工場出荷状態に初期化を行います。
通常、背面のボタンを押して初期化できるはずなのですが私のやり方が悪いみたいでできませんでした。
結局Web経由で行いました。
初期化するとIPアドレスは192.168.11.1/24になりました。
PCのIPアドレスは同じネットワークのアドレスを手入力で入れておきます。
今回は192.168.11.20/24をPCに設定しておきました。

次にイメージをそれぞれのアクセスポイントに合わせた形に編集する必要があります。
正規のイメージと見比べつつバイナリエディタで編集すればできるらしいですが、Ddadderという便利なプログラムが公式から配布されているらしいので利用します。
ここからfor Linuxをダウンロードしてきます。
バイナリはLinux用なので、付属のソースをgccを使ってコンパイルすることで使用することができるようになります。
最後にできたプログラムを使用し、以下のようにすることで専用のイメージが作成できます。
$ ./ddadder dd-wrt.v24_std_generic.bin wbr-g54


あとはできたイメージを使用してWebからファームウェアの更新を行えば完了です。
DIAGが点滅を繰り返している間はファームウェアを更新している最中なので、点滅が消えたら完了です。
初期設定ではアクセスポイントが192.168.1.1/24に設定されているので、それに合わせてPCのIPアドレスも変更しておきます。
今回は192.168.1.20/24にしておきました。

ブラウザから192.168.1.1にアクセスすると管理画面が表示されます。
最初はユーザ名とパスワードをどうするか聞かれるので任意のものを入力します。
ちなみに最初は英語で表示されますが、AdministrationからLanguageを選択することで日本語での表示も可能です。

とりあえず、いろいろ設定して遊んでみようかと思います。

追記
何か無線LANがつながらなくてファームウェアをいろいろ入れ替えてたらおなくなりになりました…orz
素直に新しいの買ってきます。

MacOS X LeopardにFlex3 SDKをインストール

最近環境構築ネタばかりな気がしますが、気にしないで書きます。
今回はFlashを使ったRIAフレームワークのFlexのインストールをしてみます。

正直よくわかってないのですが、とりあえずFlashアプリがAdobe Flash CS3なしで作れるということだと理解しています。(齟齬が出てる可能性大)
mxmlという記述方法でどのようなガワにするか定義して、ロジックについてはAS3を使うという感じでしょうか。
コンパイルするとswfを吐いてくれます。
なぜ、これを使おうかと思ったかというと私が絶賛作成中のNaNaCaというサーバ上でアニメを録画再生するソフトのプレーヤーを自作しようかと思ったからです。
# ちなみにNaNaCaはfoltia(http://www.dcc-jpl.com/soft/foltia/)のようなものです
では、前置きはこれくらいにして。

  1. Flex3 SDKをダウンロード

  2. まずはFlex3 SDKをダウンロードします。
    ダウンロードはここ(http://www.adobe.com/products/flex/flexdownloads/)から行います。
    ダウンロードリンクはライセンスに同意しないと有効にならないので、ライセンスを読んだ上でチェックを入れます。
    ちなみに80MBぐらいあります。
    ダウンロードしてきたflex_sdk_3.zipを展開します。
    これを適当な場所に配置します。私は/Developer/SDKs以下に配置しました。
    移動するときに認証を求められました。

  3. PATHを通す

  4. Flex3 SDKにはいくつかのコマンドが存在するので、PATHを通しておきます。
    .bash_profileなどに以下のように記述しておきます。
    export PATH=/Developer/SDKs/flex_sdk_3/bin:$PATH

    sourceコマンドで反映させるか、ターミナルを開き直して反映させます。
  5. スタンドアローンFlash Playerのインストール

  6. ブラウザ上で実行できるので別に必要ないっちゃないのですが、debug情報とかも出せて便利なのでインストールしておきます。
    ここ(http://www.adobe.com/support/flashplayer/downloads.html)のAdobe Flash Player 9 — Standalone Players (Projectors) for Macintoshからdebugと書いてある方をダウンロードします。
    展開するとFlash Playerが出てくるので、アプリケーション以下などに配置します。
    一度実行しておけばswfファイルはFlash Playerを使用して実行されます。

  7. Hello World

  8. さっそく使ってみます。
    適当な場所で以下のようなhoge.mxmlを作成します。
    <?xml version="1.0"?>
    <mx:application mx="http://www.adobe.com/2006/mxml">
    <mx:button label="Hello World" />
    </mx:application>

    次にコンパイルを行います。
    コンパイルはmxmlcコマンドを使用し、以下のようにします。
    $ mxmlc hoge.mxml

    作成されたhoge.swfを実行すると下記のようになります。



今回はエディタで直接書いてコンパイルするという感じでしたが、Eclipseを使用したりFlex BuilderというIDEも用意されているそうです。
私はいけるところまではEmacsで書き続けます。

ちなみにswfファイルはSite以下に配置してWeb共有をオンにするとMacOS付属のApacheで確認することができるので便利です。
というかファイルをブラウザで開くのとApacheで開くので挙動が違うのはなぜでしょうか。

2008/09/17

Emacsのcolor-themeの設定(メモ)

Emacsのcolor-themeの設定の方法を失念しないようにメモ。
意外と開発するときに背景色、文字色って気になるものなんですよね。

とりあえずCarbon Emacsにはデフォルトでcolor-theme.elが同梱されているので.emacsに下記の設定を加えるだけでOK。

(require 'color-theme)
(color-theme-initialize)
(color-theme-tty-dark)


一番下の行はテーマを選択するところなので、自分の好みにあわせたものを選択してください。
ちなみにテーマはM-x color-theme-selectで一覧を見ることができます。

他の環境ではcolor-theme.elをload-pathの通ったところに配置する必要があります。
ここから必要なファイルをダウンロードしてきます。
展開するとたくさんのファイルが出てくるのですが、とりあえず必要なのはcolor-theme.elとthemeディレクトリの2つです。
これをload-pathの通ったところに配置して、上記の設定を.emacsに記述すればcolor-themeを使用することができます。



Carbon EmacsとサーバのCentOS 5.2上のEmacsで同じテーマでも微妙に色が違うのはなぜなんでしょう。
256色関連を疑ってるのですが、現状は放置で。


全然関係ない話ですが、最近携帯(au)の迷惑メールがすごく多いです…orz
さっきなりすまし防止とかいう機能をオンにしたのですが、その数分後に迷惑メールが…orz
やはり、PCからのメールを全部拒否するのが一番早いのかもしれないですね。

2008/09/16

Carbon Emacsの最低限の設定(メモ)

最近MacBookを新しいHDDにしてOSを再インストールしたときに.emacsを消してしまいました。
# MacOSの移行ウィザードは悪くないのです。それを使わなかった私が悪いんです…orz
せっかくなので新しく書いていくことにしました。

意外と.emacsって書くのが面倒で、しかもひとつひとつのマシンに.emacsを書かなければいけないのでどこかで変更したときの同期とかがとても面倒です。
今回はこれをエレガントに同期する方法ではなく、とりあえず使うのに最低限必要だった.emacsの設定を書きます。

まず最初に、Carbon Emacsの場合はCtrl+Spaceに割り当てられているSpotlightのキーバインドを外しましょう。
これをしないと範囲選択ができません。
そして、.emacsは以下のようになりました。

(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)

(tool-bar-mode nil)
(menu-bar-mode nil)
(setq transient-mark-mode t)

(global-set-key "\C-h" 'backward-delete-char)
(global-set-key "\C-o" 'dabbrev-expand)
(global-set-key "\C-x\C-b" 'buffer-menu)
(global-set-key "\C-xl" 'goto-line)
(global-set-key "\C-c>" 'comment-region)
(global-set-key "\C-c<" 'uncomment-region)

下記のようなことを設定してあります。

  • いろいろUTF-8に

  • ツールバーとメニューバーは消す

  • 選択範囲は目で見えるようにする

  • backspaceキーを使えるように(実際押すときはC-hですが)

  • 動的略語展開を有効にする

  • C-xC-bでカレントバッファにバッファメニューを表示

  • 指定した行に飛ぶキーバインドの設定

  • コメントアウトを簡単にできるようにする


動的略語展開が有効になっていたり、いろいろ最低限でない部分も多々ありますがこんな感じです。

これに各モードの設定や背景色、文字色の設定、elispのインストールと設定を行えばようやく快適に開発できるようになります。

これを同期するのが非常に面倒…orz
Subversionとかで管理するのが良いですかねぇ…
次回以降ではさらに設定しつつ、同期の方法を模索してみます。

2008/09/15

Mac OS X LeopardにOpenCVをインストール

OpenCVは画像の認識などといった画像処理を行うクロスプラットホームなライブラリです。
Intelが提供していて、1.0以降ではMacの対応も強化されているそうです。
まだ何ができるかしっかりわかってないのですが、おもしろそうなのでとりあえずインストールしてみることにしました。

この前インストールしたMacPortsにOpenCVがすでにあるようです。
下記コマンドでインストールします。
$ sudo port install opencv

インストールは以上です。
MacPorts最高。

とりあえずサンプルプログラムを動かしてみます。
サンプルプログラムは/opt/local/share/opencv/samples以下にあります。
Cで書かれたものとPythonで書かれたものがありました。
Pythonで書けるならそれにこしたことはないですね。
とりあえず、Pythonならコンパイルいらずなので実行してみます。
$ cd /opt/local/share/opencv/samples/python
$ python lkdemo.py


ほかにもたくさんのサンプルがありました。
一番おもしろそうな顔認識のサンプルはCだとiSightから動画をキャプチャしてたのですが、Pythonのものだと画像からのみでした。
サンプルがたくさんあるので後で書き直してみようかと思います。

PythonでかけるのであればXcodeとか使わないでEmacsとかでそのまま書けるのですごく便利そうです。
なんかいろいろパス通したりしなければいけなそうなのですが、何もしないで使えたのでちょっと気持ち悪い感じです。

2008/09/07

LeopardにMacPortsをインストール

MacBookのHDDの容量も増えて空き容量にだいぶ余裕ができました。
なので、前々からインストールしたかったMacPorts(http://www.macports.org/)をインストールしてみました。
Macには同じようなパッケージ管理のソフトとしてMacPortsのほかにFinkというのもありますが、最近はMacPortsの方が活発らしいです。
正直よくしらべていないのでどちらが良いかわかってないのですが、今回はMacPortsにしてみました。

まず最初にMacPortsをダウンロードします。
どうやらそれぞれのOSのバージョンごとにイメージになっているようです。
上記の本家サイトの左側のメニューの「Installing MacPorts」をクリックするといろいろ説明が出てきてdmgのリンクもあります。
私の環境はLeopardなのでこれを使いました。

ダウンロードしたイメージを展開するとMacPorts-1.6.0.pkgがあるので実行します。
あとは普通にインストールすればOKです。
ちなみにMacPortsはコンパイルやらなんやらを行ってソフトウェアをインストールするので、Developer Toolsがインストールしてある必要があります。

MacPortsは/opt/local以下にインストールを行うので、ここに環境変数を通しておく必要があります。
MacPorts自体であるportコマンドも/opt/local以下にあります。
なので最初にこの作業をやっておきましょう。
とりあえず自分のホームディレクトリの.bash_profileに下記を記述しておきます。
export PATH=/opt/local/bin:/opt/local/sbin/:$PATH
export MANPATH=/opt/local/man:$MANPATH


MacPortsをアップデートして、ソフトウェアのリストを下記コマンドで最新にします。
$ sudo port selfupdate
$ sudo port sync

これでインストールは終了です。

基本的な使い方は以下のような感じです。

  • 検索

  • $ port search 名前

    ためしにやってみたらzshもGNU screenもffmpegもcatalystも入ってました。
    充実してますね。

  • インストール

  • $ sudo port install 名前



下記記事を参考にさせていただきました。

2008/09/06

MacOS X LeopardでX11が起動しない

再インストールを行ったので、LeopardでInkscapeをインストールして、起動しようとしたらうまくいきませんでした。
そもそもX11自体がうまく起動しないようで、アプリケーション→ユーティリティ→X11のアイコンを押してもうんともすんともない状態…

どうやらDVDに入っているX11にはバグがあるらしいです。
XQuarts(http://xquartz.macosforge.org/trac/wiki/)を入れると直るようです。
本家サイトをみると10.5.2を入れれば万事OKっぽいことが書いてある…。
今使ってるのは10.5.4なのですが…

ソフトウェアアップデートをやってみたらSecurityUpdate 2008-005ってのがある。
もしかしてこれを入れてないからでしょうか…。
とりあえず入れてみる。
うーん、動かない…。

結局上記のXQuartsの最新版(X11-2.2.3.pkg)を落としてきてインストールしました。
するとX11.appは問題なく起動したのですが、やはりInkscapeは起動せず…

もうちょっと調べてみたら解決策を書いてらっしゃる方がいました。
X11メモ(http://www.rottel.net/kuwa/23787)
ここに書いてある通りにやってみたらちゃんと起動しました。

とりあえずこのまま使ってみます。