2010年3月27日土曜日

macbookでzsh

MACのターミナル上でニホンゴが化ける。
ずっと、itermの問題だと思ってましたよ。
viで化けないことで怪しいと思わないとだめだよなぁ。
ってことでUTF-8が化けるOSXデフォルトのzshを窓から投げ捨てる手順。

sourceForgeから4.3.2(zsh-dev)のソースを落とす。
http://sourceforge.net/project/showfiles.php?group_id=4068
適当なとこに置いて、解凍して、インストール。./configureにオプションつけることに注意。
tar zxvf zsh-4.3.2.tar.gz
cd zsh-4.3.2
./configure --enable-multibyte --enable-locale
make
sudo make install
で、設定ファイル。
~/input.rcに以下追記
set kanji-code utf-8
set convert-meta off
set meta-flag on
set output-meta on
set input-meta onset enable-keypad on

~/.zshrcに以下追記export LANG=ja_JP.UTF-8

で、/etc/shellsに以下追記、/bin/zshはコメントあうと/usr/local/bin/zsh
で、chshして、デフォルトシェルを
Shell: /usr/local/bin/zsh


いじょ。
あー、zshいいよzsh

MacBook - Synergy2 - Windows

macbook から windowsをリモートで動かすメモ
最終系はこんな感じ。
Synergyサーバ:MacBook(キーボードとタッチバッドはこれを利用)
Synergyクライアント:Win端末(操作される側。
本家はここ
http://synergy2.sourceforge.net/
事前準備としてやることは。
1. Macのマシン名を調べる。
ターミナルで、hostnameとか打てばわかるけど。
システム環境設定 - インターネットとネットワーク - 共有を開けば編集もできる。
とりあえず例として mac.local であるとして話を進める。
2. Winのマシン名を調べる。
マイコンピュータでプロパティ - コンピュータ名 で調べられる。
とりあえず、 win であるとして話を進める。

さて、まずはサーバから。
本家からバイナリを落として、と言いたいところだが、
本家の奴だとBus Error がでて動きゃしねぇ。
ってことで、以下サイトからOSXで動くバイナリを落とす。
http://blog.masuidrive.jp/articles/2006/03/24/synergy2-on-intel-mac
適当なとこに展開して、synergy.confを以下のように変更
# つながってるPC群
section: screens
win:
mac.local:
end
# 接続設定
section: links
mac.local:
right = win
win:
left = mac.local
end
# オプション設定
section: options
# 2回のタップで移動
switchDoubleTap = 250
end
mac.local とか win とかは最初に調べたマシン名で置き換えること。
mac.local の 右 に win があって winの左にmac.localがあるっていう設定。
switchDoubleTapは移動するときにマウスカーソルを画面端に合わせるだけじゃなくて、
コンコンって2回端に合わせないと移動しないようにする設定。誤移動防止。
ここまでできたら試しに動かしてみる。ターミナルから。
./synergys -f -c ./synergy.conf

稼働確認したいのでmacの設定適当だけどwin側の設定に。
以下サイトから日本語化されたインストーラを落としてきてインストール
http://wiki.nothing.sh/page/memo/Synergy
起動したら、「ほかのコンピュータのキーボードとマウスを使用する(クライアント)」にチェックを入れて、
サーバのホスト名にmacのIPアドレスなりを入れる。
で、スタート。
うまく動いたらスタートアップに登録するなりなんなり。
で、再び mac
とりあえず、実行ファイルを/usr/local/bin あたりに置く。
と思ったら /usr/local 自体がなかったので掘る。当然rootで。
mkdir -p /usr/local/bin
cp -p ./synergys /usr/local/bin
あ、ちなみにsynergyc はクライアントなんで注意。
設定ファイルは/etc/synergy にでも置く。

mkdir -p /etc/synergy
cp -p ./synergy.conf /etc/synergy.conf
で、こいつをキックするためのフックスクリプトを設定する。
まずはスクリプトをつくるとこから、ルートになって
mkdir -p /Library/LoginWindow
vi
/Library/LoginWindow/LoginHook.sh
LoginHook.shの内容はこんな感じ。

#!/bin/sh
prog=(/usr/local/bin/synergys -c /etc/synergy/synergy.conf)
### Stop any currently running Synergy client
killall ${prog[0]##*/}
### Start the new client
exec "${prog[@]}"
書き終わったら実行権をつけて。

chmod 755 /Library/LoginWindow/LoginHook.sh
起動時のフックスクリプトに設定。
defaults write com.apple.loginwindow LoginHook /Library/LoginWindow/LoginHook.sh

これで再起動時に自動的に起動するようになる。


section: options
switchDoubleTap = 250
mousebutton(control+1) = mousebutton(3)
end