コマンドラインでスリープさせたい

UbuntuMacコマンドラインからスリープ(サスペンド)させたい時がある。例えば、スクリプトが終了したらスリープさせたいとか。
Macだったらsudo shutdown -s nowで、Ubuntuだったらsudo pm-suspendで確かにできるのだけれど、これは管理者権限が必要だ。ユーザー権限のスクリプトを動作した後に自動でサスペンドしたいのにパスワード要求されたら自動でサスペンド出来ない…
そこでぐぐってみたところ見つけた。

とりあえず、.zshrcに

# Ubuntu
alias power_suspend="dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend"
# Mac
alias power_suspend="osascript -e 'tell application \"Finder\" to sleep'"

と書き加えておいた。めでたし。


え、Windowsはどうするのかって?? Windowsあまり使わないからなあ…

2012/8/14 追記

dbusによるスリープはGUIでログインしてる状態でないと効かない?

最近はこのコマンドを使っている。

# Mac
pmset sleepnow
# Ubuntu
sudo pm-suspend 

sudoで毎回パスワードを打つのが面倒なのでsudoersを編集してpm-suspendだけパスワード無しで実行できるようにしてる。