MacBook の内蔵キーボードを有効にしたり無効にしたりするやつ、よく使うけど毎回 Terminal でコマンドうつの面倒くさいので Alfred の Workflow にした。

Alfred の Workflow でシェルコマンド実行できるけど sudo しないといけないのは実行できない。調べたら AppleScript 経由だと実行できることが分かった。

Workflows requiring privileges - Workflow Help & Questions - Alfred App Community Forum

こんな感じ

do script “実行したいシェルスクリプト” with administrator privileges

MacBook の内蔵キーボードの有効無効の切り替えは以下のような感じになる。

on alfred_script(q)
  set script_to_run to "sudo kext" & q & " /System/Library/Extensions/AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext"
  do shell script script_to_run with administrator privileges
end alfred_script

これ打つと認証プロンプト出るのでそこでパスワード入力すればよい。便利。

追記

workflow にして公開しといたので使ってみたい人いたら使ってください。

resources.portalshit.net

ApplicationIcon.175x175-75.png (175×175)

MacVim で Markdown 形式で文章を書いて Marked.app でプレビューしてた。 Marked.app 、便利なんだけどリストのネストの解釈が GitHub とかの Markdown と違ってて、スペース 4 つ入れないといけないのがだるかった。あとコードのシンタックスハイライトも GitHub のに比べたら弱い。やはり GitHub Flavored Markdown で Markdown をプレビューしたい。

ここを読めばやり方が書いてある。

Using Marked with Github Flavored Markdown and Syntax Highlighting / How-to, tips and tricks / Knowledge Base - Marked Support

GitHub Flavored Markdown と互換にしたいなら結局 GitHub が使っていると公言している redcarpet と pygments.rb (と Python の Pygments )がいることになる。 Docter というその辺の gem をラップする Node.js 製のソフトを使えと書かれているけどいらないものは入れたくなかったので gem install pygments.rb redcarpet するだけにとどめた。

rbenv とか rvm でインストールした Ruby のバージョンで gem をインストールして使おうとすると失敗するらしいのであまり気が進まなかったけど sudo つけてシステムルビーにインストールした。

そんでもって同じ URL に書いてある Docter の Docter/bin/github-flavored-markdown.rb at master · alampros/Docter をパクってちょっと改変してから使うことにした。これをテキトーな名前で保存して chmod a+x する。

なんか HTMLwithPygments#header は引数三つ受け取れるようにしてないとエラーになるっぽい。あと style は Marked で当たるのでここで当てる必要なさそう。

Marked.app 側の設定で Custom Markdown Processor にチェックを入れてファイルのパスを指定すればオッケー。

Marked.app でも GitHub Flavored Markdown に近いかたちで Markdown のプレビューができるようになるのでドキュメント大量生成するしかないですね。

日曜の朝に Mac を触っていたら突然 OS が落ちた。しょうがないのでスタートボタンを押して OS を起動させた。 OS 起動後、メッセージを見ようとするけど Messages.app 起動時にクラッシュして見られない。

一旦 iCloud アカウントからログアウトして再ログインしたらいけるかなと思ってログアウトして再度ログインを試みる。しかし各種設定をオンにしてもサーバーとの通信に失敗しているようで、 iCloud の利用ができない状態になってしまった。

同時にインターネットアカウント設定が出来ないことに気がつく。「インターネットアカウント を読み込めませんでした」というエラーが出る。

Apple Support Discussion で見かけた Unable to load iCloud and Internet...: Apple Support Communities を参考に ~/Library/Caches/com.apple.iCloudHelper を消して com.apple.iCloudHelper を kill してログアウト -> ログインを試すもダメ。 iCloud 関連で用いるファイルにロックがかかっている状況で OS が突然停止して iCloud 死んだぽかった。

英語の Apple Support Discussion の情報を一通り眺めて試してみたけど Messages.app とインターネットアカウント設定は復活せず、あきらめて TimeMachine のバックアップデータから復元することにした。 33 時間かかって復元は終わった。 Messages.app は無事起動するようになったが万事元通りとはならず、アドビ系のソフトが全滅した。

まえ MacBook の HDD を SSD に変えたときに TimeMachine のバックアップから復元したら同じように Adobe CS4 のライセンシングが機能しなくなって Photoshop とか使えなくなった。前回はハードドライブが変わったからそうなったのかと思っていて、同じ SSD に復元するのであればこういうことは起こらないのではないかと勝手な期待を抱いて復元してみたら、案の定ライセンシングが機能しなくて起動しなくなった。

前回はディスクケースに取り出した古い HDD を入れてディスクから Mac を起動してアドビ系のライセンス認証を解除して回ることで Photoshop とか起動できるようになった。今回はディスクの換装ではないので古いドライブが存在しているわけではなく消去して上書きインストールされているので、旧データの OS を起動してライセンス認証を解除するということもできない。 Adobe が CS4 向けに提供しているライセンス修復ツールは PowerPC アプリケーションというクソっぷりで、 Intel CPU の Mavericks で起動するわけもなく。どうせ Adobe のサポートとかに電話しても Mavericks で CS4 の動作は保証しておりませんとか言われるだけだろう。つらい。

Adobe のソフト、基本的に異常な操作感だし使いたくないけど、印刷屋に年賀状とかのデータを送るときにどうしても使わないといけないのがだるい。国はアドビ対策基本法とか制定してアドビ倒産に追い込んで欲しい。

TimeMachine のバックアップから復元するときはご面倒さまでも Adobe ソフトのライセンス認証を解除してから行われることをおすすめします。最近の Creative Suite ではこういうことおこんないのかな。マジでクソい。

追記(2014/05/08)

昨夜、一旦ソフトをアンインストールして入れ直したら Photoshop とか使えるようになった。ライセンシングが機能しなくなったらインストールし直せば何とかなるようです。ディスクが何枚にも分かれてるので時間かかるけどな。

2年くらい前に Western Digital の My Book Live という NAS を買った。ほんとは Time Capsule が良かったんだけど Time Capsule を買う金はなくてこれにした。

狭い机の上にハードディスクを置くのが嫌だったので NAS にしたんだけど、ものすごく使いづらい。 WiFi 経由なのもあるかもしれないけど、転送速度がすごく遅い。 MacBook Pro Mid 2009 のディスクを HDD から SDD に交換したとき、 My Book Live 内の TimeMachine バックアップから WiFi 経由で復元したら、 300 GB 程度のデータを転送するのに丸三日かかった。 WiFi ルーターが Fon の 802.11b/g のやつだから 802.11n のやつに変えればもう少し実用的な速度になるのかも知れない。

TimeMachine 用に使うにはバックアップに頻繁に失敗するのもつらい。なんかディスクの信頼性が低下したとかで頻繁に過去のバックアップを消去して新規バックアップを作成しろとか出る。 Mountain Lion の頃によくこの警告出てて Mavericks にしてからあまり出なくなったけど、それでも 2 ヶ月に 1回くらいの頻度でバックアップ新規作成(=フルバックアップ作成。これも 2, 3 日かかる)しないといけなくなるのでつらい。

ちなみにバックアップディスクの信頼性が低下したときは以下のような一連の呪術的なプロセスを経ることでタイムマシーンのバックアップディスクとして再利用可能になる。

Time Machine バックアップイメージの修復 - almost discontinuous log

Mavericks にしてからマウスジェスチャーソフトの xGestures がうまく使えなくなった。起動するときにエラーが出て、いちいちターミナルから open -a ~/Library/PreferencePanes/xGestures.prefPane/Contents/Resources/xGestures.app して呼び出したりしてたけど、今朝ついに起動しなくなってしまった。

マウスジェスチャーのソフトはいろいろあるけど、 xGestures の良かったところはブラウザープラグインではなく、 Finder などブラウザ以外のソフトでもジェスチャーを設定出来るところだった。 Finder や FTP クライアントなどのような「戻る」「進む」概念のあるソフトウェアでマウスジェスチャー使えたのが大変便利だった。

xGestures は昔からアップデートが遅くて、 OS のバージョン上げる度に苦労してた印象ある。このまま新しいバージョンとか出ない可能性もある。ひと思いに他のソフトに移行してみようかと検索してみたけど、 CocoaSuite とかも開発止まってたし、良い感じのソフトなかった。検索して出てくるのはどれも Magic Trackpad / Magic Mouse を使いやすくするソフトウェアばかりだった。

いま普通の Mac ユーザーはみんな Magic (Trackpad|Mouse) 使ってて、 OS X に標準で組み込まれてるスワイプ機能とかで事足りてるのかも知れない。みんなタッチスクリーンに慣れてるし、画像編集ソフトなんかで細かい修正作業とかするとき以外 Mac でわざわざマウス使う理由とかない感じがする。そのうち若い人はマウスとか使わなくなって、「マウスジェスチャーって何? 原始時代の儀式か何か?」みたいに感じになるのかも知れない。

Reeder for Mac の新しいの出ないので ReadKit というの買ったらイノベーティブだった。RSS リーダーとしてだけではなく、Pinboard のブックマークとか Instapaper とか Pocket のやつも読めてこれまでの RSS リーダーとはひと味違う。これだけでフィードの購読、過去読んだ記事の検索までできるので最高だと思う。Google Reader 死んでからインターネットつまらないと思ってたけどこれでまたインターネット楽しくなりそうな感じする。

ReadKit

945-chrome-bookmark-search-with-alfred.png (708×295)

みんなやりたいようで検索したらいっぱい出てきた。一番上に出てきたのは中の人が作ってるやつ。

Chrome Bookmark Search Workflow - Share your Workflows - Alfred App Community Forum

ただソース見たら php で作られてた。あまり変なもん入れたくないのでスルーして別のを探したらこういうのを見つけた。

alfred-workflows by mdreizin

これは Python 製らしい。偏見かもだけど Python 製なら大丈夫そうだなと思ってこっちを使ってみることにした。

一応ちゃんと動いている。