Mac mini M2 Pro (2023モデル)
本サイト内の記事は無保証です。
実行は自己責任でお願いします。
Emacs 使いなのでそれに合わせた設定をやっています。
Mac本体の設定
キーボード (Happy Hacking Keyboard)
Happy Hacking Keyboard を USB-A 接続しました。
Mac 用の設定にする手順です。物理的に変更します。
- キーボードの奥側中央付近にあるカバーを開ける
- 1:Off, 2:On と設定する。なおスイッチを下にすると Off, 上にすると On です。
スペースキーの両側についている◇と⌘が印字されたキーが Command キーになるようです。
Mission Control
- デフォルトでは Dock に Mission Control が出てなかったので、
Launchpad で探して起動し、右クリックで「Dock に残す」を選択します。
- 設定は、「システム設定」->「デスクトップとDock」-> 「Misson Control 」です。
Network設定
DHCP でいい場合は、ネット線を差すなり WiFiに繋げるなりすれば大丈夫だと思います。
なんらかの事情で固定 IP を設定する場合は、
「システム設定」->「ネットワーク」->「Ethernet」->「詳細」
に行き、
- TCP/IP -> 「DHCPサーバを使用」を「手動」に変更 -> IPアドレスを入力
- DNS -> DNSサーバアドレスを一つずつ追加で設定
入力切替(日本語と英語)
日本語と英語の切替をいちいちマウスでやってられないのと、
デフォルトのキーボードショートカット Ctrl-Space をそのままにしていると
Emacs で領域指定ができなくなる、
というわけで入力切替のキーボード・ショートカットを変更します。
Mac設定の「入力ソース」というところで変更するのですが、
設定パネルの「キーボード」では「入力ソース」の項目はあるものの
入力切替の変更ができなかったので次の方法を取りました。
もっとスマートな方法があるかも。。。
- Mac の設定を開く
- 左上の検索窓に「入力ソース」と打ち検索を実行する
- キーボードのカテゴリーにある「キーボードショートカット」を選択する
- 左側の「入力ソース」を選ぶ
- 「入力ソースの次のソースを選択」を選び、好きなキーアクションを入力する
- 「前の入力ソースを選択」も同様に、必要なら変更する
ホスト名
システム設定 -> 一般 -> 共有 -> ローカルホスト名
と
システム設定 -> 一般 -> 情報 -> コンピュータ名
にホスト名らしきものを設定するところがありました。
ただしターミナルで 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 にインストールできます。
- Emacs を起ち上げる
- M-x list-packages でリストを出す
- auxtex を i で選択する
- x でインストールする
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 上でリロードする方法です。
- Skim を立ち上げる
- 設定を開く
- 右上の同期を選択する
- 「ファイルの変更をチェック」と「自動的にリロードする」にチェックを入れる
TeXソースをコンパイルするたびに自動リロードしてくれるのはいいのですが、
表示ページが上にズレていく(ページ番号が大きい方が表示される)
という現象が起こっています。
不便で仕方がないのですが、なんとかする方法はあるのでしょうか。。。
TeXShop 付属のプレビューアだと表示ズレの問題は起こらないようです。
Emacs で TeX ソースを開いているとします。
Skim で表示させている PDF 上で「Shift+Command+左クリック」すると、
Emacs 上の該当する TeX ソール部分に飛ぶようにする設定です。
- ~/.emacs.d/init.el に次の1行を追加する
(server-start)
- Skim -> 設定 -> 同期の下の方で「PDF-TeX同期サポート」を以下のように変更する
- 初期値 : カスタム
- コマンド : emacsclient
- 引数 : --no-wait +%line "%file"
(初期値を 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 コマンドです。
- brew install --cask emacs
- brew install --cask mactex
- brew install --cask skim