memo.xight.org

日々のメモ

カテゴリ : Mac

1ページ目 / 全5ページ

Homebrewで使われてない formula を特定する

Summary

Homebrew で使われていない formula を整理したい。

依存しているパッケージ数を表示

brew uses  --installed PACKAGE | wc -l


CPUコア数 - 1 の数値を表示 (並列実行時に利用)

echo `expr $(sysctl -n hw.ncpu) - 1`


プロセス数 (CPUコア数 - 1) で、xargs 以降を並列実行。

brew list | xargs -P`expr $(sysctl -n hw.ncpu) - 1` -I{} sh -c 'brew uses --installed {} | wc -l | xargs printf "%20s is used by %2d formulae.\n" {}'


homebrew-rmtree で依存関係のない formula を削除 (libx11)

brew rmtree libx11
==> Examining installed formulae required by libx11...
 \  5 / 6

Can safely be removed
----------------------
libx11
libxcb
libpthread-stubs
libxau
libxdmcp
xorgproto

Proceed?[y/N]: y
==> Cleaning up packages safe to remove

Uninstalling /opt/homebrew/Cellar/libx11/1.7.3.1... (1,055 files, 7MB)
Uninstalling /opt/homebrew/Cellar/libxcb/1.14_1... (2,452 files, 7.3MB)
Uninstalling /opt/homebrew/Cellar/libpthread-stubs/0.4... (5 files, 6.6KB)
Uninstalling /opt/homebrew/Cellar/libxau/1.0.9... (20 files, 135.7KB)
Uninstalling /opt/homebrew/Cellar/libxdmcp/1.1.3... (11 files, 141.8KB)
Uninstalling /opt/homebrew/Cellar/xorgproto/2021.5... (264 files, 3.9MB)


Reference

by and for engineers - 2020-05-09 - Homebrew で使われていない formula を削除する
https://yulii.github.io/brew-cleanup-installed-formulae-20200509.html

GitHub - beeftornado / homebrew-rmtree
https://github.com/beeftornado/homebrew-rmtree

Office for Macの配色パターン、フォントファイルの場所

Summary

カスタマイズした配色パターン、フォントの名前を変更しても適用されない。
配色パターン、フォントのファイル名を変更することで、名前を変更することができる。

配色パターンファイルの場所

$HOME/Library/Group Containers/UBF8T346G9.Office/User Content.localized/Themes.localized/Theme Colors

フォントのファイルの場所

$HOME/Library/Group Containers/UBF8T346G9.Office/User Content.localized/Themes.localized/Theme Fonts

Macbook Air Mid 2012 に Ubuntu 20.04 をインストール

Summary

Macbook Air Mid 2012 に Ubuntu 20.04 + Minecraft, MultiMCをインストールしたい。
起動音の消去など、macOSからのみ行える操作があるため、macOSとのデュアルブートとしたい。

ディスクユーティリティでパーティションを分割。
Etcherを使って、USBメモリにUbuntu 20.04のインストールファイルを書き込む。
ブートローダー rEFInd をインストールしておいたほうが良いらしいので、事前にインストール。

ブートローダー rEFInd をインストール

1. rEFIndのダウンロード、展開
2. Macをリカバリーモードで起動 (Command + R)
3. T2チップ搭載のMacの場合は、起動セキュリティをOFFに変更
4. rEFIndのインストール
5. 再起動

リカバリーモードでは、/Users 以下がマウントされていない。
ディスクユーティリティで refild-bin を展開したHDDをマウントする。

cd /Users/USERNAME/Downloads/refind-bin-X.XX.X
./refind-install


Ubuntuインストール

インストールの初期画面で、日本語を選択すると、パーティションの設定画面でウィンドウがはみ出てしまうので、英語表示にしておく。

Updates and other software で Install thrd-party software ... にチェックを入れる。

Installation type で Something else を選択する。
Erase disk and install Ubuntu を選択すると、ディスク全体がフォーマットされてしまう。

macOSがインストールされているパーティションはそのままにしておく。
ext4でフォーマット、 / にマウントするように設定。
Ubuntuをインストールするパーティションにブートローダをインストールする。

Ubuntu側の Setting - Sharing - Screen Sharing が表示されない

sudo apt install vino


Vinoの暗号化を解除

gsettings set org.gnome.Vino require-encryption false


Minecraftのインストール

sudo apt install default-jre
sudo apt --fix-broken install
sudo dpkg -i Minecraft.deb


MultiMCのインストール

sudo apt install libqt5widgets5 libqt5gui5
sudo apt --fix-broken install
sudo dpkg -i multimc_1.5-1.deb


Reference

Kobe's Public Scrapbox - Macbook AirにUbuntu 18.04を入れてみたときのメモ(OSインストール編)
https://scrapbox.io/kb84tkhr-pub/Macbook_Air%E3%81%ABUbuntu_18.04%E3%82%92%E5%85%A5%E3%82%8C%E3%81%A6%E3%81%BF%E3%81%9F%E3%81%A8%E3%81%8D%E3%81%AE%E3%83%A1%E3%83%A2%EF%BC%88OS%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E7%B7%A8%EF%BC%89

Trick or Think? - 2020-01-23 - Macbook Air (2011 mid) に Ubuntu 18.04 LTS を入れてサブ機にする際の設定メモ
http://tricken.hatenablog.com/entry/Macbuntu

Qiita - @hktmtsk - 2018-12-26 - MacでUbuntu18.04LTSのブートUSBを作成する
https://qiita.com/hktmtsk/items/0bacdd144365c2da1165

Ubuntu - Tutorials - Install Ubuntu Desktop
https://ubuntu.com/tutorials/install-ubuntu-desktop

LFI - 2020-04-27 - Ubuntu 20.04 LTSインストールガイド
https://linuxfan.info/ubuntu-20-04-install-guide

python3.9.4 + pyenv + homebrew

Summary

% pyenv install 3.9.4
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.9.4.tar.xz...
-> https://www.python.org/ftp/python/3.9.4/Python-3.9.4.tar.xz
Installing Python-3.9.4...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk

BUILD FAILED (OS X 11.3 using python-build 1.2.26-9-g2924886a)

Inspect or clean up the working tree at /var/folders/ys/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/T/python-build.YYYYMMDDhhmmss.nnnnn
Results logged to /var/folders/ys/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/T/python-build.YYYYMMDDhhmmss.nnnnn.log

Last 10 log lines:
/var/folders/ys/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/T/python-build.YYYYMMDDhhmmss.nnnnn ~/Desktop
/var/folders/ys/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/T/python-build.YYYYMMDDhhmmss.nnnnn /Python-3.9.4 /var/folders/ys/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/T/python-build.YYYYMMDDhhmmss.nnnnn ~/Desktop
checking build system type... Invalid configuration `arm64-apple-darwin20.4.0': machine `arm64-apple' not recognized
configure: error: /bin/sh ./config.sub arm64-apple-darwin20.4.0 failed


config.subにpatch をあててインストール

timestamp='2018-04-24' のconfig.sub を timestamp='2021-01-08' に変更するパッチをあてる

% pyenv install --patch 3.9.4 <<(curl -sSL https://gist.githubusercontent.com/xight/a064b1fd82a4529eb6ebbde13d95ea8c/raw/8e75b31ea3e9d4b9376e976fa9626401ae217f6c/config.patch)
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
Downloading Python-3.9.4.tar.xz...
-> https://www.python.org/ftp/python/3.9.4/Python-3.9.4.tar.xz
Installing Python-3.9.4...
patching file config.sub
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Installed Python-3.9.4 to /Users/username/.anyenv/envs/pyenv/versions/3.9.4


Reference

GitHub Gist - xight/config-sub.patch (2018-04-24 -> 2021-01-08)
https://gist.github.com/xight/74f84b8bde9ac6f539c3db20c2897d46

GitHub Gist - xight/config.patch config.sub (2018-04-24 -> 2021-01-08), config.guess (2018-03-08 -> 2021-01-25)
https://gist.github.com/xight/a064b1fd82a4529eb6ebbde13d95ea8c

Apple Silicon MacでGatsbyJSをビルド

Summary

gatsby new で darwin-arm64v8 向け libvips が利用できないエラーが発生する。

% npm install gatsby-cli
% npx gatsby new gatsby-blog https://github.com/gatsbyjs/gatsby-starter-blog
...
npm ERR! ERR! sharp Prebuilt libvips 8.10.5 binaries are not yet available for darwin-arm64v8
npm ERR! info sharp Attempting to build from source via node-gyp but this may fail due to the above error
npm ERR! info sharp Please see https://sharp.pixelplumbing.com/install for required dependencies
...


対策: homebrew で libvips をインストール

% brew intall vips


% npx gatsby new gatsby-blog https://github.com/gatsbyjs/gatsby-starter-blog
Cloning into 'gatsby-blog'...
remote: Enumerating objects: 41, done.
remote: Counting objects: 100% (41/41), done.
remote: Compressing objects: 100% (34/34), done.
remote: Total 41 (delta 1), reused 24 (delta 0), pack-reused 0
Receiving objects: 100% (41/41), 1.24 MiB | 9.26 MiB/s, done.
success Created starter directory layout
info Installing packages...

added 2475 packages, and audited 2476 packages in 19s

info Initialising git in gatsby-blog

Your new Gatsby site has been successfully bootstrapped. Start developing it by running:

  cd gatsby-blog
  gatsby develop


Reference

GatsbyJS
https://www.gatsbyjs.com/

Homebrew Formula - vips
https://formulae.brew.sh/formula/vips

Qiita - @yudwig - 2020-12-17 - Apple Silicon(M1)搭載MacでGatsbyJSをビルドする
https://qiita.com/yudwig/items/c533f676b7b8015da723

Windowsで展開した際に文字化けしないZipファイルをMacで作成する

Summary

Windowsで展開した際に文字化けしないZipファイルをMacで作成したい。

macOS Big Sur 11.3 Beta (20E5186d) で標準のzipのバージョンは3.0だが、
--unicode が利用できない。

% zip --unicode=UTF8 --to-crlf --recurse-paths ARCHIVE.zip DIR
zip error: Invalid command arguments (long option 'unicode' not supported)


解決方法

Homebrewでzipをインストールして、
${BREW_HOME}/opt/zip/bin にパスを通しておく。

% brew install zip
% which zip
/opt/homebrew/opt/zip/bin/zip
% zip --unicode=UTF8 --to-crlf --recurse-paths ARCHIVE.zip DIR

MacからBrother製プリンタでL版印刷する

Summary

用紙サイズを幅127mm, 高さ89mm で印刷しようとすると、プリンタにエラーが表示された。

用紙サイズが不一致です[多目的トレイ]
パソコン/携帯端末から受信したデータ:
                 A4
   受信したデータと多目的トレイに
 入っている用紙サイズと異なります
        印刷を続けますか?

MFC-J6997CDWのエラー表示

対策

用紙サイズを幅127mm, 高さ89mm ではなく、幅89mm, 高さ127mm にする。

NG: 幅127mm, 高さ89mm

幅127mm, 高さ89mm

OK: 幅89mm, 高さ127mm

幅89mm, 高さ127mm

Apple Silicon + MacTeX

Summary

$ wget http://www.tug.org/mactex/MacTeX-2020-Universal.pkg
$ pkgutil --expand MacTeX-2020-Universal.pkg mactex
$ pax -rz -f mactex/MacTeX-2020-Universal-Start.pkg/Payload
$ mv usr/local/texlive/2020/bin/custom /usr/local/texlive/2020/bin/


/usr/local/texlive/2020/bin/custom に PATH を通す

path=(
	$path
	/usr/local/texlive/2020/bin/custom(N-/)
)


確認

$ which tex
/usr/local/texlive/2020/bin/custom/tex
$ lipo -archs $(which tex)
x86_64 arm64


Reference

MacTeX - About ARM
http://www.tug.org/mactex/aboutarm.html

via

奥村 晴彦 先生 - macOS - M1 Mac
https://oku.edu.mie-u.ac.jp/~okumura/macosx/m1.html

ruby build時に closure.c がコンパイルできない

Summary

GitHub Pages で利用する ruby 2.7.1 を arm64 でbuildしようとしたら、
closure.c のコンパイル時にエラーが発生。

compiling closure.c
closure.c:264:14: error: implicit declaration of function 'ffi_prep_closure' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
	result = ffi_prep_closure(pcl, cif, callback, (void *)self);
			 ^
1 error generated.
make[2]: *** [closure.o] Error 1
make[1]: *** [ext/fiddle/all] Error 2
make: *** [build-ext] Error 2

インストール

$ git clone https://github.com/postmodern/ruby-install.git
$ cd ruby-install
$ ./bin/ruby-install ruby 2.7.1 -c -- --with-arch=arm64 --prefix=$(rbenv root)/versions/2.7.1-arm64 CFLAGS=-DUSE_FFI_CLOSURE_ALLOC=1


Reference

Andre.Arko.net - 2020-06-30 - Building Ruby on arm64 macOS
https://andre.arko.net/2020/06/30/building-ruby-on-arm64-macos/

Apple Silicon + Big Sur 11.3 Beta + anyenv + pyenv + python3.10.0a5

Summary

pyenv で python をインストールすると arm64-apple が認識できない。

checking build system type... Invalid configuration `arm64-apple-darwin20.4.0': machine `arm64-apple' not recognized
configure: error: /bin/sh ./config.sub arm64-apple-darwin20.4.0 failed

config.subにpatch をあててインストール ([2021-04-16] 追記)

% pyenv install --patch 3.10.0a5 <<(curl -sSL https://gist.githubusercontent.com/xight/74f84b8bde9ac6f539c3db20c2897d46/raw/cf2fd7ff5572afafb54d062f866e40d5e65cab43/config-sub.patch)


config.sub を入れ替えて configure (ad hoc)

$ cd /var/folders/PATH/TO/python-build.YYYYMMDDhhmmss.xxxxx.XXXXXX/Python3.10.0a5
$ mv config.sub config.sub.bak
$ wget https://raw.githubusercontent.com/gcc-mirror/gcc/master/config.sub
$ cd ..
$ ./configure --prefix=$(pyenv root)/versions/3.10.0a5 \
              --enable-unicode=ucs4 \
              --with-openssl=$(brew --prefix openssl) \
              --enable-optimizations
$ make
$ make install


symlinkを作成

$ cd $(pyenv prefix)/bin
$ ln -s python3.10 python
$ ln -s pydoc3.10 pydpc
$ ln -s idle3.10 idle
$ ln -s pip3.10 pip


確認

$ pyenv global 3.10.0a5
$ python --version
Python3.10.0a5
$ lipo -archs $(pyenv prefix)/bin/python3.10
arm64


課題: Universal binary でmakeできていない

PATH/TO/Python-3.x.x/Mac/README.rst を参照

$ ./configure --enable-universalsdk \
			  --with-universal-archs=universal2

Apple Silicon + anyenv + rbenv + ruby2.7.2

Summary

rbenv + ruby-build で ruby をインストールすると arm64-apple が認識できない。

checking for ruby... $HOME/.anyenv/envs/rbenv/shims/ruby
tool/config.guess already exists
tool/config.sub already exists
checking build system type... Invalid configuration `arm64-apple-darwin20.2.0': machine `arm64-apple' not recognized
configure: error: /bin/sh tool/config.sub arm64-apple-darwin20.2.0 failed


tool/config.subにpatch をあててインストール ([2021-04-16] 追記)

timestamp='2019-06-30' のtool/config.sub を timestamp='2021-01-08' に変更するパッチをあてる
$ rbenv install --patch 2.7.2 <<(curl -sSL https://gist.githubusercontent.com/xight/2518f1c28d28a1925d80e786ae34b1c2/raw/5b52a565add497c7e311808da838160d05ee7cc4/config.sub.patch)


tool/config.sub を入れ替えて configure (ad hoc)

$ cd /var/folders/PATH/TO/ruby-build.YYYYMMDDhhmmss.xxxxx.XXXXXX/ruby-2.7.2/tool
$ mv config.sub config.sub.bak
$ wget https://raw.githubusercontent.com/gcc-mirror/gcc/master/config.sub
$ cd ..
$ ./configure --prefix=$(rbenv root)/versions/2.7.2-arm64
$ make
$ make install


確認

$ rbenv global 2.7.2-arm64
$ ruby --version
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [arm64-darwin20]
$ lipo -archs $(rbenv prefix)/bin/ruby
arm64


問題

x86_64 版を利用すると、
$GEM_HOME/*/*.bundleで x86 と arm64 で競合が起こる。

$GEM_HOME/gems/psych-3.2.1/lib/psych.bundle: mach-o, but wrong architecture


x86版の .bundle ファイル を退避してアップデート
$ mv $GEM_HOME/gem $GEM_HOME/gem-x86_64
$ gem update

Apple Silicon + Homebrew

Summary

TimeMachineでx86版からARM版に移行したときにハマった点をメモ。
アクティビティモニターを右クリックしてアーキテクチャを表示しておくと良い。

ARM版 Homebrewのインストール

ARM版 Homebrewは /opt/homebrew にインストールするのが推奨されている。
$ cd /opt
$ sudo mkdir homebrew
$ sudo chown $(whoami):admin homebrew
$ curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
$ /opt/homebrew/bin/brew update


ハマったところ1: uname

uname でアーキテクチャを確認できていなかった
Homebrewでx86版のcoreutilsをインストールしていたため。
$ uname -m
x86_64
$ which uname
/usr/local/opt/coreutils/libexec/gnubin/uname

$ /usr/bin/uname -m
arm64


ハマったところ2: x86版のRuby gems

/Library/Ruby/Gems/2.6.0/gems に x86版のRuby lib/*.bundle ファイルが残ってたため, it is not a compatible arch
TimeMachine で移行するときにありがちっぽい。

$ /opt/homebrew/bin/brew
Traceback (most recent call last):
	22: from /opt/homebrew/Library/Homebrew/brew.rb:31:in `<main>'
	21: from /opt/homebrew/Library/Homebrew/brew.rb:31:in `require_relative'
	20: from /opt/homebrew/Library/Homebrew/global.rb:23:in `<top (required)>'
	19: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	18: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	17: from /opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.0/lib/active_support/core_ext/numeric/time.rb:3:in `<top (required)>'
	16: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	15: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	14: from /opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.0/lib/active_support/duration.rb:3:in `<top (required)>'
	13: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	12: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	11: from /opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.0/lib/active_support/core_ext/array/conversions.rb:3:in `<top (required)>'
	10: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	 9: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	 8: from /opt/homebrew/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.0/lib/active_support/xml_mini.rb:3:in `<top (required)>'
	 7: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	 6: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	 5: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/time.rb:3:in `<top (required)>'
	 4: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	 3: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	 2: from /Library/Ruby/Gems/2.6.0/gems/date-3.0.0/lib/date.rb:4:in `<top (required)>'
	 1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': dlopen(/Library/Ruby/Gems/2.6.0/gems/date-3.0.0/lib/date_core.bundle, 0x0009): could not use '/Library/Ruby/Gems/2.6.0/gems/date-3.0.0/lib/date_core.bundle' because it is not a compatible arch - /Library/Ruby/Gems/2.6.0/gems/date-3.0.0/lib/date_core.bundle (LoadError)


x86版のRuby gemsを退避
$ cd /Library/Ruby/Gems/2.6.0
$ sudo mv gems gems-bak
$ /opt/homebrew/bin/brew list


zshenvでpathを通しておく

if [[ "$OSTYPE" == "darwin"* ]] && [[ "$CPUTYPE" == "arm64" ]]; then
	path=(
		/opt/homebrew/bin(N-/)
		/opt/homebrew/opt/coreutils/libexec/gnubin(N-/)
		/opt/homebrew/opt/binutils/libexec/gnubin(N-/)
		/opt/homebrew/opt/findutils/libexec/gnubin(N-/)
		/opt/homebrew/opt/diffutils/libexec/gnubin(N-/)
		/opt/homebrew/opt/grep/libexec/gnubin(N-/)
		/opt/homebrew/opt/gnu-tar/libexec/gnubin(N-/)
		/opt/homebrew/opt/gnu-sed/libexec/gnubin(N-/)
		/opt/homebrew/opt/gawk/libexec/gnubin(N-/)
		/opt/homebrew/opt/openssl@1.1/bin(N-/)
		$path
	)
fi

if [[ "$OSTYPE" == "darwin"* ]] && [[ "$CPUTYPE" == "arm64" ]]; then
	manpath=(
		/opt/homebrew/share/man(N-/)
		/opt/homebrew/opt/coreutils/libexec/gnuman(N-/)
		/opt/homebrew/opt/binutils/libexec/gnuman(N-/)
		/opt/homebrew/opt/findutils/libexec/gnuman(N-/)
		/opt/homebrew/opt/diffutils/libexec/gnuman(N-/)
		/opt/homebrew/opt/grep/libexec/gnuman(N-/)
		/opt/homebrew/opt/gnu-tar/libexec/gnuman(N-/)
		/opt/homebrew/opt/gnu-sed/libexec/gnuman(N-/)
		/opt/homebrew/opt/gawk/libexec/gnuman(N-/)
		/opt/homebrew/opt/openssl@1.1/man(N-/)
		$manpath
	)
fi


ARM版のパッケージをインストールし、archを確認

$ /opt/homebrwe/bin/brew install zsh
$ lipo -archs /opt/homebrew/bin/zsh
arm64


Reference

Homebrew Documentation
https://docs.brew.sh/Installation

Segmentation violation exception with Docker2.5.0

Summary

macOS Big Sur 11.0.1 Beta, Docker 2.5.0
Docker起動時に Fatal Error, Segmentation violation exception が発生する。
VirtualBox kernel extensionが原因とのこと。

ロードされているVirtualBox関連のカーネルエクステンションを確認

% kmutil showloaded | grep virtualbox
No variant specified, falling back to release
  236    3 0xffffff7fa156a000 0xb2000    0xb2000    org.virtualbox.kext.VBoxDrv (6.1.16) DAF044F0-5043-3B8E-8758-5A462567BDAA <8 6 5 3 1>
  237    0 0xffffff7fa1647000 0x5000     0x5000     org.virtualbox.kext.VBoxUSB (6.1.16) CA33FA52-5933-3F0E-9B40-8B1ECF4D6A36 <236 199 64 8 6 5 3 1>
  238    0 0xffffff7fa1642000 0x4000     0x4000     org.virtualbox.kext.VBoxNetFlt (6.1.16) C93EAF6A-676F-3370-BAE2-BDFD2BF16582 <236 8 6 5 3 1>
  239    0 0xffffff7fa163c000 0x2000     0x2000     org.virtualbox.kext.VBoxNetAdp (6.1.16) 76200407-D2F0-3D84-BCCF-7EEA18F16654 <236 6 5 1>


Workaround

sudo kmutil unload -b org.virtualbox.kext.VBoxUSB
sudo kmutil unload -b org.virtualbox.kext.VBoxNetFlt
sudo kmutil unload -b org.virtualbox.kext.VBoxNetAdp
sudo kmutil unload -b org.virtualbox.kext.VBoxDrv


ロードされているVirtualBox関連のカーネルエクステンションを確認

% kmutil showloaded | grep virtualbox
No variant specified, falling back to release


VirtualBoxを利用したい場合はVirtualBox関連のカーネルエクステンションをロードする

sudo kmutil load -b org.virtualbox.kext.VBoxUSB
sudo kmutil load -b org.virtualbox.kext.VBoxNetFlt
sudo kmutil load -b org.virtualbox.kext.VBoxNetAdp
sudo kmutil load -b org.virtualbox.kext.VBoxDrv


Reference

GitHub - docker/for-mac - Issues #5026 Segmentation violation exception with Docker edge on macos big sur beta 10
https://github.com/docker/for-mac/issues/5026

python3.9.0 + pyenv + macOS Big Sur + Homebrew

Install

CFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include" CPPFLAGS="-I$(brew --prefix zlib)/include" LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib" pyenv install 3.9.0

macOS Big Sur Beta 6 (20A5364e) + Karabiner Elements 12.93.0

Summary

Karabiner Elements 12.93.0 が Big Sur Beta 6 で動作するようになった。
これで、カスタムキーバインド、キーボードを跨いだ修飾キー利用が可能に。

Reference

GitHub - pqrs-org / Karabiner-Elements - Karabiner completely broken on macOS Big Sur #2331
https://github.com/pqrs-org/Karabiner-Elements/issues/2331

prqs.org - Karabiner-Elements for macOS Big Sur
https://karabiner-elements.pqrs.org/docs/macos-big-sur/

macOS Big Sur Public Beta 1 (20A5343j) でのトラブルと対応

Summary

macOS Big Sur Previewがリリースされたので、インストールしてみた。

Karabiner Elementsが動作しない

CapsLock と 右Command の入れ替え、Terminal系ではCapsLockを右Ctrlに変更していた。
hidutil によるキー入れ替え、iTerm2側でのキー入れ替えで対応。

~/Library/LaunchAgents/com.local.KeyRemapping.plist

hidutil key remapping generator for MacOS で生成したplistファイルを作成
(CapsLock -> 右Commandのみ)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Label</key>
	<string>com.local.KeyRemapping</string>
	<key>ProgramArguments</key>
	<array>
		<string>/usr/bin/hidutil</string>
		<string>property</string>
		<string>--set</string>
		<string>{"UserKeyMapping":[
			{
			  "HIDKeyboardModifierMappingSrc": 0x700000039,
			  "HIDKeyboardModifierMappingDst": 0x7000000E7
			}
		]}</string>
	</array>
	<key>RunAtLoad</key>
	<true/>
</dict>
</plist>

一時的にキーリマップを動作させるには hidutil で UserKeyMapping の値を設定すれば良い

hidutil property --set '{"UserKeyMapping":[
{
  "HIDKeyboardModifierMappingSrc": 0x700000039,
  "HIDKeyboardModifierMappingDst": 0x7000000E7
}
]}'

iTerm2

[Preferences...] - [Keys] - [Remap Modifiers] から
右CommandキーをControlキーに変更

キーボード2台を跨いだ修飾キー操作が行えない。

Shift + Enter, Command + Enter, Shift + L などが行えない。諦め…。

Homebrew

brew upgrade でエラー発生

Error: Your Xcode (11.6) is too outdated.
Please update to Xcode 12.0 (or delete it).
Xcode can be updated from:
  https://developer.apple.com/download/more/

Error: Your CLT does not support macOS 11.0.
It is either outdated or was modified.
Please update your CLT or delete it if no updates are available.

Xcode 12 beta4, Command Line Tools for Xcode 12 beta 4 をインストール
Apple Developer - Downloads - More Downloads for Apple Developers からダウンロードしてインストール

sudo xcode-select -s /Applications/Xcode-beta.app


macOS Big Sur Public Beta 1 (20A5343j) で動作確認ができたアプリケーション

Microsoft Word for Mac 16.40 (20081000)
Microsoft Excel for Mac 16.40 (20081000)
Microsoft PowerPoint for Mac 16.40 (20081000)
Better Touch Tool 3.402 (1633)
iTerm2 3.4.0 beta2
TeX Live 2020
Scan Snap Home 1.8.0 (10)

macOS Big Sur Public Beta 1 (20A5343j) で動作しなかったアプリケーション

Karabiner Elements 12.10.1 (起動するが機能しない)
Backup and Sync from Google 3.50 (Backup and Sync has encountered a fatal error, and will now terminate.)
Bartender 3.1.23 (起動するが機能しない, Siriが起動する)

Reference

GitHub - pqrs-org / Karabiner-Elements - Karabiner completely broken on macOS Big Sur #2331
https://github.com/pqrs-org/Karabiner-Elements/issues/2331

hidutil key remapping generator for MacOS
https://hidutil-generator.netlify.app/

GitHub - amarsyla / hidutil-key-remapping-generator
https://github.com/amarsyla/hidutil-key-remapping-generator

GitHub - pqrs-org / Karabiner-DriverKit-VirtualHIDDevice
https://github.com/pqrs-org/Karabiner-DriverKit-VirtualHIDDevice

VirtualBox + sparsebundle

Summary

VirtualBox + sparsebundle[2016-02-23-1]
VBoxManageのコマンドが変更になった。

VirtualBoxの仮想ディスクを圧縮する[2015-08-26-3] と合わせ技

SDelete.exe, または dd で0埋めしてから
VBoxManage list hdds
VBoxManage modifymedium PATH/TO/TARGET.vdi --compact
hdiutil eject /dev/diskXsX
hdiutil compact PATH/TO/TARGET.sparsebundle

macOS Catalina + homebrew + MacTeX (TeXLive2020)

Summary

macOS 10.15.4 Catalina で TeX 環境 (TeXLive2020) の構築。

homebrew caskで mactex をインストール

$ brew cask install mactex
$ sudo chown -R USERNAME:admin /usr/local/texlive

mactexをアップデート

$ tlmgr update --self --all

ミラーのリポジトリを指定

$ tlmgr option repository "ftp://ftp.tug.org/texlive/tlnet"
tlmgr: setting default package repository to ftp://ftp.tug.org/texlive/tlnet
tlmgr: updating /usr/local/texlive/2020/tlpkg/texlive.tlpdb

taskgated MacOS error -67062

Summary

Terminal を起動すると Console に毎秒10行ほど taskgated がエラーを出力する。

taskgated MacOS error: -67062

zsh や tmux が定期実行しているファイルに問題がありそうだ。

error -67062 とは

署名されていないバイナリを実行すると発生するようだ

% security error -67062
Error: 0xFFFEFA0A -67062 code object is not signed at all

署名を確認する

% codesign -dvvv $(where target)
/path/to/target: code object is not signed at all

ad-hoc signing (場当たり的な署名)

% codesign -f -s - $(where target)

雑に ad-hoc signing

% sudo codesign -f -s - /usr/local/bin/*

Reference

GitHub - homebrew/homebrew-core - Issues #11378
https://github.com/Homebrew/homebrew-core/issues/11378

Qiita - @zeriyoshi - 2016-11-23 - macOSアプリにオレオレ再署名する
https://qiita.com/zeriyoshi/items/78b4c7227217e2eac536