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


VNC セッションでスクリーンセーバーが無効にできない、解除できない

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

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

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
$

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