Mac OSでVisual Studio code(VS code)のインデント解除ショートカット ⌘(command) + [ が動作しない

クリーンインストールしたMontereyで何故かVS codeでインデント解除のショートカット ⌘ + [ が動作しなかった。
しかもなぜかHHKB(Happy Hacking Keyboard 英字配列キーボード)でだけ動作しない。

Macのキーボードビュアーを見ると、⌘と[を同時に押すと反応しているので、理由がわからないがVS codeでだけ動作しなかった。
(新たにショートカットを変更しようと入力すると、⌘キーだけ入力される)

解決策

MacOSの [ 環境設定 ] → [ キーボード ] → [ ショートカット ] → [ キーボード ] → [ 次のウィンドウを操作対象にする ⌘@ ] をOFFにする または別のショートカットに変更して、OSを再起動

当該箇所のチェックボックスをOFFまたはショートカットキーを変更する

理由が不明だが、⌘ + @で日本語キーボードの位置にある@が優先されてしまっているようだ。マジで謎バグ。

解決策をBlogでのこしてくれていた神に感謝を。

学習する天然ニューラルネット / Visual Studio Code 等のアプリで command + [ (open bracket) がmacOSに吸われるニッチなバグの解決

Open Core Legacy Patcherを使ってMontereyインストール後にMetal対応のATIグラフィックカードでMetalが有効にならないの解決

これ死ぬほど解決策がなくて、死ぬほどドハマリした。
しかも解決策らしい解決策の記事が存在せず、どうしたものか……と諦めかけたがどうしても諦めきれずに挑んだ結果の話。

結論(解決策)

Open Core Legacy Patcherでインストールメディアを作成したあと、USBメディアの中にある/Library/Packagesから「AutoPkg-Assets.pkg」を削除してインストールする。

以上。
Open Core Legacy Patcherが悪さしているので、シンプルなインストールメディアを作成してMontereyをインストールすれば良い。
ただWi-fi等を利用したい場合は、パッチが必要なことがあるため、その際は何かご検討してください。(ボクはWi-fiが必要ないためここは調査しなかった)
BluetoothもUSB接続(PTM-UBT7)しているので問題なく動作している。

ちなみに一度Open Core Legacy PatcherでMontereyをインストールした状態のTime Machineからバックアップ復元すると、何故かATIのドライバーが無効化されてしまう。
マジで罠。

その場合は、どうせなら秘伝のタレとなったTime Machineは捨ててしまうのが良い。
メールに関しては、手動で移動できるし、sshの秘密・公開鍵もコピーしておけば移動すればすぐに使える。長々とTime Machine復旧するより高速だし、秘伝のタレが妨害しているとも限らないのでおすすめだ。(ボクは60Gほど容量が減った)

メールの移動に関してはこちらの投稿がとても役立った。
MacのMailデータを手動で移行した話(macOS Sierra→Mojave)

あとボクはフォント関連を一度移動し忘れて大変な目にあったので、フォントを仕事で使う人はこちらも忘れずに移動しよう。

結局の原因

Open Core Legacy Patcherでインストールメディアを作成すると、強制的にATIのグラフィックカードのMetalを無効化するシステムが混在させられる

いつもの海外の人特有の「オレのオナニー気持ち良すぎだろぉ!」が炸裂している。
マジでぶん殴りたい。

なのでもしATIのMetal対応していてMontereyインストール後に、ATIグラフィックカードと認識しているのに、なぜかMetal対応の状態にならない。(動作が重い等)は全部この妨害のせい。

この解決策をすごく色々調べたが、マジで1mmも解決策がでてこなくて、途方にくれた結果。公式リファレンスにちゃっかりと書いてあった。
なんでそれが真っ先に表示されないんだよ。

No acceleration after a Metal GPU swap on Mac Pro

If you finished installing Monterey with the original card installed (to see bootpicker for example) and swapped your GPU to a Metal supported one, you may notice that you’re missing acceleration. To fix this, open OCLP and revert root patches to get your Metal-supported GPU work again.

Alternatively, you can remove “AutoPkg-Assets.pkg” from /Library/Packages on the USB drive before proceeding with the installation. To see the folder, enable hidden files with Command + Shift + .

The reason for this is that the autopatcher will assume that you will be using the original graphics card and therefore does non-metal patching, which includes removing some drivers for other cards. This causes Metal cards to not accelerate after swapping.

Mac ProでMetal GPU交換後、アクセラレーションが発生しない

オリジナルのカードをインストールした状態でMontereyのインストールを終え(例えばbootpickerを見るため)、GPUをMetalがサポートするものに交換した場合、アクセラレーションがないことに気づくかもしれません。これを解決するには、OCLPを開いてルートパッチを元に戻し、MetalをサポートするGPUを再び動作させます。

または、USBドライブの/Library/Packagesから「AutoPkg-Assets.pkg」を削除してから、インストールを進めてください。このフォルダを見るには、Command + Shift + .で隠しファイルを有効にします。

この理由は、オートパッチャーが元のグラフィックカードを使用することを想定しているため、他のカード用のドライバの一部を削除するなど、メタル以外のパッチを行うからです。このため、Metalカードは交換後に加速しないのです。

オートパッチャーが元のグラフィックカードを使用することを想定しているため、他のカード用のドライバの一部を削除するなど、メタル以外のパッチを行うからです。

それ誰が得するんだ?(’A’
オナニー気持ち良すぎだろぉ!
ちなみに、幾万回やっても、最初にある解決策ルートパッチを削除がOpen Core Legacy Patcherから操作することができず、そもそもできていても消されたグラフィックカードドライバーは帰ってこない。
最低最悪なことにMac用のATIドライバーはOS支給しかされていないため自力でインストールできない。
つまり消されたらジ・エンドだ。

どういう判断したらドライバーを消すってことになるんだよ。
ぶん殴らせろ。

Mac Pro 5.1にNVMe M.2 SSDをブートドライブとして使う方法

Mac Pro 2009-2012をファームウェアアップデートで機種ID Mac Pro 5.1にしていることが前提になる。5.1へのやり方はこちらを参照
Mac Pro 2009-2010 Firmware Toolをダウンロードしてやる場合は、こちらから。(Github)
もとはフォーラムの投稿にあったのだけど、Githubにあがりなおしたみたいだ。

表題のNVMe SSDをブートドライブ(起動ディスク)として使用する場合、上記の機種IDに加えてシステムファームウェアのバージョンが重要になる。

林檎マーク→このMacについて→システムレポートの画面

システムファームウェアは、以下のインストール時に更新される。

macOSBoot ROM動作状況
10.13.xMP51.008x.B00NVMe 認識, 起動不可
10.14138.0.0.0.0NVMe 認識, 起動不可
10.14.1140.0.0.0.0NVMe 認識, 起動可
10.14.4141.0.0.0.0NVMe 認識, 起動可
10.13.x High Sierra / 10.14 Mojave

つまり、Mojaveリリース直後だと138.0.0.0.0のため起動不可となっているし、High Sierra以降にOpen coreを使ったインストールをしている場合、MP51.008x.B00で止まっている可能性がある。
このファームウェアアップデートはMojaveの対象インストーラー(140.0.0.0.0は10.14.1〜14,3、141.0.0.0.0は10.14.4〜14.6)を使用しない限りアップデートされない。MojaveをインストールしていないとファームウェアはMP51.008x.B00のままだと考えていい。

もし、PCIe経由でNVMeを装着し、インストーラー時点では認識するのにブートメニューで表示されない場合は、ほぼ間違いなくシステムファームウェアのバージョンが138.0.0.0.0以前になっている。(その場合、ボクの環境ではNVMeは外部ディスクとなっていた)

ちなみにOpen Coreで起動しているMacOSだとここがバグって999.999.999.999.999になっていることがあるけど、気長に再起動すると稀に正常表示がある模様。

解決策

gibMacOSを使ってMojave 10.14.4を入手し、ファームウェアアップデートを行う

あまりないと思うが、Mojaveのインストールには、Metal対応のグラフィックスカードが必要。しかしファームウェアアップデートにはMacOSに対応したEFIグラフィックスカードが必要。
なので、もしATIのEFI対応していないグラフィックスカードを使用している場合は、以下の手順となる。

  1. Metal対応のグラフィックスカードを指した状態で、Mojaveインストーラーを起動。(Metal対応チェックが入るため)
  2. インストーラーを進めると、ファームウェアの更新が必要なため、電源が切れたあとに、電源ボタンを長押し(白い電源LEDが高速点滅するまで)せよという表示がでるので、画面を進める。
  3. 電源が切れる
  4. グラフィックカードをEFI対応(元々標準でついていたものとか)を取り付ける。
  5. 電源ボタンを長押しし、白い電源LEDが高速点滅したら指を離す。
  6. ビープ音がなり、一度電源が自動的に落ち再起動がかかる。
  7. ここで電源を手動で長押しして落とし、グラフィックカードをMetal対応に付け替える。
  8. OS起動後に、Mojaveインストーラーを起動しインストーラーが進めば成功しているし、システムレポートでもファームウェアが更新されていれば成功。

手順としては以上となる。
ちなみにMojaveはOSをインストールする必要はなく、ファームウェアだけ更新すればいいので、どのOSでも事前に可能とのこと。
クリーンインストールしよーっとと何も考えずにNVMeを装着したらブート起動で選択できず、Mojaveを入れるためにHigh Sierraをインストールしたボクのような人がでないことになれば幸いだ。

まさか新しいOSから古いOSのインストーラーが起動するなんて思いもしなかった……。
余談だが、ブートディスク可能状態だとディスクユーティリティでちゃんと内蔵ドライブとして認識される。ファームウェアが起動可能 / 不可能、どっち側なのか指標になると思われる。

SUNEAST 1TB SSD NVMe PCIe Gen 3.0 ×4 3D NAND M.2 SE900NVG3-01TB

SUNEAST 1TB SSD NVMe PCIe Gen 3.0 ×4 3D NAND M.2 SE900NVG3-01TB

7,780円(01/30 22:16時点)
Amazonの情報を掲載しています

Mac Pro 2009にOpen Core Legacy Patcherを使ってMacOS Monterey 13.6を PCIe / NVMe M.2 SSDにインストールした

やったことを書くと一行なのに、途方もなく苦労したので同じような苦労をしている方向けに記録を残すことにした。
一応検索エンジン向けに大きくハマった、以下2項目は別記事にして探しやすいようにする。

心底苦労した。とくにMetalが有効にならないのせいで20回近く再インストールするはめになった。
Open Core Legacy Patcherは便利で手軽だが、特定環境では心底厄介なことになる。
結局9月の3連休はそれで丸つぶれだ……とほほ。

余談だが、NVMeはMacOSに潜在的な不具合があるらしく起動時に結構な頻度でカーネルパニックを引き起こす。(nvme: “Fatal error occurred. CSTS=0xffffffff”みたいなやつ)
何度か再起動すれば問題なく使えるし、NVMeの当たり外れみたいなものみたいなので、気になる人はちょっとお高めのNVMeをご購入したほうがいいかもしれない。
ボクはお試しということもあって、1TB 8,500円で購入した。
貧しさがすべての原因。

SUNEAST 1TB SSD NVMe PCIe Gen 3.0 ×4 3D NAND M.2 SE900NVG3-01TB

SUNEAST 1TB SSD NVMe PCIe Gen 3.0 ×4 3D NAND M.2 SE900NVG3-01TB

7,780円(01/30 22:16時点)
Amazonの情報を掲載しています

NVMe M.2のPCIe変換カードは昔は玄人志向が最安値だったけど3,000円近かったので見向きもしていなかったけど、流石に1,000円以下で買えるようになったのなら!と今回決行。
DiskSpeedTestを念のためはしらせてみたら、 Read 1,506MB/s Write 1,231.6MB/sとまずまずの数値。実際起動も早いので費用対効果は高め。(起動すれば)

システムディスクとして認識されている

test

仕事で予約投稿の時間で0:00が指定できなくて、嘘だろ。なんでやねん。とサーバの違いかと思って自分のBlogでやっても指定できないか試した投稿がきっちり投稿されてるの忘れてました。失礼しました。

WordPressの予約投稿で0時指定ができない

ちなみにWordpressのこれほんとゴミカスだと思うけど、予約投稿の時間指定のフィールドは数字の0入力不可能で1~12しか入力できない
だからもし日付変更と同時に投稿したい場合は、AM12:00を指定するらしい。
でもそれだと正午の時はPM12時になるんだろうか。

昔の日付をすべて入力するやつならできるけど、gutenbergだとできないとか劣化もいいとこ。

Mac Pro 2010にMacOS Monterey 12.1をインストールした

big surを使っているとシステム更新でMontereyにアップデートしろという通知がきになったのと、最近土日をずーっと部屋で過ごしているだけだったこともありOSをアップデートすることにした。

もちろんナチュラルにインストールに失敗した。

わかりきっていたので驚くこともなかったが色々ハマりにハマって、今こうして無事インストールを終えることができた。
以下はハマった要項。

USBインストール後にMacOSがファームウェアアップデートを試みて進まない(OpenCoreのバージョンが古い場合に発生 v0.6.7)

USBにOpenCore Legacy Patcher をインストール(GUI版でインストール先をUSB設定)し、Optionキー押しながら起動のBootmenuより、OpenCore Legacy Patcherのアイコンがついた「EFI Boot」を選択して起動。
そのあとはOpenCoreの画面となるので、MacOS Montereyのインストーラーを選択する。
(USBメモリをMacOS Montereyのインストールメディアとして作成し、そこにLegacy patcherもインストールしている場合はUSBメモリ入れ替えずにインストール可能)

このやり方でインストールすると、先程ひっかかったファームウェアアップデートは発生せずにインストールがすんなりと完了した。

インストールしたあとは、もとの古いOpenCore 0.6.7でも起動可能となった。
単純にインストール時のファームウェアチェックでひっかかった模様。
なんかの機会に新しくしようと思う。

MacOS Montereyがバカ重い(Geforce 6xx、7xxを使っている場合)

最初はインストール後の処理問題かと思ったけど、クリーンインストールして設定画面がバカみたいに重くてマウスカーソルが吹っ飛んでいった。
その後、一度デスクトップにしても重いままだったので、流石になにかおかしいと調べると、Montereyやbig surを完全にクリーンインストールして起動した場合は、古いOSからnVidiaのドライバーをもってこれないらしく用意する必要があるとのことだった。

これはgitHubにpatcherがあるけど、やり方がややわかりづらいのでYoutubeの動画で説明があったので掲載。

geforce keeper patcher v2 | github

60%でうんともすんともいわなくなるけど、動画のようにいつかは終わるので気長に待つ。
ドライバーがインストール後は再起動で動作が軽快となる。
Happy ending.

困っている人のお役に立てば幸い。

swiper.jsでサンプルサイトのソースコードをコピペしても戻る・進む(prev/next)ボタンが動作しないとき

知識を提供してくれるblogサイトに感謝を。

CDNswipe.jsを読み込んだときに、「このコードで動作します」というコードをコピーペーストしても何故か進む・戻るだけが動作しなくて頭をひねった。
もっともswipe.jsのドキュメントを読めば話は終わりなのだが、時間がないの!助けて!というときはドツボにハマってそんなことにすらたどり着けない。
今日のボクです。

そんなわけでオチとしては、戻る・進むボタンに指定する方法がswipe.jsのバージョンで異なる。

最新のcdn読み込みswipe.js用の指定方法(2021.09.15現在 v7.0.5)

// CDN
<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/7.0.5/swiper-bundle.min.js"></script>

<script>
// 最新のcdn読み込みswipe.js用(2021.09.15現在 v7.0.5)
  var mySwiper = new Swiper ('.swiper-container', {
    navigation: {
      nextEl: '.swiper-button-next',
      prevEl: '.swiper-button-prev',
    },
  })
</script>

旧versionのswipe.js用の指定方法

<script>
// 旧バージョンのswipe.js(サンプルサイトのコードによくある記述)
   var swiper = new Swiper ('.swiper-container', {
     nextButton: '.swiper-button-next',
     prevButton: '.swiper-button-prev',
   });
</script>

お困りの方のお役に立てば幸い。

Mac Pro Mid 2010 / Mac OS 11.5.1 update

4日ほど前に11.5.1が配布されていたようだが、何度かアップデート残り5分で止まっていたのでやり直しては放置していた。
先程無事ダウンロードできたようで再起動が数回かかってアップデートした。

M1でアップデート失敗みたいな投稿をいくつか散見したが、アップデートファイルを完全にダウンロードできてしまえば失敗はしないようだった。
3回再起動して無事起動。

Mac Pro Mid 2010 / Mac OS 11.4 update

前回11.3で盛大にコケたので、恐る恐るアップデートしたが今回はすんなりとアップデートが完了した。
今年のMac OSは12とまたしてもメジャーバージョンアップなので大変そうだなーとすでに戦々恐々だ。しかし6/8のWWDCではMac miniがM1Xを乗せてプロっぽい仕上がりになるのではという予想を見て興味がでた。
問題は価格だが20万くらいならいい加減買い替えたいという気持ちもわく。

本当はWindows機を組みたいが仮想通貨のマイニング用に買い占められて高騰という意味不明な理由で手が出ない。
もっとも高性能なWindows機で何をしたいかといわれてもおそらくエロゲやるくらいだし、それなら別にMacでよくなーいという気持ち。

Mac Pro Mid 2010にMac OS BigSur 11.3.1の再インストールする(OS新規クリーンインストール→TimeMachineから環境復元)

前回Mac OSを不用意に11.3にアップデートしたら起動しなくなったMacを復活させたので備忘録。マイナーアップデートくらい気楽にさせてほしい……。

1.Option押しながら起動しBootMenuからネットワークOSインストール

MacForumを覗くと足切りされたハードでもインストール・アップデート成功事例が散見できたため、根気よく何度もインストール・再起動を試みた。
最終的には、BigSurから勝手に作成する「Data領域」を削除し、パーテーションを1つにした状態でネットワークインストールし、再起動してはプログレスバーの進行を眺め、長時間止まった場合は再起動を試みたところ、運良く設定画面にたどり着くことができた。

2.TimeMachineからの復元

TimeMachineを覗くと、BigSurをインストールしたディスクが2つわかれて記憶されている。そしてインストールした方(Machintosh HDとかのディスクユーティリティで初期化する際につけた名称のディスク・パーテーション)の日付がインストールした日で止まっていて、勝手に追加されたDataパーテーション(Machintosh HD Dataみたいな名前)の方は直近の日付になっていた。

ここは駄目だったら戻ろうと、日付が新しいDataの方を選んで復元すると無事復元された。

3.なぜかAppleの2ファクタ認証の数字が通らない

色々調べるとセーフモードでやれという記述をサポートページでみたが、キーボードの挙動がおかしい(BackSpaceキーで数字が入るなど)ので、画面右上のキーボード設定でUS設定から「日本語英数」に切り替えて入力すると上手くいった。
まったくもって謎。

困り人のお役に立てば幸い。