MacOS X Tips

From misc notes
Jump to navigation Jump to search
  • 雑多なメモ

Magic Mouse 買った。マウスの軌跡の加速度合いが気に入らないので調べた。

defaults write .GlobalPreferences com.apple.mouse.scaling -1

情報では "-1" というのがほとんどなんだが "-3100" があるので調査中。

https://logs.paulooi.com/how-to-set-to-the-best-mouse-sensitivity-for-apple-magic-mouse.php

結局都市伝説だったらしい。わたしゃ2.5かな

https://discussions.apple.com/thread/252930818

最終的に linearmouse 使うことにした。

https://linearmouse.org/

で 0, 0.31

  • 雑多なメモ
https://apple.stackexchange.com/questions/434362/mac-m1-how-to-copy-dylib-file-to-usr-lib-in-macos-big-sur
  • 雑多なメモ
sudo /usr/libexec/ApplicationFirewall/socketfilterfw -l


  • 雑多なメモ

tccutil


  • MontereyのGateKeeperの罠

確証は無いのだが...

brewで入れたemacsが大きなファイルを開いて作業すると落ちる。ひょっとしたらと思いentitlementsをつけてcodesignしたら安定したかも...


  • brewで入れたemacs 28.1が.emacsを読み込まない

.emacsを確認

emacs --batch -f batch-byte-compile .emacs

いっぱい警告が出てるが、この秘伝のタレの.emacsは色んな所で動いているのですが...警告を消したら読み込みました...


byte-compileで出来た.emacs.elcは削除しておきましょう。忘れたころに.emacs変更したのに変わらないと悩むから...


  • bashからzshに変わって嫌な挙動をなんとかそれらしくする
set +o ALWAYS_LAST_PROMPT
set -o AUTO_CD
set +o AUTO_MENU
set -o RM_STAR_SILENT


  • bashからzshに変わって許せない事が一つ解消した

tab で補完する際に、文字列の途中にカーソルを移動させて補完が出来なくなったのを解消する設定

bindkey '^i' expand-or-complete-prefix

あーーーすっきりした


  • 悪いこととは知りながら...
brew install pyenv
LDFLAGS="/opt/homebrew/opt/gettext/lib/libintl.a" pyenv install 2.7.18
  • ldd

Montereyに ldd が無い。

otool -L

alias しておこう...

  • コードサイニング系雑多なメモ

コードサイニングする場合は、terminal 経由では駄目でMacでログインしてGUIが機能する必要がある。 自身のキーチェインアクセス.app のGUIが動く必要あり。

こんな感じのエラーがでる。

my_a.out: errSecInternalComponent

コードサインの削除

codesign --remove-signature my_a.out

既存のコードサインの変更

codesign -s "Developer ID Application: YOUR NAME (YOUR_DEV_ID)" -f --generate-entitlement-der --entitlements entitlements.xml my_a.out

entitlements.xml

<?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>com.apple.security.virtualization</key>
	<true/>
	<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
	<true/>
	<key>com.apple.security.cs.allow-jit</key>
	<true/>
	<key>com.apple.security.get-task-allow</key>
	<true/>
</dict>
</plist>

"com.apple.security.get-task-allow" はリリース時は消すこと。

entitlements の確認

codesign -dvv --entitlements - my_a.out


  • コアダンプ

Monterey とか門番強すぎ...

ulimit -c unlimited
sudo chmod 1775 /cores
sudo chmod o+w  /cores

entitlements.xml

<?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>com.apple.security.get-task-allow</key>
	<true/>
</dict>
</plist>

codesign はいろいろ情況によるので割愛...


  • コードサイニング系メモ

証明書の不備がある時はここから更新

https://www.apple.com/certificateauthority/
  • えー

(developer mode is not enabled on this machine and this is a non-interactive debug session.)

(this is a non-interactive debug session, cannot get permission to debug processes.)

sudo DevToolsSecurity -enable
sudo dseditgroup -o edit -a staff -t group _developer
  • MontereyのPodcastアプリの挙動

以前の iTunes の Podcast は ID3 tag が入って、それなりに他のデバイスに持って行きやすかったのだが。 おそらく、まだまだ仕様は変化していきそうですが MontereyのPoacastアプリからエピソードにID3 Tagをつけるツール

https://douglas-watson.github.io/post/2020-05_export_podcasts/
https://github.com/douglas-watson/podcasts_export
  • brew でパッケージのバージョンを固定

諸般の事情で古いMacOSX を使っていた場合、brew でバイナリーパッケージが提供されず、ソースからビルドされるので結構つらい。とくに gcc や rust とか大型のものが頻繁にビルドされるので詰む。

brew pin 'formula'

で固定する。たまには(やばい時は) unpin してアップデートしてあげること。

  • softwareupdate

なにかの手違いで、"iLife サポート 9.0.4" をインストールしろという。しかしコイツは古すぎてパッケージの形式すら違っていてダメ。これを解消するには、

defaults read /Library/Preferences/com.apple.SoftwareUpdate.plist
sudo softwareupdate --ignore iLifeSupport902
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate.plist LastUpdatesAvailable 0
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate.plist LastRecommendedUpdatesAvailable 0
sudo defaults delete /Library/Preferences/com.apple.SoftwareUpdate.plist RecommendedUpdates
  • disable netbiosd
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.netbiosd.plist
sudo launchctl disable system/netbiosd
  • disable IPv6
networksetup -setv6off "Wi-Fi"
  • mDNSResponder が邪魔している
        #sock.bind(('224.0.0.1', 0))
        #sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        sock.bind(('0.0.0.0', 0))
        sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
  • Sierra での ssh packet_write_wait
Sierra にしてから、気がつけば ssh の接続を切られている事が多いので調べた。
「システム環境設定」->「省エネルギー」の「ディスプレイがオフのときにコンピュータを自動でスリープさせない」を有効にする事。
設定が抜けてたというより、以前はスリープはスリープで設定できたのが、ディスプレイのオフと勝手に連動するようになってた。
pmset -g してみたら sleep が 0 になっていないので pmset sleep 0 にしてから「システム環境設定」->「省エネルギー」を見て理解。
  • El Capitan‎ 第一印象
rootless 恐れてたのだが、素直な感じ。(chown 管理者 /usr/local はやった)
ひさしぶりに、 MobileBackups Volume 見た ;) SSD に換装して空容量があるので放置しておく。
念のため TimeMachine ローカルスナップショット の殺し方はこれ
sudo tmutil disablelocal
あ!あとで確認する ;_; ...確認した。
/Library/SystemMigration/History/Migration-(UUID)/QuarantineRoot
/opt/homebrew-cask
cask はディレクトリの権限かえて、untap, tap で正常化
SystemMigration はいろいろ入ってたが、影響無しとしてさっくり削除した
いまのところ rootless 状態で無事稼働中。apogee USB ドライバーも普通に動いてる。
怪しいエラーログはいっぱいあるが、ゆっくり見ていく。


  • Xcode の update でハマること多し
defaults write com.apple.appstore ShowDebugMenu -bool true


  • Yosemite DNS 系

祝 mDNSResponder


  • メモ
defaults write com.apple.Terminal NSAppSleepDisabled -bool YES


  • EDNS0
yosemite で名前解決がすっきりしないので、homebrew で bind9 をローカルで動かしているが、それでも変。とりあえず...
server 0.0.0.0/0 { edns no; };


  • メモ
https://github.com/joedj/yosemite_dnsfix
AlwaysAppendSearchDomains


  • Console の Window size や position を覚えてくれない
Mavericks や Yosemite になってからの不具合
"NSWindow Frame Console" がストアされないのがおかしい
コンソールを起動し、サイズをかえる。起動したままで、
open  ~/Library/Saved\ Application\ State/com.apple.Console.savedState/windows.plist
# Xcode で中身を見る
# NSWindowFrame の値をメモ
# コンソールを終了する
defaults write com.apple.Console "NSWindow Frame Console" "メモした値"


  • 定番
http://support.apple.com/kb/PH14222?viewlocale=ja_JP&locale=ja_JP
http://support.apple.com/ja-jp/HT3964
http://www.etresoft.com/etrecheck


  • メモ
net.link.ether.inet.arp_unicast_lim=0


  • OS X Yosemite こまったぁぁぁ
勝手に再起動しちゃう
どうもメモリー不足っぽい。
切り分けに、boot-args でいろいろ loader.conf 的なものを仕込んでいたのを止めて
さらに sysctl.conf も一切さわらずにすると長持ちする
結局
8GB以上のメモリー積め!!!!!!的
その後、MacBook6,1(+MacBookPro5,5 firmware)に非公式8GBくべてやりました。超安定
boot-args や sysctl.conf も元に戻してもOK
Yosemite は file cache が賢くなっているようで、App Nap問題を意識すれば快適。


  • OS X Yosemite 変わったところ
/private/var/vm/swapfile0 が再起動後は無い。
メモリーが逼迫して必要になれば作られるようだ。
dynamic_pager も常駐していないのでアセった。
どうも launchd には登録されているようで、必要になれば動くっぽい。


  • OS X Yosemite の 通知設定が保存できない
Yosemite にアップデートして不具合
https://discussionsjapan.apple.com/thread/10153437
cd Library/Application¥ Support
rm -rf NotificationCenter
cd `getconf DARWIN_USER_DIR`
rm -rf com.apple.notificationcenter
killall usernoted; killall NotificationCenter


  • メモ
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.dc39123_1254/html/qinstmac/qinstmac11.htm
/usr/sbin/sysctl -w kern.aiomax=2048
/usr/sbin/sysctl -w kern.aioprocmax=1024
/usr/sbin/sysctl -w kern.aiothreads=16


  • Marvericks で "ディスプレイを検出"
システム環境設定 -> ディスプレイ で option キーを押す。


  • softwareupdate が失敗する・getPPDversion が終わらない
古いプリンタードライバーが悪さしていた。
/Library/Printers/ を確認。不要なメーカーを削除。
/Library/Printers/PPDs/Contents/Resources の不要な PPD も削除。
/Library/Image Capture/ の下にも不要なファイルあり。
奇麗に掃除するには「システム情報」で確認する事。


  • pkgutil メモ
cd /var/db/receipts
||
pkgutil --files HOGE.FUGA
pkgutil --forget HOGE.FUGA


  • DNS Server
rndc-confgen -b 256 > /etc/rndc.conf
head -n5 /etc/rndc.conf | tail -n4 > /etc/rndc.key

/etc/named.conf
// (change port to 953)
controls {
        inet 127.0.0.1 port 953 allow {any;}
        keys { "rndc-key"; };
};

launchctl load -w /System/Library/LaunchDaemons/org.isc.named.plist
echo "launchctl start org.isc.named" >> /etc/launchd.conf

rndc reload
rndc flush


  • Time Machine メモ
ローカルバックアップのコントロール
外部の time machine 用のボリュームがなくても、最低限のバックアップをしてくれるのだが...
/Volumes/MobileBackups/Backups.backupdb/<hostname>/
ローカルボリュームのこんなところに保存されている
これを停止する場合
sudo tmutil disablelocal
再開する場合
sudo tmutil enablelocal
不整合が起きて、バックアップをすべて削除したい場合は止めて再開する
sudo tmutil disablelocal
sudo tmutil enablelocal


  • Homebrew メモ
brew update
brew upgrade
brew cleanup
/usr/local/Library/LinkedKegs/ruby/bin
export GEM_HOME=/usr/local/Library/LinkedKegs/ruby/lib/ruby/gems/1.9.1


  • Mountain Lion の 「ダウンロードされたアプリケーションの実行許可」
いちいち「システム環境設定」開かなくっても、
 sudo xattr -d -r com.apple.quarantine アプリケーション.app
追記:右クリックでサブメニューから「開く」で、ダイアログがでるのでそこで許可のほうが簡単だった。


  • Lion で確定申告 e-Tax

国税庁の e-Tax は随分便利になりました。しかし 平成23年度分の申告システムでは MacOSX の最新版の Lion は未対応です。しかし頑張れば可能とのこと。

e-Tax JPKI利用者ソフトICカード認識しない: Apple サポートコミュニティ
Mac OS X 10.7 Lionで公的個人認証サービスを利用する - ento's posterous
利用者クライアントソフトVer 2.3(Macintosh版)の動作検証における一部機能の問題について
Smart Card Services Update v2.0b1
あと注意する事は Safari の 「Java を有効にする」と 「Java アプレットプラグイン」を有効にする事。
使った ICカードリーダは SCR3310-NTTCom で問題なく申告できました。


  • Lion の FileVault 2

FileVault 2 を有効にするといろいろ制約があるという情報が少なく困った。

ログインパネルで「ユーザ名とパスワード」にしたいのに出来ない件。
OS X Lion の FileVault 2 とログイン画面 / おのひろきおんらいん
あとはもう一個謎なエラーが出てる件はまだ調査中...


  • これはメモメモ
yebo blog: 続・AirMac Extremeで、IPv6を使ってみよう
sudo sysctl -w net.inet6.ip6.use_tempaddr=1


  • AirMac (AirPort) のチャンネル番号
やっぱり固定にするべきですねぇ。 5GHz も同様です。
5GHzのネットワーク接続
新しいAirMacExtreme(MC340J/A)の5GHz帯の使用の不具合


  • iTerm2 での delete キー
iTerm2 で screen を使っている場合 ~ と入力されてしまう
iTerm Delete Key Config
send hex code 8


  • スティッキーズのパッチ
apple 純正 スティッキーズ ウィジェットが日本語環境の場合立ち上げ時にエラー
(com.apple.widget.stickies) file:///Library/Widgets/Stickies.wdgt/Stickies.js: TypeError: Result of expression '$("font-popup").options[fontArray[font]]' [undefined] is not an object. (line: 111)
鬱陶しいので patch 当てた
--- /Library/Widgets/Stickies.wdgt/Stickies.js	2008-06-20 08:15:33.000000000 +0900
+++ ~/Library/Widgets/Stickies.wdgt/Stickies.js	2010-10-14 17:29:19.000000000 +0900
@@ -85,7 +85,7 @@
 
 var kDefaultData  = "";
 var kDefaultColor = "Images/yellow.png";
-var kDefaultFont  = "MarkerFelt-Thin";
+var kDefaultFont  = "HiraMaruPro-W4";
 var kDefaultSize  = "Auto";
 
 function loadPreferences() {
@@ -413,6 +413,10 @@
 fontArray["Gill Sans"] = 5;
 fontArray["Baskerville"] = 6;
 fontArray["American Typewriter"] = 7;
+fontArray["HiraKakuPro-W3"] = 8;
+fontArray["HiraKakuStd-W8"] = 9;
+fontArray["HiraMaruPro-W4"] = 10;
+fontArray["HiraMinPro-W3"] = 11;
 
 
 function capFontSizes()


  • ReportCrash
Technical Note TN2123:CrashReporter
Suppressing the "unexpectedly quit" alert
defaults write com.apple.CrashReporter DialogType none
    launchtl can be used to disable and re-enable crash reporting.  To disable crash reporting:

          launchctl unload -w /System/Library/LaunchAgents/com.apple.ReportCrash.plist
          sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.ReportCrash.Root.plist

    To re-enable crash reporting:

          launchctl load -w /System/Library/LaunchAgents/com.apple.ReportCrash.plist
          sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.ReportCrash.Root.plist


  • EDNS0
scutil で書き込んでも、reboot したら消えてしまうみたい。
で、ごにょごにょ
/Library/Preferences/SystemConfiguration/preferences.plist
                        <key>DNS</key>
                        <dict>
                                <key>Options</key>
                                <string>edns0</string>


  • たんなるメモ
scutil --dns


  • MBUFの調整
あら見つけた
Mac OS X Server 10.5:mbuf の配分を増やして Web サーバのパフォーマンスを調節する
sudo nvram boot-args="ncl=262144"
この値が kern.ipc.nmbclusters に設定される
PRAM クリアで消えてしまう。Kernel Panic になったら慌てずに PRAM Clear しませう。
固定化するには man com.apple.Boot.plist
/Library/Preferences/SystemConfiguration/com.apple.Boot.plist

	<key>Kernel Flags</key>
	<string>ncl=262144</string>
あとは initmcl や nbuf
http://www.insanelymac.com/forum/topic/106861-xnu-1228-boot-arguments/


  • VirusBarrier X6 で Web の閲覧が遅くなった
共有メモリ増やすと、少し早くなる? (気のせい????)
kern.maxvnodes=150000
kern.sysv.shmall=268435456
kern.sysv.shmmin=1
kern.sysv.shmmni=512
kern.sysv.shmmax=1073741824
kern.sysv.shmseg=128


  • FireFoxのプラグインチェックでQuickTimeが古いと言われた
7.6.6 がはいっているのに、7.6.3 と
http://discussions.apple.com/message.jspa?messageID=11603475#11603475


  • DNS Cache Server
# launchctl load -w /System/Library/LaunchDaemons/org.isc.named.plist
# rndc-confgen -a -c /etc/rndc.key
# launchctl start org.isc.named
# dscacheutil -flushcache
あとは FreeBSD の config 参考して config かえる事
http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/namedb/
IPv4 only にするなら
/System/Library/LaunchDaemons/org.isc.named.plist
を編集して、起動オプションを追加
                <string>/usr/sbin/named</string>
                <string>-4</string>
                <string>-f</string>


  • たんなるメモ
/etc/smb.conf
disable netbios = yes
smb ports = 445
local master = no


  • FireFox リカバリ
open Firefox.app --args -safe-mode
open Firefox.app --args -p


  • たんなるメモ
/etc/launchd.conf
man launchctl
プロセスを使い果たさないように launchd でリソース制限を管理する


  • たんなるメモ
pmset


  • CUPS マネージメントWeb
http://localhost:631
こんなのが動いていたのね...


  • update dyld cache
怪しいログが...
warmd[99]	[fetcher_open_file:936] open("/var/db/dyld/dyld_shared_cache_x86_64") => -1 (errno: 2)
warmd[99]	[fetcher_open_file:936] open("/var/db/dyld/dyld_shared_cache_i386") => -1 (errno: 2)
どうも dyld の cache が壊れたらしい。以下のコマンドで修復
update_dyld_shared_cache -root / -force
Remove preferences and update dyld cache to potentially clear Rosetta problems | MacFixIt - CNET Reviews
Mac Dev Center: Dynamic Loader Release Notes


  • iPhoto '09 の顔認識で CPU full
Fat Cat Software - iPhoto Library Manager
iPhoto Library Manager で rebuild すれば OK
(完全にコピーしながら再構成するので時間かかります)


  • Snow Leopard で sysctl の 制限
kern.ipc.maxsockbuf は 4194304 までに
net.inet.tcp.sendspace は 3727360 までに
net.inet.tcp.recvspace は 3727360 までに
いずれにせよ、kern.ipc.maxsockbuf と net.inet.tcp.win_scale_factor でよしなにしてくれるはず。
kern.maxfiles
kern.maxfilesperproc
kern.ipc.somaxconn
が設定できるようになった


  • Snow Leopard 改良点まとめ
Mac OS X 10.6 Snow Leopard: the Ars Technica review - Ars Technica
あぁ ZFS MIA


  • 嗚呼 ZFS
(zfs-discuss) The cat is out of the bag
XRAIDのラインナップが生きてればそちらでというシナリオもあるんですが...残念


  • Snow Leopard で 「マウスがあるときはトラックパッドを無視」にする
設定が 「ユニバーサルアクセス」の「マウスとトラックパッド」タブに有りました。
(ほっ!)


  • フレンチダブルクオートの入力
« は option+\
» は option+shift+\ (つまり option+|)


  • メモ JAVA_HOME
JAVA_HOME=/Library/Java/Home
いままで /usr でうごいていたんだけどかわったのね


  • メモ Firefox で "辞書で調べる" サービスを使う
Look Up in Dictionary :: Firefox Add-ons
探してたんです。良かった。うれしい☆


  • MacOSX TCP Tuning Guide
TCP Tuning Guide - Mac OSX Tuning
ローレンス・バークレー国立研究所 かー 学術系というか HPC 系はこゆぃ


  • たんなるメモ
MacWiki - CUI版softwareupdate


  • MacOSX ソフトウェア・アップデートの後のお作法
昔からのユーザには常識なんだけど
PRAM クリア
カーネルキャッシュ クリア
ノート系の人はSMC リセット
これもよく使いますSafe Boot


  • MacOSX Leopard Network tuning
あーそーなんだ、Leopard には "Self-Tuning TCP" 機能がはいってたんだ
rfc1323 ON なら、tunables ってこれだけね
kern.ipc.maxsockbuf
net.inet.tcp.win_scale_factor


  • Windows PC 用のコンシュマーネットワーク機器
UNIX(MacOS Xも)で使用していて、突然つながらなくなるパターンの時は
機器の Port Range を越えている場合が有り
その場合は Port Range を Windows のデフォルトと同じにしてみよう
BSD(MacOS Xも) なら、
sysctl -w net.inet.ip.portrange.first=1024
sysctl -w net.inet.ip.portrange.last=5000
BUFFALO AirStationでオオハマリ(^^;;;


  • Microsoft Wireless Notebook Presenter Mouse 8000 と MacBook Pro
カーソルがひょこひょこ跳ねる場合は、
[システム環境設定]->[Microsoftマウス]->[パフォーマンス]でパフォーマンス優先にしませう
(あとは、「Bluetoothデバイスがスリープを解除することを許可」は OFF にすること)
(Keynote のコントロールできないんだが、それはそこ Apple Remote があるじゃん...)


  • MacOSX Leopard で WILLCOM W-SIM MODEM.ccl Modem Script 修正
Info.plist に Supersedes array 追加
Superseding an older script


  • MacOSX Leopard のファイル権限
ls -l したら'@'とかいろいろ見なれないものが...
xattr -l ファイル
ls -le [ファイル]
ls -l@ [ファイル]
ネットからダウソしたファイルには、xattr で com.apple.quarantine 属性がつく模様
xattr -d com.apple.quarantine ファイル
で属性消去


過去ログ

昔のものは、雑多なメモ