Help us understand the problem. What is going on with this article?

spotlightでsleepできるようにする

More than 5 years have passed since last update.

さようならAlfread

 Macユーザーには必須のランチャーalfred。spotlightでは出来ない機能の一つとして、「screensaver」でスクリーンセーバー状態に入って、「sleep」でマシンがスリープするSystem機能がある。ショートカットとか覚えるのは苦手なので、コマンドで実行できるのが重宝していた。
これがspotlightで実現できたら、もうAlfread外してspotlightでいいような気がしてきたので、spotlightからsleepできるようにした。

コマンドラインからスリープできるようにする

~/bin/sleepコマンドを作成。

$ emacs ~/bin/sleep
#!/usr/bin/osascript
tell application "Finder" to sleep

これで、コマンドラインでsleepとうてばマシンをスリープできるようになる。
sleepという名前は/bin/sleepとかぶるから、気になる人はmac_sleepとか適当な名前にしておいたほうがいいのかも。ぼくはspotlightからsleepと入れたいから、痛い目にあうまではこのままにしておくつもりだけど。

ターミナルの設定

sleepから復帰した時 [Process completed] のウインドウが残ってウザい人は、下記の設定で自動的に閉じるように設定。

設定 → Profiles → Shell → When the shell exits: を「Don’t close the window」から「Close if the shell exited cleanly」に変える

spotlightから呼び出す

 ここまでの処理が出来上がっていれば、普通にspotlightにsleepと打てばsleepコマンドでスリープさせることができるはず。

Spotlight_and_New_-_Qiita_and_1__bash_and_Untitled.png

おまけ

 同様にしてshutdownとかscreensaverとかも実現できます。

shutdown

#!/bin/sh
osascript -e 'tell application "Finder" to shut down'

screensaver

#!/usr/bin/osascript
tell application "System Events" to start current screen saver

desktop

#!/bin/sh
/Applications/Mission\ Control.app/Contents/MacOS/Mission\ Control 1

昔あったような全部のウインドウを最小化する(あとで戻すのがめんどくさい)あれではなくて、OS標準のMissionControlの機能。一時的に全てのウインドウが隠れてデスクトップが見えるようになり、画面端をクリックすれば全てのウィンドウが元の位置に戻ります。

admin-guild
「Webサービスの運営に必要なあらゆる知見」を共有できる場として作られた、運営者のためのコミュニティです。
https://admin-guild.slack.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away