
#コンピュータ談義 #備忘録 #RAM Disk on macOS Monterey #追加
RAM Disk の補足です。
RAM Disk の一部内容を保存しておきたい
RAM Disk 上の情報をシステム終了時に保存したい場合があるかと思います。
私はRAM Disk の表示形式を変更した場合に、次回のログイン時にも反映させたいと考えて補足設定を行いました。
スクリプトの作成
今回作成したスクリプトファイルが下記となります。
名前を'logout.sh' として、ホームディレクトリー配下の'bin' ディレクトリーに置きました。
#!/bin/sh
# 登録
#sudo defaults write com.apple.loginwindow LogoutHook /Users/myos/bin/logout.sh
# 解除
#sudo defaults delete com.apple.loginwindow LogoutHook
# 確認
#sudo defaults read com.apple.loginwindow LogoutHook
#RAMDisk=~/RAMDisk/.DS_Store
#BACKUP=~/bin/DS_Store_forRAMDisk
HOMEDIR=/Users/myos
RAMDisk=${HOMEDIR}/RAMDisk/.DS_Store
BACKUP=${HOMEDIR}/bin/DS_Store_forRAMDisk
diff -s ${RAMDisk} ${BACKUP} > /dev/null 2>&1
if [ $? -eq 1 ]; then
# echo "Files are different."
cp -p ${RAMDisk} ${BACKUP}
fi
exit
注意ポイント
このスクリプトの実行オーナーは'root' となりますので、ホームディレクトリーを指すチルダ(~) が使えませんでした。
同じ理由でファイル表記をフルパスで指定する必要があります。
実行権限を付けておく
スクリプトの登録
下記コマンドを実行するだけです。
sudo defaults write com.apple.loginwindow LogoutHook /Users/myos/bin/logout.sh
以上の設定で、ログアウト、リスタート、シャットダウン時にスクリプトが実行されます。
終了時に何か実行させたい場合、このスクリプトに追加すれば良いだけなので簡単ですね。
注意:'root' 権限で実行されますので、くれぐれも記述内容はご注意下さい。
#コンピュータ談義 #備忘録 #RAMDisk #Monterey #Mac #MacOS