os:osx:techmemo
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
os:osx:techmemo [2018/04/09 17:15] – 外部編集 127.0.0.1 | os:osx:techmemo [2024/10/04 20:40] (現在) – 外部編集 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
====== MacOS-X 技術メモ ====== | ====== MacOS-X 技術メモ ====== | ||
- | |||
- | **__ Last Update: 2018/04/09 __** | ||
MacOS-XはUNIX由来のシステムではあるが、それなりに違いもある。その部分に関して、メモを残しておく。 | MacOS-XはUNIX由来のシステムではあるが、それなりに違いもある。その部分に関して、メモを残しておく。 | ||
- | * [[os: | + | ===== DHCPでアドレスを受け取った時に、Hostnameを書き換えないようにする ===== |
- | ===== macOS で tftpd ===== | + | 正確には、hostnameを書き換えないのではなく、hostnameを固定する方法。 |
- | Network系Hardwareを管理していると、Firmwareを更新しなければならないことが稀によくあって、その時にtftpを使いたいことがある。 | + | |
- | === macOSでtftpdを起動 === | + | |
- | こんな感じ | + | |
- | | + | |
- | 起動されているか確認するには | ||
- | * '' | ||
- | これで、以下のような出力を得られればOK | ||
< | < | ||
- | COMMAND PID USER | + | sudo scutil --get ComputerName |
- | launchd | + | sudo scutil --get HostName |
- | launchd | + | sudo scutil --get LocalHostName |
- | launchd | + | |
- | launchd | + | |
</ | </ | ||
- | + | を実行して、登録されていないキーワードを登録する。 | |
- | === 配布用ファイルの設置 === | + | |
- | 設定ファイルは ''/ | + | |
- | + | ||
- | 内容を読む限り、配布用ファイルは''/ | + | |
- | * '' | + | |
- | + | ||
- | === tftpでアクセスする | + | |
- | 以下のような感じ。 | + | |
< | < | ||
- | foo$ tftp | + | sudo scutil --set ComputerName newName |
- | tftp> connect 127.0.0.1 | + | sudo scutil --set HostName newName |
- | tftp> get foobar.firmware | + | sudo scutil --set LocalHostName newName |
- | Received 40960 bytes in 0.2 seconds | + | |
</ | </ | ||
- | なお、IPv6でもOKの模様。 | ||
- | === tftpdを終了 === | + | macOSにおいて、DHCPでアドレスを設定した場合、以下の順にhostnameを決める模様 |
+ | |||
+ | - DHCPまたはBOOTPサーバーで提供されるホスト名 | ||
+ | - DHCPでリースされたIPアドレスを逆引きして返ってきたホスト名 | ||
+ | - システム環境設定の共有で設定してあるコンピューター名 | ||
+ | - localhost | ||
- | * sudo launchctl unload -w /System/Library/ | + | これを'' |
- | * 不要なファイルは消去しておくこと | + | |
===== sshの秘密鍵をOS-XのKeychain Accessに登録 ===== | ===== sshの秘密鍵をOS-XのKeychain Accessに登録 ===== | ||
行 58: | 行 42: | ||
つまり、'' | つまり、'' | ||
- | ===== OS-XでConsoleから画面共有をOnにする ===== | ||
- | < | ||
- | sudo / | ||
- | </ | ||
- | なお、VNCのパスワードが設定されてしまうので、注意。Commandlineをよく見て、必要な部分を削除すること。 | ||
- | ===== OS-X Developer Program利用時の注意 ===== | ||
- | < | ||
- | < | ||
- | |||
- | < | ||
- | |||
- | < | ||
- | |||
- | < | ||
- | $ sudo softwareupdate --clear-catalog | ||
- | $ sudo softwareupdate --list | ||
- | </ | ||
- | < | ||
- | |||
- | < | ||
- | |||
- | ===== OS-XのBashを自前で更新する方法 ===== | ||
- | shell shockのおかげで、OS-XのSecurity対策がMicrosoftに比べて激烈に劣っている事と、昔の宣伝のせいでMacは安全だと言う神話が生き残っていて、そのせいでAppleは何もしない(に近い)ことが判明したわけだが、PC/ | ||
- | |||
- | というわけで、しょうがないからその為の手順。 | ||
- | |||
- | * 前提条件 | ||
- | * OS-XにXcode Developer Toolsを導入しておく事 | ||
- | * XcodeにCommandline toolsを入れておく事 | ||
- | * Self Updateの手順 | ||
- | * 以下を実行する < | ||
- | cd /tmp | ||
- | mkdir bash-fix | ||
- | cd bash-fix | ||
- | curl https:// | ||
- | cd bash-92/ | ||
- | curl https:// | ||
- | curl https:// | ||
- | curl https:// | ||
- | curl https:// | ||
- | curl https:// | ||
- | cd .. | ||
- | xcodebuild | ||
- | sudo cp /bin/bash / | ||
- | sudo cp /bin/sh / | ||
- | build/ | ||
- | build/ | ||
- | sudo cp build/ | ||
- | sudo cp build/ | ||
- | </ | ||
- | |||
- | 注意:意味が分からない人はやらない事。 | ||
- | ===== OS-Xの/ | ||
- | |||
- | /bin/sh と /bin/bash はサイズが微妙に違う。これは、OS-X(少なくともLeopard)はSingle Unix Specification に従っているからである。 | ||
- | |||
- | 具体的には、echo -n は /bin/bash では使えるが、/ | ||
- | |||
- | では、Compile時に異なるのは何か?だが、今のところ '' | ||
- | ===== lddがない ===== | ||
- | OS-Xにはlddコマンドがない。代わりに、otoolを使えば良い。otoolは色々なコマンドの集合体のようなツールだが、ldd相当のコマンドは otool -L | ||
- | |||
- | |||
- | ===== SafariでFont設定 ===== | ||
- | 今のSafariは表示フォントの設定等が出来ない。そのため、個人的にはかなりイライラしていたが、とりあえず多少改善できたので、メモを。 | ||
- | |||
- | 要するに、Safariが表示時に「自分用のcss」を参照してフォント設定等をするように設定すればいいのだ。 | ||
- | |||
- | - 使うフォントをInstallする(ここでは、MiguとMigMixを使う事にする) | ||
- | - まず、どこか(ここでは、ホームフォルダにetcというフォルダを作成する)にsafari.cssを置く< | ||
- | /* | ||
- | * Safari.css: Safari用 CSSファイル (~/ | ||
- | | ||
- | * Need font of | ||
- | * IPA Gothic: | ||
- | * Migu/MigMix font: | ||
- | */ | ||
- | |||
- | /* Proportional fonts*/ | ||
- | @font-face { | ||
- | font-family: | ||
- | src: | ||
- | } | ||
- | @font-face { | ||
- | font-family: | ||
- | src: | ||
- | } | ||
- | @font-face { | ||
- | font-family: | ||
- | src: | ||
- | } | ||
- | /* Monospace fonts */ | ||
- | @font-face { | ||
- | font-family: | ||
- | src: | ||
- | } | ||
- | @font-face { | ||
- | font-family: | ||
- | src: | ||
- | } | ||
- | @font-face { | ||
- | font-family: | ||
- | src: | ||
- | } | ||
- | /* Face Definition */ | ||
- | html, body { | ||
- | font-family: | ||
- | font-size: 100%; | ||
- | font-weight: | ||
- | line-height: | ||
- | } | ||
- | pre, code, var, samp, kbd, tt, .mono { | ||
- | font-family: | ||
- | font-size: 100%; | ||
- | line-height: | ||
- | } | ||
- | pre code, pre var, pre samp, pre kbd, pre tt { | ||
- | font-family: | ||
- | font-size: 100%; | ||
- | line-height: | ||
- | } | ||
- | </ | ||
- | - 環境設定→詳細→スタイルシートをクリックして、「その他」から、上で設置したファイルを選択する | ||
- | - Safariを再起動(再起動しないと反映されない) | ||
- | Fontの設定等はいつか。 | ||
===== OS-Xでsshdの待ち受けポートを変更する ===== | ===== OS-Xでsshdの待ち受けポートを変更する ===== | ||
行 214: | 行 73: | ||
</ | </ | ||
を実行する事。そうしないと、変更が反映されないよ。ま、再起動でもいいけどね。 | を実行する事。そうしないと、変更が反映されないよ。ま、再起動でもいいけどね。 | ||
- | ===== Mavericks Server VPN configuration ===== | ||
- | |||
- | < | ||
- | |||
- | < | ||
- | |||
- | < | ||
- | |||
- | < | ||
- | < | ||
- | |||
- | < | ||
- | |||
- | < | ||
- | |||
- | < | ||
- | ===== TCP的緊急対策 ===== | ||
- | / | ||
- | < | ||
- | net.inet.tcp.delayed_ack=0 | ||
- | </ | ||
- | を書き込む。 | ||
- | |||
- | * http:// | ||
- | * http:// | ||
- | * http:// | ||
- | |||
- | 上記Linkに記載されている通り、Delayed ACKをOffにすると「本来は」不幸が待っていて、Web通信を前提にするならばNagleをOffにする方が良い。 | ||
- | OS-Xでは、Defaultで上記は3になっているので、恐らく Delayed Ackの待ち時間は200ms*3=600ms なのだろうと思う。 | ||
- | |||
- | むしろ | ||
- | < | ||
- | net.inet.tcp.sendspace: | ||
- | net.inet.tcp.recvspace: | ||
- | </ | ||
- | をいじる方が良くて、 | ||
- | < | ||
- | net.inet.tcp.delayed_ack=2 | ||
- | net.inet.tcp.sendspace=524288 | ||
- | net.inet.tcp.recvspace=524288 | ||
- | </ | ||
- | 位にする方が良いと思われる。 | ||
- | |||
- | でもBenchmarkは取ってないので、その筋の有志が取ってくれると嬉しいなぁ。 | ||
- | ===== 定期メンテ ===== | ||
- | - diskutilでアクセス権の確認と復旧 | ||
- | - browser cacheのクリア | ||
- | * Google Chrome | ||
- | * Chrome>環境設定>詳細設定を表示…>[閲覧履歴データの消去] | ||
- | * Safari | ||
- | * Safari>環境設定>プライバシー>[すべての Web サイトデータを削除…] | ||
- | * Firefox | ||
- | * Firefox>環境設定>プライバシー>最近の機歴を消去 | ||
- | - OS関連cacheのクリア | ||
- | * OS-Xにはfont cache/icon cache/ | ||
- | * 「shift」キーを押しながら Mac を起動すると、「セーフブート」モードになり、自動的に各種キャッシュがクリアされる。 | ||
- | * あとは、再起動すればOK | ||
===== メールに添付されてるファイルをアイコン表示にする ===== | ===== メールに添付されてるファイルをアイコン表示にする ===== | ||
行 302: | 行 104: | ||
すると吉。探してくれる。 | すると吉。探してくれる。 | ||
- | ===== Finderで複数ファイルの情報を表示 ===== | ||
- | 複数のファイルを選んで Command+Option+i で表示される | ||
- | |||
- | ===== YenとBackslash ===== | ||
- | < | ||
- | < | ||
- | * < | ||
- | * < | ||
- | * < | ||
- | * < | ||
- | < | ||
- | |||
- | < | ||
- | |||
- | 最近のEmacsでは、標準で '' | ||
===== Mail.appを高速化する ===== | ===== Mail.appを高速化する ===== | ||
Mail.appはバックエンドDBにSQLiteを使っている。SQLiteは時々バキュームしてあげないと、DBの肥大化により動作が遅くなることがある。 | Mail.appはバックエンドDBにSQLiteを使っている。SQLiteは時々バキュームしてあげないと、DBの肥大化により動作が遅くなることがある。 | ||
行 334: | 行 121: | ||
以上 | 以上 | ||
- | ===== Mail.appで重複メールを処理 ===== | ||
- | [[http:// | ||
- | |||
- | これが{{: | ||
- | * ツールはperlスクリプト | ||
- | * Tiger以降、Mail.appのメール保存形式は「1メール1ファイル」。ファイルは12345.emlxのような感じで、拡張子emlxになる。 | ||
- | * ツールはこれらのファイル群を検査し、メールヘッダ中Message-IDをキーに重複しているかどうかを判断する | ||
- | * 重複しているメールがあったらそれをプログラムが勝手に作ったディレクトリ(具体的にはDuplicateMessages)に移動 | ||
- | * 削除はしない。もし問題があれば移動されたメールを元の位置に戻せばよい | ||
- | |||
- | 使い方 | ||
- | - Mail.appを終了させる | ||
- | - Terminal.appを起動 | ||
- | - Mail Directoryに移動 | ||
- | * (例) cd ~/ | ||
- | - lsしてINBOX.mboxがあることを確認 | ||
- | - INBOX.mboxに移動 | ||
- | * cd INBOX.mbox | ||
- | - ツールをここに置く | ||
- | * cp some/ | ||
- | - ツールを実行 | ||
- | * perl chk_emlx.pl | ||
- | - 適当にメッセージが出る | ||
- | * なにもメッセージが出ずにfiles: | ||
- | - 重複メールは「DuplicateMessages」に移動される | ||
- | * もし問題があれば、DuplicateMessagesから元のディレクトリにコピーし直せばよい | ||
- | - Mail.appを起動 | ||
- | - 該当のメール箱(ここでは受信箱)を選択 | ||
- | - メニューから「メールボックス>再構築」を実行 | ||
- | * これで重複メッセージはなくなったはず。 | ||
- | |||
- | メール検索をかけた時に同じメールが重複して表示され、重複した一方のメールは" | ||
- | - Mail.appを終了 | ||
- | - 「ホーム>ライブラリ>Mail>Envelope Index」を削除 | ||
- | - Mail.appを起動する | ||
- | これで直るはず。 | ||
- | |||
- | ===== システム設定確認 ===== | ||
- | 良くわかってないけど、とりあえずメモとして | ||
- | |||
- | < | ||
- | man scutil | ||
- | scutil --help | ||
- | scutil --dns | ||
- | </ | ||
- | 等など | ||
- | ===== Firewallの設定を初期化する ===== | ||
- | 要するに設定ファイルを初期化する | ||
- | < | ||
- | sudo cp / | ||
- | </ | ||
- | |||
- | |||
- | ===== 無線LANの信号強度を測定する ===== | ||
- | 削除されました。残念。 | ||
- | |||
- | < | ||
- | |||
- | < | ||
- | |||
- | < | ||
- | |||
- | < | ||
- | |||
- | {{: | ||
- | |||
- | < | ||
- | - < | ||
- | - < | ||
- | < | ||
- | |||
- | ===== 不過視ファイルを表示させる方法 ===== | ||
- | |||
- | Terminalから | ||
- | < | ||
- | defaults write com.apple.finder AppleShowAllFiles -bool YES | ||
- | </ | ||
- | し、Finderを再起動する | ||
- | < | ||
- | killall Finder | ||
- | </ | ||
- | |||
- | ただし、これだとかなりうっとうしい (デスクトップにまで dotファイルが表示される)ので、~/ | ||
- | |||
- | ===== OSX のコマンドラインから、wi-fi の情報をつかって位置情報を得る ===== | ||
- | |||
- | {{http:// | ||
- | |||
- | MacでコマンドラインからWiFiスポットをスキャンする | ||
- | < | ||
- | / | ||
- | </ | ||
- | ということで、 | ||
- | |||
- | < | ||
- | use strict; | ||
- | use warnings; | ||
- | use utf8; | ||
- | use 5.012; | ||
- | |||
- | use JSON; | ||
- | use LWP:: | ||
- | |||
- | my @addresses = do { | ||
- | my @lines = split /\n/, qx{/ | ||
- | shift @lines; | ||
- | |||
- | my @r; | ||
- | push @r, (split /\s+/, $_)[2] for @lines; | ||
- | |||
- | @r; | ||
- | }; | ||
- | |||
- | my $query = encode_json({ | ||
- | version | ||
- | host => ' | ||
- | request_address | ||
- | address_language => ' | ||
- | wifi_towers | ||
- | map +{ | ||
- | mac_address | ||
- | signal_strength => 8, | ||
- | age => 0, | ||
- | }, @addresses, | ||
- | ], | ||
- | }); | ||
- | |||
- | my $ua = LWP:: | ||
- | my $res = $ua-> | ||
- | $res-> | ||
- | |||
- | use YAML; | ||
- | warn Dump decode_json($res-> | ||
- | </ | ||
- | |||
- | でよいらしい。 | ||
- | ===== ShortCut(ファイルのOpen/ | ||
- | |||
- | * スペース | ||
- | * 選択した項目をQuickLookで表示 | ||
- | * Command ⌘ + D | ||
- | * デスクトップに移動する | ||
- | * Command ⌘ Shift + H | ||
- | * ホームフォルダに移動する | ||
- | * Command ⌘ Shift + A | ||
- | * アプリケーションフォルダに移動する | ||
- | * Command ⌘ Shift + . | ||
- | * 不可視ファイルの表示・非表示を切り替える | ||
- | * Command ⌘ Shift + G | ||
- | * Unixパスを入力してその場所へ移動する「フォルダへ移動…」を表示(パスはTabで補完可能) | ||
- | * / ~ | ||
- | * フォルダへ移動をルートもしくはホームフォルダから始める | ||
- | * Command ⌘ + R | ||
- | * 選択した項目をFinderで表示 | ||
- | * Command ⌘ + F | ||
- | * 開く・保存ダイアログ内のファイル検索フィールドへカーソルを移動 | ||
- | * Command ⌘ + . | ||
- | * 開く・保存ダイアログを閉じる | ||
===== Terminalに関するTips ===== | ===== Terminalに関するTips ===== | ||
行 503: | 行 132: | ||
* ターミナルでの処理終了後Dockアイコンを跳ねさせ未読バッジをアイコンに表示、警告音も鳴らす方法 | * ターミナルでの処理終了後Dockアイコンを跳ねさせ未読バッジをアイコンに表示、警告音も鳴らす方法 | ||
* コマンドの後ろに「&& | * コマンドの後ろに「&& | ||
- | |||
- | |||
- | |||
- | ===== MacOS-Xに関するいくつかのTips ===== | ||
- | |||
- | * Safe Boot | ||
- | * フォントキャッシュが壊れたときなど、ある程度の初期化をしてくれる。詳細は [[http:// | ||
- | * 微妙に確保されているメモリーを解放する | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * Memory Tester [[http:// | ||
- | * KeyRemapper [[http:// | ||
===== いくつかの記号を素早く入力 ===== | ===== いくつかの記号を素早く入力 ===== | ||
行 539: | 行 156: | ||
などなど。 | などなど。 | ||
- | ===== Resolver cacheを消す方法 ===== | ||
- | Windows 2000/ | ||
- | < | ||
- | ipconfig /flushdns | ||
- | </ | ||
- | MacOS X 10.1 – 10.4の場合、Terminal.appで | + | ===== FinderのFontを変更する ===== |
- | < | + | 個人的に、Proportional fontが嫌いなので、Systemの標準フォントを変更したくなった。 |
- | sudo lookupd -flushcache | + | |
- | </ | + | |
- | MacOS-X Leopard 以降の場合、Terminal.appで | + | Finderの利用フォントは、Command lineから defaultsコマンドで設定する。(この種のパラメータを設定するためのFreewareは色々あるみたいだが、どうせCommand lineで設定できるので、たかだかfont設定のためだけにToolをinstallするのもどうかと思ったので...。まぁ、Toolを探すのも面倒というのもある) |
- | < | + | |
- | sudo dscacheutil -flushcache | + | |
- | </ | + | |
- | mDNS responderを再起動する | + | === System 全体を変更 === |
- | < | + | |
- | sudo launchctl unload -w / | + | |
- | sudo launchctl load -w / | + | |
- | </ | + | |
- | ===== MacOS-X で画面キャプチャ ===== | + | * < |
- | | command + shift + 4 マウスで範囲指定 | + | これで、Systemのフォントが MigMix 2M に変わる。 |
- | | command + shift + 4 space ウインドウをクリック | ウィンドウキャプチャ(png) | | + | |
- | | | | | + | === タイトルバーのみフォントを変更 === |
- | | control + command + shift + 4 | 矩形選択キャプチャ(クリップボード) | | + | |
- | | control + command + shift + 4 space | ウィンドウキャプチャ(クリップボード) | | + | |
- | ===== CD/DVD Diskをコピー ===== | + | タイトルバーのフォントだけを変更するなら、NSTitleBarFont を変更すれば良い。 |
- | MacOS-XでDVDをコピー、複製する手順。 | + | |
- | 基本的にはDiskUtilitiesを利用すればよい。 | + | * < |
- | - コピー元のディスクをドライブにセット | + | === タイトルバーのフォントサイズを変更 === |
- | - DiskUtilitiesを起動 | + | |
- | - 左側のリストからコピー元のディスクを選択 | + | |
- | - 選択した状態で、「ファイル」メニューから「新規」、「(ディスク名)からのディスクイメージ」を選択 | + | |
- | - イメージフォーマットの項目で「圧縮」か「読み出し専用」を選択(普通は圧縮で大丈夫) | + | |
- | - 保存をクリック | + | |
- | * ディスク読み出され、Diskイメージが作成される | + | |
- | - Diskイメージが作成されたら元のディスクを取り出す | + | |
- | - DiskUtilitiesの画面左側のリストから、今作成したディスクイメージを選択 | + | |
- | - 選択した状態で「イメージ」メニューから、「ディスクを作成」を選択 | + | |
- | - 「ディスクを作成」ダイアログが表示される | + | |
- | - 空のDVDを挿入して「ディスクを作成」をクリックする | + | |
- | * Disk作成開始 | + | |
- | なお、いわゆる映像系DVDは試していないので注意。 | + | タイトルバーのフォントサイズを変更するならこう。 |
- | ついでに以下の情報も。 | + | * < |
- | * MPEG Streamclip → Quicktime MPEG再生コンポーネントと組み合わせて利用 | + | === System標準に戻す === |
- | * Capty DVD2 → 市販ソフト | + | < |
- | * Licuid CD → Disk Burner | + | defaults delete com.apple.finder NSSystemFont; |
+ | defaults delete com.apple.finder NSTitleBarFont; | ||
+ | defaults delete com.apple.finder NSTitleBarFontSize; | ||
+ | </ | ||
+ | === Ve4ntura === | ||
+ | macOS Venturaでは、NSSystemFontの設定ができなくなっている模様。そうではないとしても--stringの引数の設定方法が変わった模様。 | ||
+ | 現時点ではどうすれば良いか不明 |
os/osx/techmemo.1523261727.txt.gz · 最終更新: 2018/04/09 17:15 by 127.0.0.1