01月11日
[macOS Catalina] 困ったことの対処方法
macOS CatalinaってMojaveやHigh Sierraと比較すると違いが多いです。Mojaveで出来ていた事をCatalinaでもできるようにするにはどうしたらいいの?と調べたことをまとめています。
Catalyst対応アプリ アスファルト9(バージョン1.9.7)動きませんでした。
Mid2015 Intel Iris Pro 1536 MBではこのアプリ動きませんでした。
具体的には、起動はできて、初期画面が表示されます。
準備ができていないようでキー入力受け付けません。軽快なバックグランドミュージックを聴きながら、右下でクルクル動作していることから処理中?と思い完了を待っていました。しばらくすると落ちました。
裏では、MTLCompilerServiceが激しくメモリを使いながら動いていました。CatalystアプリはMTLCompilerServiceと密接な関係があることがわかりました。
キー入力受け付けないので、いったん終了(1)、アスファルト9を起動(2)し直しました。(1)は終了したはずなのですが、裏でMTLCompilerServiceは残っていたようです。その結果メモリ使用量がとんでもない状況になりました。メモリ不足が発生し、macOSを再起動しました。
メモリプレッシャーのグラフが赤くなっていることがわかります。MTLCompilerServiceのメモリ量は37GB、20GBです。
Operation not permitted
Mojaveで動作していた処理は、Catalinaへアップグレード後「Operation not permitted」エラーで動作しなくなることがあります。
この「Operation not permitted」エラーは、システム環境設定>セキュリティとプライバシー>フルディスクアクセスで解決することができます。
例えばhttpd(ウェブサーバー)で今まで正常に動作していたスクリプト(php)でWarning: require_once(Volumes/work/...../abc.php) ): failed to open stream: Operation not permitted in /System/...警告が表示されました。この場合、スクリプトファイルではなく、スクリプトを動かしているウェブサーバーをフルディスクアクセスに加えることで直ります。
macでiPadのアプリが使える、対応アプリは?
macOS Catalinaの新機能の一つiPadアプリがMacで使えるMac Catalyst、この機能のおかげでたくさんのiPadアプリが動かせる!って喜んでいます。appleの特集ページで対応アプリを確認することができます。
特集ページ:CATALINAにおすすめ お気に入りのAppをMacで
2020.1.14時点で44個のアプリがありました。
Bitdefender Virus Scanner【スキャンできない】
macの非常駐型のウィルス対策ソフトBitdefender Virus Scanner for MacをMojaveから利用しています。
アプリにフルディスクアクセスを付与して使っていましたが、CatalinaではScan Critical LocationsやDeep System Scanを実行しても進んでくれません。
Scan Critical Locationsは通常2、3秒で完了していました。Catalinaでは/System/Library/LaunchAgents/com.apple.mdworker.shared.plist(おそらく最初にチェックされるファイル)で数分まってもScanningのままで、1ファイルもScanできずに困っています。
一度アンインストール後(LaunchPadでアイコンを長押しするとxボタンが表示されます)、再度インストールしました。10分ぐらい放置したところ、7分ほどで完了していました。
→動いているので、しばらく待ってみる
一度完了すると2分59秒ほどで完了するようになりました。
ただ2分40秒まで最初にチェックされるファイルがしばらく表示されています。この間CPUの使用率は98%から200%を確認しています。
前準備→スキャンの流れで、Catalinaでは前準備に時間がかかるようになった?と思っています。
/(ルートディレクトリ)直下にフォルダを作成する
macOS Catalinaでは/(ルートディレクトリ)はread-onlyファイルシステムとしてマウントされるようになっています。そのため、Mojava等で管理者権限(sudo mkdir /test等)で作成できたフォルダ、ファイルを作ることができません。read-writeボリュームとしてマウントし直すことで作成することもできますが、今後のバージョンアップ等で予想できない事態に遭遇する可能があります。
macOS Catalinaでルートディレクトリ直下に正規の方法でフォルダを作成したい場合、参考になったのはapple.stackexchange.com:https://apple.stackexchange.com/questions/371908/how-to-make-root-volume-writeable-again-in-catalinaの投稿です。
/etc/synthetic.confに記載することで任意のフォルダをルートディレクトリにシンボリックリンクすることができます。
/System/Volumes/Data/下はユーザーが任意に作成できるフォルダです。ここにルートディレクトリに置きたいフォルダをコピー・作成します。barというフォルダを作ったら以下のコマンドを実行します。
echo -e 'bar\tSystem/Volumes/Data/bar' | sudo tee -a /etc/synthetic.conf
cat /etc/synthetic.conf
で追加されていることを確認してください。\tはTABコードです。catすることでTABに置き換わります。もしそのまま表示されるようであればコードが違います。optionキー+¥で入力することができます。
synthetic.confに設定した値の適用はmacOSを再起動する必要があります。
再起動後、/barフォルダがあることが確認できます。barは適時自分の追加したフォルダに置き換えてコマンドを実行してください。
※1 sudoコマンドは管理者権限を与えます。右側に続くコマンドを実行する際、管理者権限で実行することができます。
※2 teeコマンドは、標準出力とファイルに同時に出力するコマンドです。-aオプションはファイルに出力する際、既存のファイルへ追加する指定です。
man -kでmakewhatis: /usr/lib/./libgutenprint.2.dylib: No such file or directoryエラー
macOS Catalinaへアップグレード後、makewhatisのエラーが複数行表示されるようになりました。Catalinaならではの解決方法は現時点では不明です。
man -kでコマンドや設定のhelpの検索が可能です。
コメントシステムを利用したくない方はお問い合わせからお願いします。
2013.8.19 DISQUS(外部コメントサービス)の利用を開始しました。
Facebook, google, Twitter等のアカウントで投稿可能です。