こんにちは、ソリューションの五十嵐です。
ブログの記事を書く際に画面のスクリーンショットを撮影する事がありますが、外部に漏らしてはいけない情報を写さないように気をつけて撮影しています。
中でもデスクトップのスクリーンショットを撮影する際には、デスクトップにある書類を退避してから撮影するなど手間になります。。。
ところが、Macユーザーであればこの手間を軽減することができます。
defaultsコマンド
Macにはdefaultsというコマンドが用意されています。
このコマンドはシステムの設定値を取得、変更するコマンドなのですが、その設定値の1つにデスクトップのアイコンを表示するか否かの設定があります。
こちらがコマンド実行前の私のデスクトップです。
ではdefaultsコマンドで設定値を変更してみましょう。
$ defaults write com.apple.finder CreateDesktop -boolean false
設定値を変更することができましたがFinderを再起動しないと設定は反映されません。
以下のコマンドで設定を反映しましょう。
$ killAll Finder
これでデスクトップが真っさらになったと思います。
元に戻す場合は以下で設定値をtrueにしましょう。
$ defaults write com.apple.finder CreateDesktop -boolean false
Finderの再起動も忘れずに。
コマンドが長い・・・
コマンドでデスクトップを綺麗にすることはできましたがご覧の通り、コマンドが長いです。。。
毎日切り替えるわけでもないので、いざ使おうと思う時にはコマンドを忘れてしまっています。
そこで、この手順をShellScriptにしてみます。
さきほどの設定値はreadオプションを指定することで0,1で取得できます。
$ defaults read com.apple.finder CreateDesktop
1
# デスクトップアイコン表示中は1
# 非表示中は0
これを判定して設定を逆転するようにします。
desktop_clear.sh
#!/bin/bash
flg=`defaults read com.apple.finder CreateDesktop`
if [ $flg = "0" ]; then
defaults write com.apple.finder CreateDesktop -boolean true
else
defaults write com.apple.finder CreateDesktop -boolean false
fi
killAll Finder
現在の設定を見て、設定を逆転しFinderを再起動するShellの完成です。
ShellScriptはchmodコマンドで権限を変更しないと実行することができません。
以下のように755権限に変更しましょう。
$ chmod 755 desktop_clear.sh
$ ./desktop_clear.sh
# 実行するたびにデスクトップのアイコン表示が切り替わります。
エイリアス化
私はShellScriptを~/Shells
以下にディレクトリを作って保存していますので、今回のShellScriptのパスは~/Shells/DesktopClear/desktop_clear.sh
となります。
つまりデスクトップをクリアするためのShellScript実行コマンドは以下の通りです。
$ ~/Shells/DesktopClear/desktop_clear.sh
コマンドが長いのでShellScriptにまとめたはずが、結局呼び出しコマンドが長くなってしまっています。
そこでこのShellScriptをエイリアスとして登録したいと思います。
.bashrcを開いて以下の通りにエイリアスを追加しましょう。
$ vi .bashrc
# 以下を追加
alias dclear='~/Shells/DesktopClear/desktop_clear.sh'
.bashrcを変更したら$ source .bashrc
で変更を反映します。
これでエイリアス設定ができましたのでdclear
コマンドでデスクトップアイコンの表示を切り替えることができます。
# デスクトップアイコンの表示非表示を切り替える
$ dclear
まとめ
今回はデスクトップアイコンの非表示を方法をご紹介しました。
後半にご紹介したShellScript化、エイリアス設定はデスクトップアイコンの表示に限らず様々な便利機能を設定することができます
普段使用していて、もっと手軽に実行できるようにならないかな。と思っているコマンドがあれば、試してみてはいかがでしょうか。