原因は、このブログの開発環境にありました。
このブログは静的コンテンツなのですが、次のような手順でブログを運営しています。 (Rakefileで自動化されていますが、内部ではこうなっています)
Mac OS X では、ファイル名のエンコードにUTF-8-MAC
を使っているので、
そのままアップロードすると、サーバ上のファイル名もUTF-8-MAC
になります。
しかし、ファイル自体のエンコードはUTF-8
でURLをパーセントエンコーディングしていないので、
リンク先が見つからなくなってしまうようです。
UTF-8-MAC問題について詳しく知りたい人は、こちらなどが勉強になるとおもいます。
解決方法は簡単で、Rsyncでアップロードするときに、--iconv
オプションを使い、
ファイル名をUTF-8-MAC
からUTF-8
に変換すれば治ります。
私が所属している情報科学類(略称coins)では、24時間いつでもsshできるiMacがあるのですが、文字エンコーディングはEUC-JPです。
一方で私のノートPCの文字エンコーディングはUTF-8なので、 普通にsshすると文字化けしてひどいことになってしまいます。
cocotという端末(tty)とプロセスの間に割り込んで、文字コード変換を行うツールがあるので、これを使うことで文字化けが解消します。
OS Xを使っていれば、cocotは普通にhomebrewからインストールできます。
brew install cocot # cocotをインストールする
UTF-8環境からEUC-JP環境にsshする場合、次のようにすればいいです。
# cocot -t コンソール側の文字コード -p プロセス側の文字コード -- 使いたいコマンド
cocot -t UTF-8 -p EUC-JP -- ssh coins
頻繁にsshする場合、次のようにエイリアスを作ればいいかと思います。 うーむ。エイリアス名は検討の余地がありそうです。(汗)
alias sshe='cocot -t UTF-8 -p EUC-JP -- ssh' #EUC-JP環境にsshする
sshe coins
この前Macを使い始めたばかりでしたが、無料でアップデートできると知って、 Mountain Lionにしてしまいました。
しかし、Mountain Lion にしてから困ったことに、 wineやinkscapeといった、X Window Systemを必要とするアプリケーションがすべて動かなくなってしまいました。
調べてみると、Moutain Lionから標準でX11がインストールされなくなったようです。
X11の代わりに、OS X用のXQuartzというXウィンドウシステムがあるので、 これをインストールして再起動すれば、解決します。
X11はバグがあるらしいので、Moutain Lionじゃない人もXQuartzに乗り換えてもいいかもしれませんね。
Macでは、Comand + tabなどで、アプリケーション単位の切り替えができますが、 同一アプリケーションで複数のウィンドウを開いているときに、 どうやってウィンドウを切り替えるのかがわかりませんでした。
調べてみると、OSの標準機能で同一アプリケーション内のウィンドウを切り替える機能がありました。
環境設定 > キーボード > キーボードとショートカット > キーボードと文字入力 > 次のウィンドウを操作対象にする
このような機能があるので、これに任意のショートカットを割り当てれば良いです。
私の場合、option + tab
に割り当てることにしました。
これで、Chromeで複数ウィンドウを開いているときなども、 簡単にウィンドウを切り替えることができるようになりました。
~/Library/Preferences/com.apple.Terminal.plistのRoot > Window Settings > (任意のテーマ) > shellExitActionの値を1(Number)に変更します。 Mac OSXでTerminalをexitしたら閉じるようにする方法を参考しました。