[{"data":1,"prerenderedAt":276},["ShallowReactive",2],{"content-/windows-mac-dual-env-tuning":3,"all-pages-for-dir":253,"related-/windows-mac-dual-env-tuning":254,"og-image-/windows-mac-dual-env-tuning":275},{"id":4,"title":5,"body":6,"category":232,"concepts":233,"description":234,"extension":235,"meta":236,"navigation":237,"ogImage":233,"path":238,"project_name":239,"published":240,"publishedAt":241,"seo":242,"source":243,"stem":244,"tags":245,"todo":233,"unpublished":240,"updatedAt":233,"__hash__":252},"pages/2026-08/2026-08-09/windows-mac-dual-env-tuning.md","Windows と Mac の2台運用でたまった環境の摩擦を、朝のうちに片づけた記録",{"type":7,"value":8,"toc":219},"minimark",[9,13,17,21,24,32,35,39,42,45,48,51,55,58,61,69,72,75,78,82,89,92,95,98,105,108,111,114,124,127,130,134,137,140,143,147,150,153,160,165,169,176,179,182,195,206,209,213,216],[10,11,5],"h1",{"id":12},"windows-と-mac-の2台運用でたまった環境の摩擦を朝のうちに片づけた記録",[14,15,16],"p",{},"主作業機を Mac に移してからも、Windows のノートPCは併用している。\n夜のあいだ Mac で進めた分がリモートにあり、朝は Windows 機の前に座る。\nこの日も、最初に手をつけたのは実装ではなく、噛み合っていない環境の帳尻合わせだった。",[18,19,20],"h2",{"id":20},"ホットキーが効かない",[14,22,23],{},"Ctrl+Shift+V を押しても何も起きなかった。\nこのホットキーは、クリップボードの画像をファイルに落として Claude Code へ渡すために使っている。\n常駐しているはずの AutoHotkey が上がっていないのではないか、と疑った。\n起動しているかどうかと、このホットキーがどのスクリプトで定義されているかを調べさせた。",[14,25,26,27,31],{},"落ちてはいなかった。\n再起動後の立ち上がりが遅れていただけで、調べた時点ではもう常駐していた。\nもう一度押すと、何事もなかったように効いた。\nその直後に貼ったスクリーンショットは、ちゃんと ",[28,29,30],"code",{},"clip_20260809_064920.png"," として保存されている。",[14,33,34],{},"再起動の直後は「壊れた」と「まだ来ていない」の区別がつかない。\n今回は後者だった。",[18,36,38],{"id":37},"今動いているモデルは定額の枠内なのか","今動いているモデルは、定額の枠内なのか",[14,40,41],{},"ついでに気になっていたことを聞いた。\nFable 5 はいつまで使えるのか。",[14,43,44],{},"無料の提供期間は7月19日で終わっていた。\nその後は Max プランに恒久搭載された、という答えだった。\nところが画面には、クレジットを買うか Opus 5 に切り替えるかを迫る関所が出る。\nクレジットは買っていない。\nそれなのに、このセッション自体が Fable 5 で動いている。",[14,46,47],{},"ヘルプ記事を確認させて、からくりが分かった。\nMax プランには、週次の使用上限の50%まで Fable 5 を追加料金なしで使える枠が標準で入っている。\n動かしていたのはクレジットではなく、この枠のほうだった。\nだから「いつまで」は日付ではなく量で決まる。\n使い切ればまた関所が出るし、週次のリセットで復活する。",[14,49,50],{},"残高ゼロの表示は「もう使えない」ではなく、「別売りのクレジットは持っていない」だけを意味していた。",[18,52,54],{"id":53},"モニターの映り込みと当てにならない読み出し値","モニターの映り込みと、当てにならない読み出し値",[14,56,57],{},"画面への映り込みが気になると相談したとき、助言を5点もらっていた。\n日中はブルーライト低減を切る、輝度を上げる、背景の純黒をやめる、照明の位置を変える、ガンマと黒レベルを一段上げる。\nこのうち一番の悪手として名指しされたのが、日中もブルーライト低減をかけたままにしていたことだった。\n輝度が落ちるうえに、黄ばみで文字のコントラスト感まで鈍る。\n夜だけ OS 側の夜間モードで時間を指定するほうが、モニター側でかけるより副作用が小さい。",[14,59,60],{},"使っているモニターは3枚あるが、外から設定を変えられたのはウルトラワイドの1枚だけだった。\n残り2枚は制御の問い合わせに応答しない。\n専用ソフトは入れず、Windows の API を PowerShell から直接叩くスクリプトを書かせて操作した。",[14,62,63,64,68],{},"ここで妙なことが起きた。\nピクチャーモードに当たる制御コードは、読み出した値が実際のモードを表していない。\n元に戻せることを先に確かめるつもりで、読み出したのと同じ値をそのまま書き戻させた。\n本来なら何も起きないはずの操作で、モニターはリーダーモードからユーザー設定へ切り替わった。\n狙って解除したのではなく、",[65,66,67],"strong",{},"安全確認のつもりの操作でブルーライト低減が外れた","、というのが正確な経緯だ。",[14,70,71],{},"外れた瞬間、画面が眩しくなった。\n黄色いフィルターが取れて、白が本来の白に戻ったからだ。\n助言の2つめは「輝度を上げる」だったが、フィルターを外した時点で実効輝度はもう上がっている。\n額面どおりに足すと過剰になるので、逆に 90 から 75 へ下げさせた。",[14,73,74],{},"ガンマと黒レベルは、この経路からは触れなかった。\nモニター本体のボタンから操作するしかない。\n夜間モードの時間指定も見送った。\n設定の実体がバイナリで、壊すと設定アプリ自体が開かなくなる。",[14,76,77],{},"変更前後の全設定値とターミナル設定のファイル、操作に使ったスクリプト、一括で戻すスクリプトを memo に残させた。\nピクチャーモードだけはスクリプトで戻せない、という但し書きも含めて。\n読み出しが当てにならない以上、リーダーに対応する値が分からないからだ。",[18,79,81],{"id":80},"ターミナルとその隣の純黒","ターミナルと、その隣の純黒",[14,83,84,85,88],{},"ターミナルの既定の配色は、背景が完全な純黒だった。\n助言の3つめがそのまま当てはまる。\n背景を ",[28,86,87],{},"#1E1E1E"," にした配色を新しく作って既定に据えた。\n背景を持ち上げた分だけ黒い文字が埋もれるので、ANSI の黒と青も合わせて調整させた。\n青は背景に対するコントラスト比が 2.87 しかなかったので、4.58 まで引き上げた。",[14,90,91],{},"片方を濃いグレーにしたら、隣が問題になった。\nウルトラワイドの右半分に出している X が、完全な純黒だったからだ。\n左だけグレーに変わったことで、右の黒さが際立った。",[14,93,94],{},"サイト側の設定では直らなかった。\n背景の選択肢は「明るい」と「ブラック」の2択で、昔あった濃紺グレーの選択肢は廃止されている。\nクッキーで旧設定を書き戻させても、サーバーが即座に上書きした。",[14,96,97],{},"他人の拡張を入れる手はある。\nただ、この種の拡張は全サイトの読み取りと改変を要求する。\n仕事で使っているブラウザには入れたくない。\n自作の拡張ならどうか、と提案した。\nX 向けに自分で作った拡張がすでにあり、対象サイトの権限も content script も持っている。\nCSS を1枚足すだけなら、権限は1つも増えない。",[14,99,100,101,104],{},"どこが黒を当てているかは、推測ではなく DevTools の実測で確かめさせた。\n",[28,102,103],{},"body"," はインラインで純黒を持ち、コンテナは1つのクラスに集約されていた。\nほかに純黒のインライン要素が38個あったが、すべて 40×40 のアバターの下地で、アイコン画像の下に隠れて見えない。\n上書きが要るのは2つだけだった。",[18,106,107],{"id":107},"残っていたヘッダーの黒",[14,109,110],{},"見落としがあった。\n上部の固定ヘッダーだけが黒いまま残っていたので、それを指摘した。",[14,112,113],{},"原因は、測る要素を間違えていたことだった。\n決め打ちした祖先要素の背景を測って「透明」と出たので、問題なしと判断していた。\nスクリーンショットでは明らかに暗く見えていたのに、測定結果のほうを信じて自分の目を否定したことになる。",[14,115,116,117,119,120,123],{},"正体は、65% の黒を重ねたすりガラスだった。\n半透明なので、下地を ",[28,118,87],{}," にしても合成後は ",[28,121,122],{},"rgb(10,10,10)"," にしかならず、ほぼ黒のまま残る。\n下地ではなく、重ねる色そのものをグレーの半透明に差し替えて解決した。\nこのクラスが使われているのはページ内の3箇所だけで、画像を全画面で開いたときの暗幕は別のクラスを使う。\n暗幕のほうは黒いまま残る。",[14,125,126],{},"反映には拡張のリロードとタブのリロードの両方が要る。\n拡張だけ読み直しても、開きっぱなしのタブには新しい CSS が入らない。\nリロードはスキル経由でやらせた。\n拡張の管理画面にエラーバッジが出ていたが、中身は前からある通信と通知まわりのエラーで、今回の追加が原因のものはゼロだった。",[14,128,129],{},"コミットは学習ゲートを飛ばして通した。\nそれより頼んだのは、戻し方を残すことだ。\nどう設定したかと、どう戻すかが書いてあれば、気が変わったときに同じ場所へ戻れる。",[18,131,133],{"id":132},"mac-で進めた分をwindows-へ引き取る","Mac で進めた分を、Windows へ引き取る",[14,135,136],{},"夜のあいだの作業は Mac 側にあって、リモートに push してある。\n直近8日間に更新のあったリポジトリを洗い出して、ローカルへ取り込ませた。\nプルが7本、こちらに無くて新規に落としたものが5本、すでに最新だったものが5本だった。",[14,138,139],{},"ついでに拾いものがあった。\n音声通知のリポジトリで、Mac 側では失われたことになっていたセリフ定義20本が、この Windows 機に残っていた。\n2台運用では、片方がいつも正で、もう片方がその写しだとは限らない。",[14,141,142],{},"もう一度、更新漏れがないか確認させた。\nリモートにあってローカルに無いものはゼロだった。\nただし逆方向、こちらからまだ返していないものは残っていて、そこは積み残しゼロではない。",[18,144,146],{"id":145},"_1個古いはずだった-html","1個古いはずだった HTML",[14,148,149],{},"Mac で作ったはずの HTML を1本、ローカルで開いてほしいと頼んだ。\n自炊した本の巻末付録から起こした、ダイヤル錠のパターンをまとめたページだ。\n記憶では150パターンのはずだったが、開いてみると数字が違った。\n100万通りが125通りまで絞れる、という中身だった。",[14,151,152],{},"そのページには、ヘッダーに4本のリンクを並べて相互に行き来できる版があったはずだった。\n手元のものにはナビが出ていない。\nバージョンが1つ古いのだろう、と思った。",[14,154,155,156,159],{},"ブラウザ越しに Mac 側のセッションへ調べさせて、両機のファイルを突き合わせた。\nMac と Windows で完全に一致していた。\n古かったのではない。\nローカルサーバーで配信して開いていたせいで、ナビが消えていただけだった。\nあのナビは ",[28,157,158],{},"file://"," で開いたときにだけ出る作りになっている。",[14,161,162,164],{},[28,163,158],{}," で開き直すとナビは出た。\n代わりに文字化けした。\nWindows で開くと化ける、というところまでは分かったが、原因はまだ追っていない。",[18,166,168],{"id":167},"dev-と共有される-tsconfig","dev と共有される tsconfig",[14,170,171,172,175],{},"前夜のデプロイが Server Build で落ちていた。\n原因は ",[28,173,174],{},".nuxt/tsconfig.app.json"," が壊れた JSON になっていたことで、dev サーバーとの競合だった。\ngenerate はビルド用のディレクトリを別に使うようにしてあるのに、tsconfig だけは dev と共有されている。\ndev がそのファイルを書いている最中に generate が読むと、書きかけの JSON を掴んで落ちる。",[14,177,178],{},"dev を止めて再実行したら 20.9 分で通った。\nそこで聞いた。\n根本的な解決が分離だとしたら、それはもうやったのか。",[14,180,181],{},"やっていなかった。\ndev を止めただけの回避で、恒久対応は案を書いただけだった。\nそのうえで調べさせると、分離は素直に取れないと分かった。",[14,183,184,187,188,191,192,194],{},[28,185,186],{},"apps/web/tsconfig.json"," が ",[28,189,190],{},".nuxt/"," を references で直接指している。\n静的な JSON なので環境変数を読めず、ビルド用ディレクトリを切り替えても参照先は変わらない。\nvite や esbuild は、ソースファイルの位置から親を辿ってこの tsconfig を見つけ、そこから ",[28,193,190],{}," を読みにいく。\n環境ごとに参照先を変えるには、ビルドのたびに tsconfig そのものを書き換えるしかない。\ngit の管理下にあるファイルを毎回書き換えるのは避けたい。",[14,196,197,198,201,202,205],{},"ここで引っかかった。\n運用ドキュメントには「tsconfig は分離されていない」という事実だけが書き足されていた。\n事実だけ渡されても、読んだ側は何をすればいいか決められない。\n分離しない理由まで書いてあれば、落ちたときに「dev を止めて再実行する」で終わる。\n",[65,199,200],{},"理由のほうを書かせた","（",[28,203,204],{},"72bab8bb","）。",[14,207,208],{},"あわせて2つ断った。\nデプロイ前に「dev が動いているので落ちる可能性があります」と警告して判断を仰ぐのは要らない。\ndev を動かせと言ったのは自分なので、動いていていい。\n落ちたら落ちたで、止めて再実行すればいい。\nClaude 側が勝手に dev を止めるのも要らない。\n他のセッションが確認用に立てたものを奪えば、起動と停止の奪い合いになる。",[18,210,212],{"id":211},"壊れていたものと見方がずれていたもの","壊れていたものと、見方がずれていたもの",[14,214,215],{},"この朝に手をつけたものを並べてみると、壊れていたものはほとんどなかった。\n起動が遅れていただけのホットキー、別売りのクレジットが無いと告げていただけの表示、読み出しが実態を返さない設定値、測る要素を間違えたヘッダー、配信の仕方で消えたナビ。\nずれていたのは、こちらの見方のほうだった。\ntsconfig だけは本当に噛み合っていないが、それも分離できない理由が分かった時点で、運用で回す話に変わった。",[14,217,218],{},"輝度 75 が適正かどうかは、まだ分からない。\n数日使ってから決める。",{"title":220,"searchDepth":221,"depth":221,"links":222},"",2,[223,224,225,226,227,228,229,230,231],{"id":20,"depth":221,"text":20},{"id":37,"depth":221,"text":38},{"id":53,"depth":221,"text":54},{"id":80,"depth":221,"text":81},{"id":107,"depth":221,"text":107},{"id":132,"depth":221,"text":133},{"id":145,"depth":221,"text":146},{"id":167,"depth":221,"text":168},{"id":211,"depth":221,"text":212},"dev",null,"起動が遅れただけのホットキー、残高ゼロのクレジット表示、読み出しが当てにならないモニター設定、純黒の背景、Mac から取り込んだ差分、dev と共有される tsconfig。2台運用でこまごまと溜まった前提のずれを、一つずつ潰していった記録。","md",{},true,"/windows-mac-dual-env-tuning","misc-dev",false,"2026-08-09T00:00:00.000Z",{"title":5,"description":234},"make-diary","2026-08/2026-08-09/windows-mac-dual-env-tuning",[246,247,248,249,250,251],"Windows","macOS","AutoHotkey","Chrome拡張","ディスプレイ設定","Nuxt","W_Uhm5u_1YPSqY11LK393GYZ35JTsmjdvz0jwkyZEJE",[],[255,259,263,267,271],{"title":256,"path":257,"publishedAt":258},"Claude Code の設定一式を Windows と Mac の2台で共有する移行作業","/dotclaude-two-machine-migration","2026-08-10T00:00:00.000Z",{"title":260,"path":261,"publishedAt":262},"生成AIツールはなぜMac先行なのか、調べさせてHTMLとSVG図解で受け取った","/why-genai-tools-favor-mac","2026-08-02T00:00:00.000Z",{"title":264,"path":265,"publishedAt":266},"2026年7月30日の開発日記 - 3つのリポジトリに同じ問いを投げた朝","/2026-07-30-diary","2026-07-30T00:00:00.000Z",{"title":268,"path":269,"publishedAt":270},"2026年4月7日の開発日記 - 法人税モジュールが全パイプラインに行き渡った日","/2026-04-07-diary","2026-04-07T00:00:00.000Z",{"title":272,"path":273,"publishedAt":274},"CapsLockを押すだけでスクリーンショットを撮れるようにする（AutoHotkey v2）","/capslock-screenshot-ahk","2026-03-19T00:00:00.000Z","https://log.eurekapu.com/og/blog/windows-mac-dual-env-tuning.png?v=2026-08-09T00%3A00%3A00.000Z&title=Windows%20%E3%81%A8%20Mac%20%E3%81%AE2%E5%8F%B0%E9%81%8B%E7%94%A8%E3%81%A7%E3%81%9F%E3%81%BE%E3%81%A3%E3%81%9F%E7%92%B0%E5%A2%83%E3%81%AE%E6%91%A9%E6%93%A6%E3%82%92%E3%80%81%E6%9C%9D%E3%81%AE%E3%81%86%E3%81%A1%E3%81%AB%E7%89%87%E3%81%A5%E3%81%91%E3%81%9F%E8%A8%98%E9%8C%B2&author=Kei%20Komatsu&sig=62c054b5eb77e46b",1786424485223]