「macOS Mojave」のダークモードをコマンドラインから切り替える方法

Bash, Mac

はじめに

コマンドラインでなんでもやりたいgenzouwです。
会社のMacと自宅のMacの環境構築はすべてスクリプト化して、いずれも同じ設定になるようにしています。

さて、「macOS Mojave」で利用可能なDarkMode(ダークモード)ですが、こちらを有効にすると「省電力稼働となる」、「目が疲れにくい」といった効果があるということで有効にしていました。

久々に自宅のMacを開いたところこちらの環境だけDarkModeが有効になっていませんでした。

これは良くない、原因はGUIから設定したことにあるな、ということでコマンドラインから有効にする方法を模索してみました。

検証環境

$ uname -moi
x86_64 MacBookPro10,1 Darwin

osascript コマンドを使う

Macに搭載されている AppleScript というOS操作用のスクリプトを利用します。
スクリプトを実行するためのコマンドは osascript です。

ダークモードを有効にする

以下のワンライナーコマンドをセットアップスクリプトにでも追記してやればOKです。

$ osascript -e 'tell application "System Events" to tell appearance preferences to set dark mode to true'

ダークモードを無効にする

「真偽値」部分を反転させるだけです。

$ osascript -e 'tell application "System Events" to tell appearance preferences to set dark mode to false'

ひとこと

AppleScriptってあんまり知らなかったのですが、以下のGithubリポジトリのソースコード覗いていたら上記の方法が書かれていました。勉強になりました。

Bash, Mac