Mac mini M2 Pro (2023モデル)

本サイト内の記事は無保証です。
実行は自己責任でお願いします。
Emacs 使いなのでそれに合わせた設定をやっています。

Mac本体の設定

キーボード (Happy Hacking Keyboard)

Happy Hacking Keyboard を USB-A 接続しました。 Mac 用の設定にする手順です。物理的に変更します。
  1. キーボードの奥側中央付近にあるカバーを開ける
  2. 1:Off, 2:On と設定する。なおスイッチを下にすると Off, 上にすると On です。
スペースキーの両側についている◇と⌘が印字されたキーが Command キーになるようです。

Mission Control

Network設定

DHCP でいい場合は、ネット線を差すなり WiFiに繋げるなりすれば大丈夫だと思います。 なんらかの事情で固定 IP を設定する場合は、

「システム設定」->「ネットワーク」->「Ethernet」->「詳細」

に行き、

入力切替(日本語と英語)

日本語と英語の切替をいちいちマウスでやってられないのと、 デフォルトのキーボードショートカット Ctrl-Space をそのままにしていると Emacs で領域指定ができなくなる、 というわけで入力切替のキーボード・ショートカットを変更します。

Mac設定の「入力ソース」というところで変更するのですが、 設定パネルの「キーボード」では「入力ソース」の項目はあるものの 入力切替の変更ができなかったので次の方法を取りました。 もっとスマートな方法があるかも。。。

  1. Mac の設定を開く
  2. 左上の検索窓に「入力ソース」と打ち検索を実行する
  3. キーボードのカテゴリーにある「キーボードショートカット」を選択する
  4. 左側の「入力ソース」を選ぶ
  5. 「入力ソースの次のソースを選択」を選び、好きなキーアクションを入力する
  6. 「前の入力ソースを選択」も同様に、必要なら変更する

ホスト名

システム設定 -> 一般 -> 共有 -> ローカルホスト名

システム設定 -> 一般 -> 情報 -> コンピュータ名
にホスト名らしきものを設定するところがありました。 ただしターミナルで uname -n としてもその名前が出ません。。。

音声入力へのショートカットを削除

デフォルトでは Control キーを2回叩くと音声入力設定についてのパネルが出てきます。 これを無効にするには、次のようにします。
システム設定 -> キーボード
に行き、一番下の「音声入力」のそのまた一番下の「ショートカット」を見ます。 右端にある上下矢印を押して「オフ」を選べばOKです。

ssh

セキュリティのために /etc/ssh/sshd_config に以下の設定をします。
PermitRootLogin no
PasswordAuthentication no
でも sshd は動いていないようですな。。。

無理矢理 /usr/sbin/sshd を動かそうとすると no hostkeys available -- exiting と エラーが出るので hostkey を作らないといけないそうな。

ssh-agent の設定

ssh や scp を使うに場合、アクションごとにパスフレーズの入力が求められます。 ~/.ssh/config に ssh-agent の設定を書いておくと、 最初に ssh でアクセスしてパスフレーズを入力したら (たぶんログアウトするまで)それが ssh-agent に登録されて 以降はパスフレーズの入力を省略できます。

~/.ssh/config
-------------------------------
Host *
   AddKeysToAgent yes
   UseKeychain yes
   IdentityFile ~/.ssh/your_ssh_secretkey

Homebrew

Homebrew とは Mac におけるパッケージマネージャーの一つです。 パッケージ(ソフトウェア)のインストール・アップデートなどが コマンド一つで簡単にできます。 Homebrew のインストール方法や使用方法は 別記事を参照のこと。

MacTeX

Mac に対する TexLive のディストリビューションです。 インストール方法は別記事を参照のこと。

Emacs

Emacs の設定ファイルは ~/.emacs.d/init.el です。 デフォルトで ~/.emacs が作成されるようですが、 これに邪魔されて ~/.emacs.d/init.el が優先的に読み込めない場合があります。 その場合には ~/.emacs の内容を ~/.emacs.d/init.el に移した上で ~/.emacs を消去するなりリネームするなりしてください。

AUCTeX

ELPA (Emacs Lisp Package Archive) で ~/.emacs.d/elpa にインストールできます。
  1. Emacs を起ち上げる
  2. M-x list-packages でリストを出す
  3. auxtex を i で選択する
  4. x でインストールする

TeXコマンドの実行

TeXLive はすでにインストールしているものとします。 C-c C-c の後、TeX のコンパイルコマンドを打てるように設定します。
(add-hook 'LaTeX-mode-hook (function (lambda ()
  (add-to-list
     'TeX-command-list
     '("make" "make" TeX-run-TeX nil t : help "Run make") )
  (add-to-list
     'TeX-command-list
     '("ptex2pdf" "ptex2pdf -l -ot \"-synctex=1 -file-line-error\" %s" TeX-run-TeX  : help "Run ptex2pdf") )
)))
一つ目(make)は作業ディレクトリに Makefile があって make でコンパイルできる時用で、
二つ目(ptex2pdf)は直接 ptex2pdf を呼び出してコンパイルする時用です。

aspell

スペルチェッカーです。ispell の後継らしいです。 インストールは homebrew でできます。
brew install aspell
~/.emacs.d/init.el に設定を書いておきます。
(setq-default ispell-program-name "aspell")
(with-eval-after-load "ispell"
  (setq ispell-local-dictionary "en_US")
  (add-to-list 'ispell-skip-region-alist '("[^\000-\377]+")))
(add-hook 'latex-mode-hook 'flyspell-mode)

Skim

PDF のビューアとして Skim をインストールしているとします。

コマンドラインからの起ち上げ

コマンドラインから Skim で PDF (hoge.pdf)を立ち上げるには以下のようにします。
open -a Skim hoge.pdf
シェルの alias に "open -a Skim" を skim とでも登録しておくと便利です。

自動リロード

TeX ソースをコンパイルして新たに作った PDF を 自動的に Skim 上でリロードする方法です。
  1. Skim を立ち上げる
  2. 設定を開く
  3. 右上の同期を選択する
  4. 「ファイルの変更をチェック」と「自動的にリロードする」にチェックを入れる
TeXソースをコンパイルするたびに自動リロードしてくれるのはいいのですが、 表示ページが上にズレていく(ページ番号が大きい方が表示される) という現象が起こっています。 不便で仕方がないのですが、なんとかする方法はあるのでしょうか。。。 TeXShop 付属のプレビューアだと表示ズレの問題は起こらないようです。

TeX 作成時における Emacs との連携

Emacs で TeX ソースを開いているとします。 Skim で表示させている PDF 上で「Shift+Command+左クリック」すると、 Emacs 上の該当する TeX ソール部分に飛ぶようにする設定です。
  1. ~/.emacs.d/init.el に次の1行を追加する
    (server-start)
  2. Skim -> 設定 -> 同期の下の方で「PDF-TeX同期サポート」を以下のように変更する (初期値を Emacs にしても内容は同じように見えますがうまく行きませんでした)
上の設定でうまくいかないときには、カスタムでコマンドの項を 「/opt/homebrew/bin/emacsclient」(emacs がインストールされているディレクトリを直接指定)にしてみてください。

SSH

Ventura では OpenSSH のバージョンが 9.0 に上がり、 SHA-1 アルゴリズムによる RSA 署名が無効になりました。 そのため、ssh でリモートホストに接続しようとすると Permission denied (publickey) が出て繋がらないことがあるそうです。

一時的な対策としては ~/.ssh/config ファイル以下を設定する方法があるそうです。

Host *
  HostkeyAlgorithms +ssh-rsa
  PubkeyAcceptedAlgorithms +ssh-rsa

しかし根本的な解決法としては ECDSA や Ed25519 など 暗号方式を新しいものに切り替えることが推奨されています。

Homebrew

以上で出てきたソフトをインストールする brew コマンドです。