備忘録：macOSのちょっとした設定・コマンド集

# Apple silicon Macにおけるリカバリモードの起動
Rootlessを変更する方法を調べると、Macをリカバリモードで起動して、ターミナルを起動して「csrutil」　コマンドを入力する方法が多数案内されています。が、ほとんどの記事の作成日が古く、リカバリーモードを起動する方法として、「Command」＋「R」キーを押すという案内になっていますが、これはIntel CPUを搭載したMacの場合。
M1以降のApple silicon　Macの場合は、一度シャットダウンしてから電源ボタンを長押しで起動するが正しいです。ハマった・・・。
https://support.apple.com/en-us/HT201314

# VNC セッションでスクリーンセーバーが無効にできない、解除できない
M1 Mac miniを使い始めて1年。MacOSでスクリーンセーバーの設定を無効化しているにもかかわらず、VNCを使ってリモートからGUI画面を操作していると、スクリーンセーバーが起動してしまうのです。さらにこのスクリーンセーバーが、どのようなキーを入力しても解除できない。。。さらに、VNCではなく直接MacOSにログインしても、スクリーンセーバーが表示され解除できない。。。イヤイヤイヤｗ

MacOSの不具合かと思い放置していましたが、MacOS 11「Catalina」 → MacOS 12「Monterey」にバージョンアップしても再現するのです。ということで放置はやめて検索したところ、やはり同様の事象に対する対応策がありました。設定ファイルを編集する必要があるのですが、、、


```
$ cd /Library/Preferences

### PowerManagementに関する設定ファイル名を確認。
$ ls -la com.apple.PowerManagement.*
-rw-r--r--  1 root  wheel  198 Nov 22  2020 com.apple.PowerManagement.C8B44F95-XXXX-XXXX-XXXX-XXXXXXXXXXXX.plist
-rw-r--r--  1 root  wheel  277 Nov 22  2020 com.apple.PowerManagement.plist

### それぞれのファイルの初期設定を控えておきます。念のため。
$ defaults read /Library/Preferences/com.apple.PowerManagement.C8B44F95-XXXX-XXXX-XXXX-XXXXXXXXXXXX.plist 
{
    "AC Power" =     {
        PrioritizeNetworkReachabilityOverSleep = 0;
        "Sleep On Power Button" = 1;
        "Standby Enabled" = 0;
        TCPKeepAlivePref = 1;
        TTYSPreventSleep = 1;
    };
}
$ defaults read /Library/Preferences/com.apple.PowerManagement.plist 
{
    "AC Power" =     {
        "Automatic Restart On Power Loss" = 0;
        DarkWakeBackgroundTasks = 1;
        "Disk Sleep Timer" = 10;
        "Display Sleep Timer" = 0;
        "System Sleep Timer" = 0;
        "Wake On LAN" = 1;
    };
    SystemPowerSettings =     {
        "Update DarkWakeBG Setting" = 1;
    };
}

### UIDが含まれる方（ファイル名が長い方）を対象に、以下2コマンドで編集。
$ sudo defaults write /Library/Preferences/com.apple.PowerManagement.C8B44F95-XXXX-XXXX-XXXX-XXXXXXXXXXXX.plist "AC Power" -dict-add "System Sleep Timer" 0
Password:
$ sudo defaults write /Library/Preferences/com.apple.PowerManagement.C8B44F95-XXXX-XXXX-XXXX-XXXXXXXXXXXX.plist "AC Power" -dict-add "Display Sleep Timer" 0

### 変更後のチェック。
$ defaults read /Library/Preferences/com.apple.PowerManagement.C8B44F95-XXXX-XXXX-XXXX-XXXXXXXXXXXX.plist 
{
    "AC Power" =     {
        "Display Sleep Timer" = 0;
        PrioritizeNetworkReachabilityOverSleep = 0;
        "Sleep On Power Button" = 1;
        "Standby Enabled" = 0;
        "System Sleep Timer" = 0;
        TCPKeepAlivePref = 1;
        TTYSPreventSleep = 1;
    };
}

```

【参考】
https://www.linkedin.com/pulse/how-turn-off-screensaver-vnc-sessions-macos-catalina-brian-pemberton

ちなみに起動してしまったスクリーンセーバーは、以下手順で抜けることが可能。
```
$ ps ax | grep -i screensaver
29767   ??  S      3:59.83 /System/Library/CoreServices/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -loginWindow
29768   ??  Ss     0:00.05 /System/Library/Frameworks/ScreenSaver.framework/PlugIns/legacyScreenSaver.appex/Contents/MacOS/legacyScreenSaver -AppleLanguages ("ja-JP")
29769   ??  Ss     0:00.11 /System/Library/Frameworks/ScreenSaver.framework/PlugIns/legacyScreenSaver-x86_64.appex/Contents/MacOS/legacyScreenSaver-x86_64 -AppleLanguages ("ja-JP")
29770   ??  Ss     0:00.05 /System/Library/Frameworks/ScreenSaver.framework/PlugIns/Computer Name.appex/Contents/MacOS/Computer Name -AppleLanguages ("ja-JP")
29771   ??  Ss     0:00.05 /System/Library/Frameworks/ScreenSaver.framework/PlugIns/iLifeSlideshows.appex/Contents/MacOS/iLifeSlideshows -AppleLanguages ("ja-JP")
29827 s000  S+     0:00.00 grep -i screensaver

### 上記の場合、PID 29767 をkillすればよろし。
$ kill -9 29767
```

【参考】
https://medium.com/@jmrumble/stuck-in-macos-screensaver-2095e4bb48e5

# iPhoneのバックアップデータ保存先
やってしまいました。iPhoneの機種変更時にアプリ等の断捨離を兼ねて、旧iPhoneのバックアップデータを使わずにセットアップしたところ、まっさらなアドレス帳でiCloud上のアドレス帳が消えました。。。
ってことで、旧iPhoneのバックアップデータからアドレス帳をサルベージ。

/User/(ユーザ名)/Library/Application Support/MobileSync/Backup

【参考】
https://www.fireebok.com/resource/how-to-view-and-browse-iphone-backup-in-macos-big-sur.html

ちなみに、ユーザのライブラリフォルダは不可視となっているため、さらに下記に記載した不可視ファイル・フォルダの参照手順も必要です。

さらに、バックアップ先を外部ドライブに変更したい場合は、、、
【参考】
https://infornography.blue/mac/mac-backup-changing-drive/

#GUIで不可視なファイル・フォルダを表示
Finderや各ソフトのファイルを開くメニューからファイル・フォルダが見えない場合、以下のショートカットで不可視を無効化・有効化の切り替えができます。

「Command ＋ Shift ＋ ．（ピリオド）」

【参考】
https://tamoc.com/mac-display-hidden-files/

※ターミナルで、以下手順を実施すると見れるという情報もありましたが、Big surではNGでした。最近のmacOSではダメなのでしょうか。

```
$ chflags nohidden ~/Library
###不可視のフラグを無効化。有効化は「hidden」
$ ls -laO
###ファイル．・フォルダに設定されているフラグを確認
```

# IPv6を無効にする
昨今は、Windows・macOS・各種LinuxとIPv6は標準で有効になっていますが、使わないので無効化しました。
※IPv6がhaproxyの利用を阻害していたので。。。

以下のサイトで対応方法が記載されていました。
https://qiita.com/yskuniv/items/2c6bee22aa0552c4103e

```
$ sudo networksetup -setv6off <networkservice>

###有効化は「automatic」
$ sudo networksetup -setv6automatic <networkservice>
```

```
###IPv6が有効な時の、Network I/Fの情報
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=b<RXCSUM,TXCSUM,VLAN_HWTAGGING>
        ether e8:06:88:cc:ab:53
        inet 192.168.1.10 netmask 0xffffff00 broadcast 192.168.1.255
        inet6 fe80::1411:9451:d9df:8a99%en0 prefixlen 64 secured scopeid 0xc
        inet6 2001:240:218d:c000:14d2:3228:8ddb:f2b4 prefixlen 64 autoconf secured
        inet6 2001:240:218d:c000:9409:da3a:c50b:add8 prefixlen 64 autoconf temporary
        nd6 options=201<PERFORMNUD,DAD>
        media: autoselect (1000baseT <full-duplex,flow-control>)
        status: active

###IPv6が有効な時の、Network I/Fの情報。スッキリ！
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=b<RXCSUM,TXCSUM,VLAN_HWTAGGING>
        ether e8:06:88:cc:ab:53
        inet 192.168.1.10 netmask 0xffffff00 broadcast 192.168.1.255
        nd6 options=201<PERFORMNUD,DAD>
        media: autoselect (1000baseT <full-duplex,flow-control>)
        status: active
```


# Portを使用しているプログラムをチェックする
Windowsなどでは、「netstat -abn」としてポートを使用しているプログラムを確認することができますが、macOSのnetstatではムリとのこと。

以下のサイトで対応方法が記載されていました。
https://do-zan.com/mac-search-using-port/
「sudo lsof -i<ポート番号>」とのこと。

```
$ sudo lsof -i:22
Password:
COMMAND PID   USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
（略）
launchd   1   root   58u  IPv4 0xdbdc94c74c87e461      0t0  TCP 192.168.1.10:ssh->192.168.1.105:55472 (ESTABLISHED)
（略）
sshd    293   root    4u  IPv4 0xdbdc94c74ae00099      0t0  TCP 192.168.1.10:ssh->192.168.1.105:55471 (ESTABLISHED)
（略）

```

# SSHで接続する場合に、文字コードをUTF-8にする
macOSのsshdを有効にしSSHターミナルソフトで接続すると、初期状態ではlocaleがCになっているため、2バイト文字が正常に表示されず不便。

```
$ ls -la
total 2560
drwxr-xr-x  9 masa03  staff      288 Feb 28 13:16 .
drwx------+ 8 masa03  staff      256 Aug  6 01:37 ..
-rw-r--r--@ 1 masa03  staff    32479 Feb 28 13:15 r1syotoku-2.data
-rw-r--r--@ 1 masa03  staff    10742 Feb 28 13:08 r1syotoku.data
-rw-r--r--@ 1 masa03  staff    69470 Feb 28 13:09 r1syotoku.pdf
-rw-r--r--@ 1 masa03  staff  1048433 Feb 28 13:14 ???????????????????????????????????????-???????????????????????????????????????.webarchive
-rw-r--r--@ 1 masa03  staff    67268 Feb 28 12:32 ??????????????????????????????????????????SS000410 ?????????????????????.pdf
-rw-r--r--@ 1 masa03  staff    69622 Feb 28 12:33 ??????????????????????????????????????????SS000420 ????????????.pdf
-rw-r--r--@ 1 masa03  staff      111 Feb 28 12:14 ????????????????????????????????????.webloc
$ locale
LANG=
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=
$
```

以下のサイトで対応方法が記載されていました。
https://apple.stackexchange.com/questions/158673/how-to-get-utf-8-locale-when-connecting-via-ssh-to-macosx-from-putty-windows

「.bash_profile」に以下の2行を追記して、SSHを再接続するとOK。

```
export LC_ALL=ja_JP.UTF-8
export LANG=ja_JP.UTF-8
```

```
$ locale
LANG="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_CTYPE="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_ALL="ja_JP.UTF-8"
$ ls -la
total 2560
drwxr-xr-x  9 masa03  staff      288  2 28 13:16 .
drwx------+ 8 masa03  staff      256  8  6 01:37 ..
-rw-r--r--@ 1 masa03  staff    32479  2 28 13:15 r1syotoku-2.data
-rw-r--r--@ 1 masa03  staff    10742  2 28 13:08 r1syotoku.data
-rw-r--r--@ 1 masa03  staff    69470  2 28 13:09 r1syotoku.pdf
-rw-r--r--@ 1 masa03  staff      111  2 28 12:14 所得税の確定申告｜国税庁.webloc
-rw-r--r--@ 1 masa03  staff  1048433  2 28 13:14 【確定申告書作成コーナー】-送信結果（即時通知）の確認.webarchive
-rw-r--r--@ 1 masa03  staff    67268  2 28 12:32 国税電子申告・納税システム－SS000410 入力内容の確認.pdf
-rw-r--r--@ 1 masa03  staff    69622  2 28 12:33 国税電子申告・納税システム－SS000420 送信結果.pdf
$
```

チョットしたことですが、備忘録として記載。