カテゴリーアーカイブ: Mac

別に大したエントリでもなく。私的なメモ程度。

osxでやってます。vimは7.1。PrivatePortfileのvimを使っています。7.2にしてもいいかも。
http://lapangan.net/darwinports/index.php?PrivatePortfile%2FVim
http://lapangan.net/darwinports/index.php?PrivatePortfile%2FVim72

ポリシーとして、あまり追加でプラグインやシンタックスなどを入れないようにしてます。
project.vimとかrails.vimも入れてなかったり。

早速。

この2つがあれば基本的にしあわせです。。

  • snipMate
  • ctags

すでに以下の3つのsyntaxがある。

  • ruby.vim
  • actionscript.vim
  • mxml.vim

新たにsyntaxを導入する。
javaid.vim
http://www.fleiner.com/vim/download.html

docとautoloadに設置する。vimrcも修正。
javacomplete
http://www.vim.org/scripts/script.php?script_id=1785

zshrcに記述する。

export _JAVA_OPTIONS=-Duser.language=en
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home
export PATH=$JAVA_HOME/bin:$PATH

あとはscreenも併用していけば、eclipseとか要らないですな。(eclipseは便利だけどね)

今更感のある。

基本的に、iPhone Developer ProgramのPortalにあるHow Toの通りにやれば出来るのですが、最後のビルドでこけたのでー。

XcodeのオーガナイザーからProvisioningを追加するのですが、これDeviceのところのProvisioningの+ボタンから追加するだけではダメらしく、IPHONE DEVELOPMENTのProvisioning Profileにファイルをドラッグ&ドロップすると追加できるのです。

こうしておくとコード署名IDのところで証明書を選択できて、「ビルドして実行」した時に証明書エラーが出なくなり実機で動かす事が出来るのでした。

というかAndroidアプリも調べねばー

モバイル系のアプリは作るの楽しいんだよね!

IRC, irssiとtiarraとtig.rbでtiwtterとか色々と

の続き。

irssiがなんだか起動しなくなっちゃったので、ついでにMSNメッセンジャーもirssiでやろう!という記録。
サーバのログもircにでるので、もうコンソールからirssiだけでひゃっほい!

osxなのでportからインストールします。

% sudo port search bitlbee
bitlbee @1.2.3 (irc, net)
    An IRC to other chat networks gateway
%
% sudo port install bitlbee
...

長い・・・

終わったら設定ファイルをコピーして編集。

% sudo cp /opt/local/etc/bitlbee/bitlbee.conf.sample /opt/local/etc/bitlbee/bitlbee.conf
% sudo vi /opt/local/etc/bitlbee/bitlbee.conf
RunMode = Daemon
DaemonInterface = 127.0.0.1
DaemonPort = 16667

勢い良く起動!

% bitlbee

tiarraに設定を追加します。

% vi tiarra.conf
name: bitlbee

bitlbee {
  host: 127.0.0.1
  port: 16667
  in-encoding: utf8
  out-encoding: utf8
}

tiarra起動。

irssi起動。

% irssi
[(status)] /connect TIA

bitlbeeのチャンネルに移動します。

パスワードは平文だけどローカルなのでとりあえず。

[&bitlbee@bitlbe] register パスワード

<@runeleaf> register パスワード
<@root> Account successfully created

アカウントを登録します。

[&bitlbee@bitlbe] account add msn ホットメール パスワード
<@runeleaf> account add msn ホットメール パスワード
<@root> Account successfully added

アカウントのリストをみるには

[&bitlbee@bitlbe] account list

<@runeleaf> account list
<@root>  0. msn, ホットメール
<@root> End of account list

設定を保存します。

[&bitlbee@bitlbe] save
<@runeleaf> save
<@root> Configuration saved

アカウントを有効にします。

[&bitlbee@bitlbe] account on 0

bitlbeeを再起動してirssiとかで繋ぎ直した場合には、

[&bitlbee@bitlbe] identify registerのパスワード

で保存した設定を呼び出せます。

メッセージおくるには、

[&bitlbee@bitlbe] dareka: こんにちわ

<@runeleaf> dareka: こんにちわ
-!- ServerMode/&bitlbee@bitlbee [+v dareka] by localhost
<+dareka> runeleaf: どうもどうも

どんな設定がされているか確認。

[&bitlbee@bitlbe] set

あとはヘルプで。

[&bitlbee@bitlbe] help

きになるのはGrowlに通知する方法。ぷらぎんつくれってこと?

zshrcとかに、

export SCREENDIR=/Users/works/tmp/screen

別にmacに限ったことではないのか。

treeに限ったことではないが、たまに起こる現象。

% sudo port install tree
--->  Fetching tree
--->  Attempting to fetch tree-1.5.1.1.tgz from ftp://mama.indstate.edu/linux/tree/
--->  Attempting to fetch tree-1.5.1.1.tgz from http://svn.macports.org/repository/macports/distfiles/tree
--->  Attempting to fetch tree-1.5.1.1.tgz from http://svn.macports.org/repository/macports/distfiles/general/
--->  Attempting to fetch tree-1.5.1.1.tgz from http://svn.macports.org/repository/macports/downloads/tree
Error: Target org.macports.fetch returned: fetch failed
Error: Status 1 encountered during processing.

回避策

% sudo env MASTER_SITE_LOCAL=http://distfiles.macports.org/tree/ port -v fetch tree
--->  Fetching tree
--->  tree-1.5.1.1.tgz doesn't seem to exist in /opt/local/var/macports/distfiles/tree
--->  Attempting to fetch tree-1.5.1.1.tgz from http://distfiles.macports.org/tree/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 30792  100 30792    0     0  20523      0  0:00:01  0:00:01 --:--:-- 42766
% sudo port install tree
--->  Verifying checksum(s) for tree
--->  Extracting tree
--->  Applying patches to tree
--->  Configuring tree
--->  Building tree with target all
--->  Staging tree into destroot
--->  Installing tree 1.5.1.1_0
--->  Activating tree 1.5.1.1_0
--->  Cleaning tree

OK。

web制作に必要なツールって結構あるよね。

macだとそういったツールをそろえるコストが高い!みたいに思ってた時期もありました。(macじゃなくても高いけど・・)

今じゃもうほとんど(僕が)使わなくなったアプリとかもあるけれど参考までに。

  • TextMate
    とりあえずこのエディタがあれば十分。$53。
  • CSSedit
    プレビューとか使いやすい。$46。
  • Coda
    Web構築環境。色々そろってます。$99。transmitもっているので$85。
  • Transmit
    秘密鍵の設定に手間取ったけど、Cyberduckとどっこい。$29.95。
  • Pixelmator
    photoshop代替。まじすげぇ!$59。
  • VectorDesigner
    illustrator代替。だよね?$69.95

このあたりからオープンソース。

  • Inkscape [illustrator]
    illustrator代替。
  • jahshaka [AfterEffects]
    ビデオ編集くらいでしか使わないけど。
  • Synfig [Flash]
    ん、現在MacOSはofflineかー。
    cs3かflexでいいかも。
  • KomPozer [dreamweaber]
    HTMLエディタ。
  • Scribus [InDesign]
    DTPソフトなんだってね。

でもよく使うのは、

vim
nano
ssh
sftp

だったり。

以前にpatchあてて解決したんですが、subversionが1.4.4と古い・・

なので今回はportでインストールできる、1.5.1にpatchをあてたいと思います。

patchは、

http://subversion.tigris.org/nonav/issues/showattachment.cgi/813/utf8precompose_macosx_2.patch
cd /opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/subversion/files
sudo wget -c http://subversion.tigris.org/nonav/issues/showattachment.cgi/813/utf8precompose_macosx_2.patch
sudo mv utf8precompose_macosx_2.patch patch-path.c.diff
cd ..
sudo vi Portfile
33:patchfiles    patch-Makefile.in.diff patch-path.c.diff
sudo port uninstall subversion
sudo port install subversion

これでマルチバイトの濁点がえらいことになっていた問題が回避できました。

_arguments:comparguments:303: invalid argument: ARG

これ出てたんですが、ググったやり方でも解決しなかったです。

cd /user/share/zsh/4.3.4/functions/
sudo wget -c http://gvn.googlecode.com/svn/trunk/contrib/zsh/_subversion

_subversionをおく場所がちがうみたい。

cd /usr/share/zsh/site-functions

portでzshを入れている場合も同じ感じなのかな。

macでアプリケーションをSOCKS4/5プロキシ経由にする方法。

システム環境設定>ネットワーク>詳細>プロキシ>構成するプロトコルを選択:SOCKSプロキシ

にチェック。

デフォルトのSOCKSプロキシなら、

localhost:1080

これで大抵のアプリケーションが、個別に設定しなくてもSOCKSプロキシを経由するようになる。

コマンドラインからの実行には適用してくれなかったのでtsocksを使用する。

とってもいけてる感じでイイ!

ただ、セキュリティ的にどうなんだろう?要検証。

普段、踏み台サーバーを使用する場合にsshポート転送は-Lオプションを使っていましたが、もっと楽な方法がありました。

たとえばこんなルートの場合。

clientー>hostA(鍵)ー>hostB(鍵)

hostBにsshやらsvnやらhttpやらを転送するのに、

(http)localhost:8080
(ssh)localhost:8081
(svn)localhost:8082

こんだけつくらないといけないし、多くなってくるとどのポートがどこにつながっているかわかり難い。アプリケーションによっては、わざわざlocalhost:portでアクセスしなきゃならない。

こんな面倒なsshトンネルを、すごく簡単に管理しやすいことを知りました。

ssh -D

これすげぇ。

下記はmacで設定したことです。

sudo port install tsocks
sudo cp /opt/local/etc/tsocks.conf.example /opt/local/etc/tsocks.conf

sudo vi /opt/local/etc/tsocks.conf
# We can access 192.168.0.* directly
#local = 192.168.1.0/255.255.255.0
#local = 127.0.0.1

# Otherwise we use the server
#server = 192.168.0.1
server = localhost
server_type = 5
server_port = 1080

sshで接続。-Lじゃなくて-Dオプションを使用します。鍵認証がいいです。

ssh -D 1080 username@hostA -i keyfile -N

ブラウザからSOCKSプロキシ経由でみる。safariならプロキシ設定で、SOCKSプロキシをチェック。localhost:1080で設定。

ブラウザからは普通に、http://google.co.jpとかでhostA経由のアクセスになるのでなんだかVPNっぽい感じ。

ほかにもsshでhostBにログインとかも一発でいけたり。

vi .ssh/remote_ssh.sh
#!/bin/sh
ssh username@hostB -p 10022 -i private.key

こんなファイルつくって、

cd .ssh
tsocks ./remote_ssh.sh

こんな感じでアクセスできる。

べつにファイル作らなくても、

tsocks ssh username@hostB -p 10022 -i /path/to/dir/keyfile

でOK。

svnとかも何にも設定は変えずに、

toscks svn co svn+ssh://hostB/svn/hoge hoge
tsocks svn up
tsocks svn ci test.txt

でいけた。

すげぇ!