もぐてっく

人は1つ歳をとるたび、1ビットづつ大きくなれると信じてた。

Macでmikutter起動用のアイコンを作る

あなたがこのエントリを読む頃には、僕はもうtwitter上にはいないでしょう。
何しろ、Macでmikutterを動かしてしまったのですから。


それはmikutterでの最大の禁忌。


間もなく僕は最寄りのておくれにtwitterアカウントを八つ裂きにされ、この(ネット)人生を終えることになるでしょう。


僕に残されたこのわずかな時間。
なんとかこのTipsをあなたにお伝えしたいと思います。

Macってショートカット無いの?

わっふー!無事マイMacでmikutterが動作するようになったぜ。
作者にもなし得なかったことを成した背徳感!たまんねえ!!


さて、お次はコマンドラインからじゃなくてFinderとかDockのアイコンで起動してやるぜ!


しっかし、Rubyスクリプトをクリックしてもプログラムを実行してくれないのよね。
Windowsならショートカットを作ればいいだけなのだけれど、Macの類似機能であるエイリアスではどうもそれが出来そうにない。


拡張子が.commandのシェルスクリプトはFinderから起動できるけど、ターミナルが開いちゃうのでかなりイマイチ。


さてどうしましょ?

Automatorで作ってみた


そう言えば昔、Automatorを使えば任意のコマンドを実行できると読んだことがあるぞ?
と、思って、ちょっと作ってみました。


f:id:moguno:20130114005225p:plain


内容は単純。「シェルスクリプトを実行」でコマンドを実行するだけ。

nohup rubyのフルパス mikutter.rbのフルパス > /dev/null 2>&1 &

"nohup 〜 &"は親プロセスが死んでも子プロセスがそのまま生き続けるためのおまじない。
これがないとmikutter起動中、タスクトレイ?にずっとAutomatorの実行中を示す歯車が表示されてうざいです。


後、stdoutをどっかにリダイレクトしとかないとmikutterがSIGPIPEで落ちるので、stderrもろとも/dev/nullに捨ててます。
(普通は自動的にnohup.outにリダイレクトされるはずなんだけどなあ。)


こうして出来たアプリケーションにmikutterアイコンをセットしてやれば・・・


f:id:moguno:20130114010253p:plain


よっしゃ!いっちょまえのMacアプリっぽくなりました。


でも、WindowsとかLinuxの各種DEで当たり前に出来ることがMacで出来ないって言うのも不思議な話で。
なんか他にやり方があるんだろうか?


ぴんぽーん♪


・・・おや、誰か来たみたい。

2015年6月20日追記

mikutterのデーモンモードを使えば、nohupとか駆使しなくても大丈夫でした。

rubyのフルパス mikutter.rbのフルパス -d

初代Mac miniにmikutterを入れるまでの記録

2005年に発売された初代Mac mini
当時は\50k台で買える小さなMacと言うのが画期的で、思わず買ってしまいました。
多分給料で買った始めての高額商品かも。

PowerPC G4 1.25GHz
HDD 40GB Ultra ATA
CD-RW/DVD-ROM(CD最大24倍速、DVD最大8倍速)
ATI RADEON 9200(AGP 4× 32MB)
10/100BASE-T
DVI-I×1
USB2.0×2
400Mbps FireWire×1
ステレオミニジャック×1

折角買ったんですが当時Windowsを崇拝していた僕にはUIの違いが許容できず、余り使わず部屋のインテリアに。
どっちかと言うとVineとかDebianを入れてサーバとして使ってた方が長いかも。

今やサーバ用途としても微妙なスペックになってしまいましたが、コンパクトでスタイリッシュなMac miniはなかなか捨てる気にもなれず、メモリを1GBに積み替えたりOSをLeopardにアップグレードしたりと、なんとなく保守して来てました。

今回はそんなMac mini君にmikutterをインストールしてみます。
完全にオワコン化したPowerPCなMacがどこまで戦えるかって企画です。

MacPortsのインストール

今ドキだとhomebrewを使うのがいいんでしょうけど、PowerPC用のツリーは本家とは別みたいで、PowerPC時代からやってはるMacPortsさんを使うことにします。

てか、昔導入したのが残ってたので惰性でそれを使います。
取り敢えず最新版にアップグレードしときます。

sudo port selfupdate

Xcode 3.1.4インストール

Leopard付属のXcodeはzlib他のライブラリが古くてMacPortsさんが駄々をこねるので、ppcでの最新版Xcode3.1.4を導入します。

公式開発者向けサイトのDownloads for Apple Developersで3.1.4を検索すれば出てきます。

https://developer.apple.com/downloads/index.action



注:かなり時間がかかります。

Mac minisafari経由で落とそうとすると「完了まで4時間」とか表示されて辟易。
なんかの間違いだろうとメインマシンでダウンロードしたら3分で終わった。
それをsftpでMac miniに転送。これまた3分。
自分のファインプレーにほくそ笑みつつインストールを開始するも、「インストール完了まで4時間」とか表示されたので寝ました。

ruby1.9インストール

翌日、Xcodeのインストールが完了してることを確認して、ruby1.9のインストール開始。

sudo port install ruby1.9


注:かなり時間がかかります。

おおっ!1.9.3が落ちてくるんだ。
8年前のPCでも最新鋭のスクリプト言語が使えちゃうのがOSSのいい所よね。嬉しいなっと。

・・・あれ?全然ターミナルの表示が更新されないな。

・・・。

・・・会社行くか。

gtk2インストール

途中でコンパイルエラーしてたらどうしようかと思いながら家に帰ってきたら無事に完了してました。
続いてgtk2のインストールを開始。

sudo port install gtk2


注:めっちゃ時間がかかります。

依存関係でいきなりperlのインストールが始まって、長期戦を予感させる。

libtool・・・automake・・・各種ミドルウェア・・・

そろそろかな・・・?そろそろかな・・・?

ぐはぁ!!pythonさん!なんで出てくるんスカぉぁぁぁぁぁぁぁぁ!!


寝ました。

ruby/gtkのインストール

更に翌日。
眠い目を擦りながらgemからruby/gtkのインストール

sudo gem1.9 install gtk2


そして二度寝。

注:多分20分位です。

XQurtzのインストール

標準のX11だとOAuthの認証ウインドウが出た時点でお亡くなりになるので、XQuartzをインストール。

http://xquartz.macosforge.org/landing/

OSのバージョンを検知して適切なXQuartzのバージョンを提示してくれます。親切。
ちなみに、2.6.3がLeopard版の最終バージョンです。

注:これはそんなに時間がかかりません。5分くらい?

mikutterのインストール

svnMacPortsから持ってくるともう一日位消費しちゃいそうなので、tarボールを取ってきます。
そして、インタプリタ指定で起動。

ruby1.9 mikutter.rb


無事起動します。動作は良好!やった!!
動作後はそれなりの速度に動作してます。

結論

PowerPCMacOSでもmikutterは動く。
MacPortsのパッケージコンパイルは初代Mac miniではキツイ。
もぐのはきっとFreeBSDとかGentooでは生きられない男。