「Automator」タグアーカイブ

偽マックをなだめすかす

この一見なつかしいPower Macintosh G3の「ような」マシンは、素性が素性だけになかなか言うことを聞いてくれない。(写真は数年前のOSがEl Capitanの頃のもの)

まず、ちゃんとスリープができない。いろんな要素が絡まっているらしく、あれこれ手当してみたが眠らせると二度と起きてこない。いや、現状では起きようとするのだがスクリーンがブラックアウトしたままなので、目を瞑ったまま歩き回る夢遊病者のようなもんだ。(手当をする度に症状が変わる!)

ただ、地下室に在って常に使うものじゃないのと、SSDとCore i7のCPUのおかげで電源OFFの状態から起動するのに30秒ほどしかかからないので、スリープなしでもさほどの不便はない。

別の問題のほうが深刻でときどき手を焼かされる。システムを終了するときに「再ログイン時にウインドウを再度開く」のチェックを外しているにもかかわらず次の立ち上げで終了時のアプリが再現され、しかも終了のプロセスまで辿ってくれるもんだからあれよあれよと言ううちにシステムが終了してしまう。あとは、なんど立ち上げても同じことの繰り返し。

リアルMacならNVRAM/PRAMをリセットすると何とかなるのかもしれないが、夢見てるような偽マックにはそんなものは無い。仕方なくClover(boot loader)のブートオプションに-x(safe mode)付けて立ち上げて、偽Macの記憶こびり着いている訳のわからんものをクリアするしかない。しかしこれは十数秒ほどのPRAMクリアと違い下手すると数分かかる。そんでまた再起動。

そうしょっちゅう起きる症状でもないので長らく放ったらかしていいたが、ふと、窓やタブをいっぱい開き散らかしたFirefoxや重たいグラフィックソフトなど、終了に時間がかかるものを、ちゃんと閉じずにそのままエイヤッ!とシステムを落とすと、こうなるのではないか、と思いついた。なら、丁寧に全てのアプリを閉じてからシャットダウンすれば良いだけのことなんだけど、根が面倒くさがり屋なもんで、、、

そこで開いている「アプリを一発で全部閉じる」方法を考えてみた。かつてMacにはそういう3rd パーティーアプリがあったような気もするが、そんなの探さずともApple Scriptでなんとかなるかもしれない、(とは言うもののApple Scriptなんて勉強したこともないけどね)。MacにはAutomatorという、いろんなことを自動化してくれるアプリが標準で付いていて、スクリプトを動かすワークフローやアプリを作ることができる。調べてみたら「全てのアプリケーションを閉じる」というのがプリセットで用意されていた。これでアプリをでっち上げることができる。

ついでに、同じアプリに「tell app “Finder” to shut down」つまり「Finderアプリにシャットダウンするよう告げよ」とスクリプトを書き込でやれば手間が省ける。しめしめ、と思ったが、一応、Automatorに突っ込んだ順で実行されるのだけど、最初の全てのアプリを閉じるのがどんだけの速さで行われるのか判らん。お片づけxxxxxが終わらないうちに次のスクリプトがちゃちゃっとシステムを落としてしまったら、元々の問題を再現してしまいかねない。そんじゃあ、わざわざアプリまででっち上げて、何をやってるのかわかんねえじゃん。ということで、さしたる根拠もなく、スクリプトの実行を5秒遅らせる「delay 5」というおまじないも入れておいた。

はたして、今のところ偽マックのお目覚め(ていうか、スリープじゃないから生き返りか?)は快調そのもの。

最後の仕上げに、Automatorで作ったアプリはAutomatorのアイコンになってしまうので、適当にでっち上げたアイコンと入れ替え。(Terminalのコマンドに「iconutil」というのがあって、これで画像をアイコンにしたり、アイコンを画像にもどしたりできる。どうでもいいけど、まあ、結果的にとても品のないアイコンになっちゃったけど、、、動けばよしと)