月曜日, 9月 27, 2010

読めないMacのHDDを未練たらしく触ってみた

起動しなくなったG4 CubeのHDDをどうしようかと机の上に置いておいて、ふと「fsckしてみればいいんでない?」と思いついた。今頃感がすごくアレだけど。

Ubuntuを見るとhfsprogsというパッケージにHFS, HFS+用のfsckが入っているようなので使用してみたら「Catalog file entry not found for extent」と出て終了。やはりここはOSXでやるべきかと、Macに刺してfsckしてみたら

$ sudo fsck /dev/disk3s1 
** /dev/rdisk3s1 (NO WRITE)
BAD SUPER BLOCK: MAGIC NUMBER WRONG

LOOK FOR ALTERNATE SUPERBLOCKS? no
と出て、やっぱり終了。ようやっとすっぱり諦められた。

ハードが壊れたとばかり思っていたけど、どうも論理的に壊れてる様子。ブートローダは壊れていない。

土曜日, 9月 25, 2010

iPadをBBモバイルポイントで使えるようにしてもらった

自分でやらんのかい。

自分でやろうかと思ったけど、自分のW-Zero3からでは設定できなかった。多分PCからのアクセスと認識されたのだろう。想定内。仕方ないので、設定手順を手短にメールに書いて妹に送った。んで、マクドナルドで確認したらあっさり繋がった。

妹ありがとう。

金曜日, 9月 24, 2010

boostも入れておいた

仕事中に時間がかかりそうなビルドを済ましておこうかととりあえず済ませてみた。

MacPortsで

$ sudo port install boost +universal
で難なく終了。

sshfsを導入してみた

世の中にはsshfsなどという便利そうなものがあると耳にした事はあったわけですが、ぐうたらが災いして今まで使用した事がありませんでした。んで、最近Snow Leopardへのインストール関連についての検索をしていてたまたま目に留まったので、気まぐれに使ってみました。

最初は職場でUbuntuマシンにインストール。synapticからなので簡単。使い方も簡単なので略。しかし、想像以上に簡単便利!これは素晴らしいと、職場の非力なXPノートPCにもDokanSSHFSをインストール。これも簡単は簡単でしたが、残念ながら動作が不安定。多分あまりに非力(メモリが少なすぎる)だったのがいけないのではないかと思います。

それではと、自宅のMacにもとMacPortsでインストールを試みましたが、

$ sudo port install macfuse
      :
--->  Activating macfuse @2.0.3_2
Error: Target org.macports.activate returned: Image error: /Library/Application Support/Developer/Shared/Xcode/Project Templates/MacFUSE already exists and does not belong to a registered port.  Unable to activate port macfuse. Use 'port -f activate macfuse' to force the activation.
Log for macfuse is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_fuse_macfuse/main.log
Error: Status 1 encountered during processing.
To report a bug, see 
何故かこける。指示通りに
$ sudo port -f activate macfuse
としますと、大量にWarningが出ますが正常終了した模様。既にMacFUSE入ってたのかな?んで続行しますと
$ sudo port install macfuse
      :
--->  Building xorg-libXt
Error: Target org.macports.build returned: shell command failed
Log for xorg-libXt is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_xorg-libXt/main.log
Error: The following dependencies failed to build: openssh xauth xorg-libXmu xorg-libXt
Error: Status 1 encountered during processing.
To report a bug, see 
…Xtは関係ないだろうに、と思いながら
$ sudo port install macfuse +no_x11
としてみたら無事終了しました。

現在動作試験中ですが、問題なく動いている模様。

普段使いの一般ユーザアカウントでsudoできるようにはしなかった

sudoできないと不便かなと思ってやる気満々だったのですが、もたもたしている間に「ssh admin@localhostとかすればいいんでない?」という事に気がついた。

それだけ。

OSXでのユーザシェルをzshに切り替えた

Snow Leopardには初めからzshが入っている事に今更驚き。

ということで、こちらを参考にしながらデフォルトシェルを変更。.zshrcはUbuntu環境で使用中のものをそのままコピー。たぶん問題なし。

CTUでポートフォワードの再設定をした

これまで外から自宅内PCを操作する時にはG4 Cube上で動作していたsshd越しに行っていましたが、Cube亡きこれからは別の手段に切り替えなければなりません。ここで何か新しいことに挑戦すればカッコいいのですが、なにぶんぐうたらなので、とりあえずはほぼ同じ事をしてお茶を濁します。新しいMac miniにも同様にsshdが動いておりますので、外からminiへ22番ポートをフォワードするように設定を変更します。

自宅はNTT西日本のフレッツ光プレミアム・マンションタイプに加入しておりますが、この場合の終端装置はCTUと呼ばれる機械になっています。これの操作をする際はhttps://ctu.fletsnet.com/CtuC101/init.doという謎のアドレスを叩く必要があり、これが不思議だったのですが「NTT側の用意したCTU設定サーバに接続し、設定する」ということだったのですね。CTUでのポートフォワードですが、詳細設定の中の静的アドレス変換設定(ポート指定)はすぐに気づけるのですが、ファイアウォール設定の中の詳細設定の中のルール設定まではなかなか気付けません。一度やっているはずなのですが、今回も見事に忘れていました。何か一手間かかっていたというぼんやりとした記憶がなければさらに手間がかかっていたかもしれません。ほとんどトラップといってもいいレベルだと思うのです。

木曜日, 9月 23, 2010

ひさびさにW-Zero3からダイアルアップ接続しようかと思ったら繋がらなかった

PHSアカウントからメールを使わなければならない用件のためにひさびさにW-Zero3を使おうとしたら、電源が入らなかった。バッテリが干上がっていたのは明白なのでしばらく充電してから起動してメール受信しようとすると「オンラインサインアップして下さい」とメッセージが出てダイアルアップ接続自体ができない。そこでそのオンラインサインアップをと思ってもオンラインサインアップ自体のための接続ができないでいる。調べると[ダイアル情報を使用する]のチェックを外さなければならないらしい

どうにか使えるようになった。

水曜日, 9月 22, 2010

Snow LoerpardにpTeXをインストールした

どうもなかなかTeXを使わざるを得ない状況にあるので、TeXもインストールします。

バイナリパッケージをインストールするのが最もポピュラーな様ですが、ここはMacPortsを使うことにします。

$ sudo port install pTeX +utf8 +no_x11
多分これで良いのでしょう。動作は後で確認する。

OS Xの画面共有をWindowsから使ってみた

ココのところ、毎日自宅へ帰るとOS Xの設定をしたりソフトウェアのインストールしたり動かしてみたりで大幅に時間が取られています。会社でも当然忙しいはずなのですが、コンパイルなど時間がかかる作業は他の事をしながらでもできるので、会社から自宅のMacを操作する環境の整備の検討をしてみました。コンソールだけならsshさえ通れば十分で、外部からのポートフォワーディングさえ行えばよいし、既に対応済みです。OS Xでの作業はコンソールだけではなかなか辛いので、できればGUIでの作業が可能であることが望ましいです。ということで、OS Xの画面共有の機能をMac以外の機械から行えるようにしてみました。

やったことはこちらで紹介されていることそのままで、実際にやってみますとこちらで報告されていますようにキーボード入力に不都合が見られます。理由は解りませんが、可能性としてServer側(ASCII)とClient側(JIS)とでキーボード配列が異なっているのもあるかもしれません。参考になるかは分かりませんが、JIS配列キーボードで使用しているWindows上のRealVNCからでなく、ASCII配列キーボードで使用しているUbuntu上のvinagreからでは何故かキーボード入力の不都合が発生していないようです。それではUbuntuから使用するかとも思いましたが、RealVNCと比べてあまりに描画速度が遅く操作のレスポンスが悪いので、即座に継続使用を断念しました。あと、OS Xの画面共有で使用されていますポート番号は5900であるようですので、外部から使用する場合にフォワード(SSHで通しています)する場合はポート番号5900に対して行えばよいようです。

とりあえずRealVNCからの使用を続けることにします。

OS Xにもろもろバージョン管理システムをインストールした

Mac miniにもろもろプログラムをインストールしたいので、取り敢えずバージョン管理システムをもろもろインストールすることにした。

CVSとSubversionははじめから入っていた。その他はすべてMacPortsからインストール。Bazaar(使ったことはない)というのをインストールしようと"\$ sudo port install bazaar"とかしてみたが何故かうまく行かない。調べると"# sudo port bzr"でインストールするのらしい。実に紛らわしい。ついでにgit, mercurialなどもインストール。

BBモバイルポイントの設定をやり直した

ひと月前位から急にBBモバイルポイントが使えなくなった。うろ覚えでいじっても治らなかったが、特に困ることもなかったので放置していた。

ふと思い出したので改めてちゃんと調べなおしたところ、単に(何故か)WEPキーを記憶喪失してたらしい。入れ直したらつながるようになった。

火曜日, 9月 21, 2010

iTunesのデータを再び移動した

先月にそれまで使っていたG4 CubeからiTunesデータをコピーした直後にHDDが壊れ、ギリギリ難を逃れたことを書きました。その時もうっかり管理者アカウントのMusicフォルダに入れ運用してしまっていたのが引っかかっていた。できれば一般ユーザ側に移動したい。そこで再びiTunesデータの移動を行った。Cubeから移動したときは関連するplistファイルのコピーができなかったが、今のところ困ることは起きていない。今回はできる限りのファイル移動を行う。

まずはiPhoneの同期・バックアップを行って、コピー元iTunesの認証解除を行った後にこちらを参考にファイルのコピーを進める。

# rsync -avz /Users/admin/Music/iTunes/ /Users/neko/Music/iTunes/
# mkdir /Users/neko/Library/Application\ Support/MobileSync/Backup/
# rsync -av /Users/admin/Library/Application\ Support/MobileSync/Backup/ /Users/neko/Library/Application\ Support/MobileSync/Backup/
# rsync -av /Users/admin/Library/iTunes/ /Users/neko/Library/iTunes/
# rsync -av /Users/admin/Library/Preferences/com.apple.iPod.plist /Users/neko/Library/Preferences/
# rsync -av /Users/admin/Library/Preferences/com.apple.iTunes.plist /Users/neko/Library/Preferences/
# rsync -av /Users/admin/Library/Preferences/com.apple.iTunes.eq.plist /Users/neko/Library/Preferences/
# rsync -av /Users/admin/Library/Preferences/com.apple.iTunesHelper.plist /Users/neko/Library/Preferences/
# chown -Rv neko:staff /Users/neko/Music/iTunes
# chown -Rv neko:staff /Users/neko/Library/Application\ Support/MobileSync/
# chown -Rv neko:staff /Users/neko/Library/iTunes/
# chown -Rv neko:staff /Users/neko/Library/Preferences/
# mv /Users/admin/Music/iTunes /Users/admin/Music/iTunes.backup
# mv /Users/admin/Music/iTunes.orig /Users/admin/Music/iTunes
こんな感じで。

大体これでいいかな?と思って、データ移動先の一般ユーザでiTunesの認証設定を行ってから改めてiPhoneとiPadの同期を行ったところ、iPhoneは問題なく同期終了でiPadは…大半のアプリケーションが削除された。大して何も入れてなかったはず…と思ったけど若干アプリケーションを入れてみたのちに全く同期を取らなかったらしい。もしくは~/Library/Preferences/com.apple.iPod.plistのコピーを忘れたせい?殆ど使ってはいなかったので問題なし。

これで気掛かりがひとつ減った。

連休明け

iPhoneに無造作に突っ込まれていた500近いアプリケーションを整理していたら休みが終わった。

アホ過ぎるにも程がある。

木曜日, 9月 16, 2010

Snow Leopardにmatplotlibをインストールした

最近はmatplotlibがないと生きていけない体になりつつあり、自宅でmatplotlibが使えないというのは生死に係わる大問題となっております。今まではUbuntuをインストールしたノートPCで使用しておりましたが、その為にいちいちノートPCを用意するのも面倒ですので、ここは一つMacでも使えるようにしようということです。

Snow Leopardには初めからPythonが用意されています。

$ /usr/bin/python
Python 2.6.1 (r261:67515, Dec 17 2009, 00:59:15) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
これを使う形でmatplotlibを用意することも選択肢の一つ(ただし推奨されてない)ですし、また自前で全て用意することが最善であるようにも思えます(こちらやこちら参照)。要望としては、メンテナンスに手間がかからない様パッケージシステムに頼りたい、できればX11を使わずにCocoa GUIで使いたいと考えます。今回はできるだけMacPortsを使ってX11に依存しないようインストールすることを試みました。

こちらやこちらを参考にと考えましたが、パッケージのリビジョンが違うせいかそのままではうまく行きませんでした。pythonもスタンドアロンのバイナリでなくMacPortsでビルドします。tkinterで使用する予定はないので、"\$ sudo port install python26 +gcc44 +no_tkinter"でインストールします。"+gcc44"なのはなんとなくです(まったく根拠なし)。最初はgccまでビルドされますのでとても時間がかかります。終わりましたら"\$ sudo port install python_select"で"\$ sudo python_select python26"とします。次にnumpyをインストールします。これが問題で、"\$ sudo port install py26-numpy +gcc44"としてもビルドに失敗します。"\$ sudo port install py26-numpy @1.4.1 +gcc44"とバージョンを落としても変わりません。調べますと、現状ではATLASと組み合わせるとうまく行かない状況なようです。ATLASは使いたい気もしますが、ここは諦めて先に進むことにします("\$ sudo port install py26-numpy +gcc44 +no_atlas")。あとはscipyとipythonをインストールしてmatplotlibをインストールします。

$ sudo port install py26-scipy +gcc44
$ sudo port install py26-ipython
$ sudo port install py26-matplotlib +no_tkinter
取りあえずこれで全てビルドができました。matplotlibのビルドの最後に「matplotlibrcを書き換えろ」と出てきますので書き換えます。
# the default backend; one of GTK GTKAgg GTKCairo CocoaAgg FltkAgg
# MacOSX QtAgg Qt4Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG Template
# You can also deploy your own backend outside of matplotlib by
# referring to the module name (which must be in the PYTHONPATH) as
# 'module://my_backend'
# backend      : Agg
backend      : MacOSX

まだいろいろは試していませんが、簡単なスクリプトでは一応動作してくれています。

MacPortsを一旦削除

なんかこんがらがってきたような気がするので仕切りなおし。こちらを見ながら作業。

シェルもデーモンも使っていない(はず)なので、単に全部アンインストールして削除。

$ sudo port -f uninstall installed
$ sudo rm -rf /opt/local/

しまった、コンソールからMacPortsの再インストールどうしよう?

Pythonで型判定をする

よく忘れるのでメモ。

isinstance(obj,int)
isinstance(obj,long)
isinstance(obj,float)
isinstance(obj,basestring)
isinstance(obj,file)

OS XにCocoa Emacsをインストールした

Snow LeopardにはデフォルトでEmacsがインストールされていますが、コンソールでのみ動作しGUI付きでビルドされていません。やはりGUIを使いたいので別に用意することにします。Snow Leopardで動作するGUI付きEmacsにはCarbon EmacsとCocoa Emacsがあります。ここはCocoa Emacsをインストールすることにします。Cocoa Emacsにはバイナリパッケージもあるようですが、せっかくですので64bitバイナリ・インラインパッチ入りのバイナリを自分でビルドしてみることにします。

EmacsのソースはBazaarで管理されているそうなので、こちらを見ながらBazaarを使ってチェックアウトを試みてみたのですが、何故か全然落ちてきません。さっさと諦めまして、こちらを見ながらGitによるミラーからチェックアウトします。こちらからインラインパッチをダウンロードしてからソースコードにパッチ充てしてみましたが、微妙に不整合が出ます。自力で修正しようかと思いましたがちょっと面倒そう。即座に保留しまして、こちらを参考にCVSでチェックアウトします。CVSのリポジトリはメンテナンスされていない様で、ソースコードは大分古いようですが気にしないことにします。これにパッチを充てようとしますが一箇所だけ不整合が。

diff -p -N -r -x '*.orig' ../emacs-23.1.95/src/Makefile.in src/Makefile.in
*** ../emacs-23.1.95/src/Makefile.in    2010-03-29 04:08:24.000000000 +0900
--- src/Makefile.in     2010-04-06 22:38:39.000000000 +0900
*************** ns_appresdir=@ns_appresdir@/
*** 542,548 ****
  ns_appsrc=@ns_appsrc@
  /* Object files for NeXTstep */
  NS_OBJ= nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o \
!       fontset.o fringe.o image.o
  #endif  /* HAVE_NS */
  
  #ifdef HAVE_WINDOW_SYSTEM
--- 542,548 ----
  ns_appsrc=@ns_appsrc@
  /* Object files for NeXTstep */
  NS_OBJ= nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o \
!       fontset.o fringe.o image.o macim.o
  #endif  /* HAVE_NS */
  
  #ifdef HAVE_WINDOW_SYSTEM
これは簡単に直せます。
diff src/Makefile.in.orig src/Makefile.in 
545c545
<  fontset.o fringe.o image.o
---
>  fontset.o fringe.o image.o macim.o
583c583
<   nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o \
---
>   nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o macim.o \
1167a1168
> macim.o: macim.m lisp.h blockinput.h termhooks.h keyboard.h buffer.h $(config_h)
これで
$ ./configure --with-ns
$ make -j2
$ make install
したら無事にビルド完了。

できたnextstep/Emacs.appディレクトリ以下を/Applicationsフォルダにコピーでインストール終了…だと思います。まだ全然使ってないので。

水曜日, 9月 15, 2010

Snow Leopard Serverへsshで接続できるようにした

よく判りませんでしたが、多分サーバ管理でsshを開始するだけ。

それだけだと一般ユーザには接続できなかったのですが、サーバ管理のアカウントのsshで許可するユーザをD&Dで登録するだけみたい。

デフォルトだとパスワード認証になってしまうので、後でどうにかする。

日曜日, 9月 12, 2010

OS XにEvernoteをインストール(アンインストール)した

Mac miniにEvernoteとDropboxをインストールした…のはいいのだけど、うっかり管理者アカウントで同期を取ってしまった。 Dropboxはアカウント情報を削除するだけで同期をやめて、あとは同期フォルダを削除するだけで良いようだけど、Evernoteの場合はどうなっているのかよく判らない。Spotlightでそれっぽいフォルダを探して削除するも、アプリを再起動すると前のデータが読み込まれてしまう。

検索するとこのようなものを発見。ようするに"~/Library/Application Support/Evernote/"以下を削除すればいいのだと思うけど、念のためにアプリケーション含めて全部削除してから再インストール。