• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

macOS

date: 2021-02-16 excerpt: macOSで設定しておくべき項目とインストールするべきソフトウェアとトラブルシューティング

tag: applemacososxsettings


macOSで設定しておくべき項目とインストールするべきソフトウェアとトラブルシューティング

名称の変更

  • 2016年にiOS, tvOS, watchOSなどとの統合性を図るために、osxからmacOSに変更された

設定しておくべき項目

  • Dockを自動的に隠す + Dockを右に寄せる
    • [システム設定] -> [Dockとメニューバー] -> [Dockを自動的に表示/非表示]のチェックを入れる
    • [システム設定] -> [Dockとメニューバー] -> [画面上の位置]で右を選択
  • メニューバーを自動的に隠す
    • [システム設定] -> [Dockとメニューバー] -> [メニューバーを自動的に表示/非表示]のチェックを入れる
  • 外部からのsshを許可する
    • [システム設定] -> [共有] -> [リモートログイン]のチェックを入れる
  • スクリーンセーバーを無効にする
    • [システム設定] -> [デスクトップとスクリーンセーバー] -> [開始までの時間] -> 開始しない,を選択
    • [システム設定] -> [省エネルギー] -> [ディスプレイをオフにするまでの時間]を, しないに設定
  • ホットコーナーからMission Controlを起動する
    • [システム設定] -> [Mission Control] -> [ホットコーナー] -> Mission Controlを割り当て
  • Mission Controlの自動並び替えをOFFにする
    • [システム設定] -> [Mission Control] -> 最新の使用業況に基づいて操作スペースを自動的に並び替えを行うをOFFにする
  • カーソルを大きくする
    • [システム設定] -> [アクセシビリティ] -> [ディスプレイ] -> [カーソル] -> カーソルサイズを大きくする
  • apple watchでPCのセキュリティを解除
    • [システム設定] -> [セキュリティとプライバシー] -> [Apple Watchを使って...]にチェックを入れ、iPhoneとApple Watchをアクティブにする
  • Bluetoothのアイコンをメニューバーに表示する
    • [システム設定] -> [Bluetooth] -> [メニューバーにBluetoothを表示]にチェックを入れる
  • 入力ソースを限定する
    • [システム設定] -> [キーボード] -> [入力ソース]から必要がないキーボードを削除する
  • launchpadの起動ショートカットを変更する
    • [システム設定] -> [キーボード] -> [Launchpad] -> [Launchpadを表示]に(alt+d)等を割当
  • windowの切り替えショートカットをcommand + @から変更する
    • chrome等を複数window開いているとき、windowの切り替えができると嬉しい
    • [システム設定] -> [キーボード] -> [ショートカット] -> [キーボード]から[次のウィンドウを捜査対象にする]に(alt+tab)等を割り当てる
  • ctrl2回で音声入力になるのを変更する
    • [システム設定] -> [キーボード] -> [音声入力] -> [ショートカット] -> 衝突しにくいショートカットに変更

インストールするべきソフトウェア

  • パッケージマネージャ
    • brew
  • ターミナルエミュレータ
    • iterm2
    • kitty
    • wezterm
  • ブラウザ
    • google chrome
  • 日本語入力
    • google日本語入力
  • キーバインド、ショートカット変更
    • karabiner elements
  • ランチャー
    • raycast
  • VPN
    • wireguard
  • カメラフィルタ
    • snap camera
  • ネットワークカメラ
    • iriun webcam
  • デスクトップ
    • magnet
    • haze over: アクティブなウインドウ以外暗くする
    • hidden bar: 散らかったメニューバーの整理
    • easyres: 解像度のクイック変更
  • オンラインストレージ
    • google-drive
    • onedrive
    • mountain-duck: 好きなオンラインストレージやS3をマウントできる

macOSでのメモリと仮想メモリの特性

  • pythonなどで明らかに物理メモリに乗らない処理をしても、macOSは積極的に仮想メモリを確保し、落ちることがない
    • 仮想メモリを利用するような処理を行ってしまうと、遅くなる
  • linuxなどでは、OOM killerにより、割とすぐにプロセスがkillされるのと対象的

スクリーンショットとスクリーンレコーディングの仕方

  • /apple-macos-screenshots/

トラブルシューティング

  • /apple-macos-trouble-shootings/

セキュリティ

sudo時のパスワードを省略する

  • sudo visudoして以下の内容を末尾に書き込む
%admin          ALL=(ALL) NOPASSWD:ALL

ネットワーク

インターフェースに複数のIPアドレスを設定する

en0に192.168.3.129を追加

$ sudo ifconfig en0 alias 192.168.3.129/24 up

en0から192.168.3.129を削除

$ sudo ifconfig en0 -alias 192.168.3.129

routeの確認

$ netstat -rn | less

routeの変更

defaultの変更

$ sudo route delete default
$ sudo route add default 192.168.3.1

特定のIPを違うgwへ

$ sudo route add -host <ip-addr> 192.168.3.1

ネットワークのパフォーマンスを調査する

  • macOSにnetworkQualityコマンドが含まれる
  • ossで開発されている
  • /netperf/に替わるパフォーマンス測定ツール

使用例

$ networkQuality
==== SUMMARY ====
Upload capacity: 27.709 Mbps
Download capacity: 33.040 Mbps
Upload flows: 20
Download flows: 12
Responsiveness: Medium (357 RPM) # 一分間でのラウンドトリップ回数

terminalからwifiの情報を表示する

$ ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport /usr/local/bin/airport
$ airport -I

使用例

$ airport -I
     agrCtlRSSI: -56
     agrExtRSSI: 0
    agrCtlNoise: -92
    agrExtNoise: 0
          state: running
        op mode: station
     lastTxRate: 867
        maxRate: 867
lastAssocStatus: 0
    802.11 auth: open
      link auth: wpa2-psk
          BSSID:
           SSID: おもちネットワーク1F
            MCS: 9
  guardInterval: 800
            NSS: 2
        channel: 100,80

sshdでパスワード認証を無効化する

/etc/ssh/sshd_configに以下を追加

PasswordAuthentication no
UsePAM no

sshdを再起動する

$ sudo launchctl stop com.openssh.sshd
$ sudo launchctl start com.openssh.sshd

launchctlでサービスの管理を行う

  • 概要
    • plist形式で作成されたファイルに対して操作できる
    • /Library/LaunchAgentsはrootで操作可能
    • ~/Library/LaunchAgentsはユーザ権限で操作可能
  • 基本的な操作
    • すべてのサービスを表示
      • launchctl list
    • サービスの有効化
      • launchctl load <service-name or plist-path>
    • サービスの無効化
      • launchctl unload <service-name>
    • サービスの停止
      • launchctl stop <service-name>
    • サービスの開始
      • launchctl start <service-name>
  • 参考
    • launchdで定期的にスクリプトを実行/Qiita

バッテリーの状態をCUIで取得する

$ pmset -g batt
Now drawing from 'AC Power'
 -InternalBattery-0 (id=5767267)        61%; AC attached; not charging present: true

finder

ターミナルの特定のpathからfinderを開く

$ open .

ターミナルの特定のファイルをosxのアプリで開く

$ open <filename>
  • デフォルトで開くアプリを設定するにはファイルを右クリック -> このアプリケーションで開く -> その他 -> 常にこのアプリケーションで開くを選ぶ

ターミナルからアプリを起動する

  • /Applications/<PackageName>.appがあるとき、以下のコマンドで起動できる
$ open -a "PackageName"
  • 一部のアプリケーションには引数を渡すことができる
$ open -a "Microsoft Edge" "https://duckduckgo.com"

ゴミ箱を空にする

  • finderでゴミ箱の隠しフォルダを開く
  • finder上からゴミ箱を空にする(terminalからは消去が禁止されている)
$ cd ~/.Trash
$ open .

Dock

Dockの無効化

  • 概要
    • dockはシステムのサービスと統合されているので、削除やアンインストールはできない
    • dockが自動的に隠れてから再度表示するまでの時間を指定できるので大きな値を設定することで、実質的な無効化が行える
$ alias hideDock="defaults write com.apple.dock autohide-delay -float 3600; killall Dock"
$ hideDock

シェルスクリプトなどをosxのappにする

  • 特定のdockerやjupyterなどを起動するときのスクリプトとしてダブルクリックで開けるものを用意したい時など

アプリ化するスクリプト

#!/usr/bin/env bash

APPNAME=${2:-$(basename "${1}" '.sh')};
DIR="${APPNAME}.app/Contents/MacOS";

if [ -a "${APPNAME}.app" ]; then
	echo "${PWD}/${APPNAME}.app already exists :(";
	exit 1;
fi;

mkdir -p "${DIR}";
cp "${1}" "${DIR}/${APPNAME}";
chmod +x "${DIR}/${APPNAME}";

echo "${PWD}/$APPNAME.app";

これをappifyという名前で保存し、以下のコマンドで作成できる

$ appify script-name.sh "app-name"
  • 参考

MacとUSB Type-Cと接続したときの通信速度の確認

  • 概要
    • USB Type-CはケーブルによりUSB 2.0の速度、USB 3.1の速度が出せるものなどが混在している
    • データの転送を行う際には実際に接続して確認する必要がある
  • 確認方法
    • 左上のリンゴマークからこのマックについてを選択
    • 概要 -> システムレポートを選択
    • ハードウェア -> USBを選択
    • USBバスから対象デバイスを選択
      • 速度が10Gb/秒になっていればUSB 3.1接続である

SMB(Server Message Block)のマウント

  • /apple-macos-file-sharing/

macOSのファイルシステム

  • APFS
    • SSDに対応したファイルシステム
    • 2016年から
  • HFS+(Mac OS拡張)
    • HDDを前提としたファイルシステム
  • 参考
    • APFS vs MacOS拡張(HFS+):違いとMacでフォーマットする方法 [MiniTool]

linuxのnfsをマウントする

  • CUI
    • マウント
      • # mount -t nfs mount -t nfs -o resvport ${HOSTNAME}:${PATH} ${LOCAL_PATH}
    • アンマウント
      • # diskutil unmount force ${LOCAL_PATH}
  • サーバサイドに期待する設定
    • /etc/exportsのファイルにてanonuid=1000,anongid=1000,insecure,all_squashがパラメータとして入っている必要がある


applemacososxsettings Share Tweet