Macでマルチディスプレイが使いづらい理由
(wadetregaskis.com)- iMac Proの内蔵5k画面にLG 5k外部画面を接続しても、Macのマルチディスプレイ体験は30年間繰り返されてきた不便さから大きく抜け出せていない
- macOSは再起動や起動後にウィンドウ位置の記憶が不安定で、すべてのウィンドウが内蔵ディスプレイに集まり、毎回配置し直さなければならない状況が起こりうる
- フルスクリーンアプリ・ゲーム、Lightroom Classic、Dock、メニューバー、Spaces、Split Viewは、マルチディスプレイで位置や動作が予想とずれることが多い
- 水平配置は画面間の隙間、首の回転、入力デバイスと画面の位置合わせの問題によって人間工学的な負担を増やし、補助画面は重要度の低いウィンドウを置く場所になりがち
- Xcodeのドキュメントのように参照情報を継続して見る必要がある場合は補助画面が有用だが、ウィンドウ管理バグとディスプレイの選択肢不足のため、大きな単一高密度画面への需要は残っている
5kデュアルディスプレイを再び試した背景
- 同僚の多くは同じサイズのディスプレイを2台並べる構成を好んでいたが、その利点が常に明確に感じられたわけではなかった
- この30年間でマルチディスプレイ生活を何度も試してきた
- 初期には17インチのディスプレイ1台でも高級品と見なされていた時代に、単に可能だからという理由で試した
- その後は実際の画面領域を増やすために断続的に再挑戦した
- 2014年に5kディスプレイが登場して以降、画面領域への圧迫感はしばらく薄れた
- 最初の5k iMacの影響が大きかった
- この1年ほどでXcodeを使う時間が増え、5kディスプレイ1枚では狭く感じるようになった
- Xcodeは5kでも「悪くはないが素晴らしくはない」程度である
- AppKitまたはSwiftUIのGUI設計、iPad Proシミュレータの使用が重なるとさらに窮屈になる
- 現在使っているiMac Proでは内蔵ディスプレイをオフにできない
- AppleはiMacの内蔵ディスプレイ無効化を許可していない
- iMac Proの買い替えも検討したが、Apple製品の発売タイミングのため決断を先延ばしにしている
- より大きな単一ディスプレイの選択肢も満足できるものではない
- 6kディスプレイにはいくつか選択肢があるが、「素晴らしい」と言えるほどではない
- 8kディスプレイは事実上ほとんど選択肢がない
- 8kテレビは物理的な設置スペースが足りず、知っているDellの8kコンピューターディスプレイは解像度のわりに物理サイズが小さすぎる
- LinkedIn勤務時代に自費購入していた予備のLG 5kディスプレイをiMac Proの横に置いた
- iMac Pro内蔵ディスプレイと事実上同じパネルに近く、理想的な組み合わせに見えた
- 実際には色温度の差がかなりあり、LGディスプレイのほうが暖かく見えた
macOSがウィンドウ位置を忘れる問題
- 最初の1か月ほどは概ね問題なく、一部のアプリだけが時々不具合を起こす程度だった
- Xcodeは特にドキュメントウィンドウの位置を毎回忘れる
- ドキュメントウィンドウは最初に開いたタブだけを保持し、それ以外のタブは保持しない
- 開発中にドキュメントウィンドウを誤って閉じると、作業コンテキストに結びついた複数のドキュメントタブを失うことがある
- その後ある時点から、起動するたびにすべてのウィンドウ位置が内蔵ディスプレイに初期化されるようになった
- 過密になったメインディスプレイでウィンドウを探し、補助ディスプレイへ再び移動し直さなければならない
- これは特定の不運というより、長年の経験上いずれ繰り返される通常の問題に近い
- ある時点で再びほとんどのウィンドウ位置を記憶し始めることもある
- その後も同じ悪循環が繰り返されうる
フルスクリーンアプリとゲームのマルチディスプレイ処理
- フルスクリーンアプリ、とりわけゲームは、追加ディスプレイを適切に扱えないことが多い
- 一部のゲームは使っていないディスプレイを暗くしたりオフにしたりできない
- ゲーム中にすぐ横の明るい画面が点いたままだと気が散る
- 起動や終了のたびにSystem SettingsのDisplay設定で補助ディスプレイを選び、明るさを手動調整しなければならない
- 使用している LG 5k には電源ボタンがない
- Thunderboltケーブルを抜くとmacOSが混乱し、ウィンドウ配置が崩れ、一部アプリがクラッシュすることがある
- 逆に、一部アプリは追加ディスプレイを誤認してウィンドウをおかしな画面へ送る
- Adobe Lightroom Classicは、ときどきウィンドウ全体を別のディスプレイへ移してしまう
- 元に戻す方法はLightroomを終了して再起動することだけである
- Windowメニューの「Move to <other display>…」項目は動作しない
Dockとメニューバーが生む摩擦
- Dockを画面の横に置くと、その方向で最も外側にあるディスプレイにしか表示されない
- Dockへアクセスするために複数画面をまたいでマウスを動かす必要があり、遅く不自然である
- Dockは自動的に隠す設定にしている
- 画面端付近でマウスを動かすとき、Dockが飛び出さないよう注意しなければならない
- 単一ディスプレイでは左側Dockが最も邪魔になりにくい
- 左端には相互作用するUIが比較的少ない
- 右側にはスクロールバーがあるため次善策である
- 下方向へマウスを動かすときはUSBケーブルの張力も余計に感じる
- 水平マルチモニター構成では、実質的に下部Dockを使うことになる
- 下部にはウィンドウのリサイズ領域、ツールバー、ボタン、水平スクロールバーなどが多い
- Dockを誤って出さないようにしながら、画面下端の数ピクセルを操作しなければならない場面が頻繁にある
- ときにはウィンドウ下部の要素をクリックするために、ウィンドウ全体を移動しなければならず、そのために先に上側でサイズを縮める必要があることもある
- メニューバーも自動的に隠す設定にしている
- 見た目の整理、わずかな画面領域の確保、過去のiMacでメニューバーの焼き付きが起きた経験が理由である
- メニューバーにはiStat Menusや複数の監視ユーティリティもあり、よく使っている
- マウスを画面上部へ振ってメニューバーを表示させる操作自体は簡単である
- マルチディスプレイではメニューバーがアクティブなディスプレイでしか現れない
- アクティブディスプレイと非アクティブディスプレイが一目で区別できないことが多い
- 手前のアプリのメインスレッドのランループがアイドル状態でない、あるいはアプリ起動中だとメニューバーが現れないというmacOSの設計上の問題も重なる
- カーソルが間違ったディスプレイにあるから見えないのか、別の理由で見えないのかを即座に判断しづらい
- 1日に何百回も起きる操作で、短い遅延が積み重なる
ウィンドウが見当違いの画面に現れる場合
- ウィンドウはときどき誤ったディスプレイに現れる
- 理由は明確ではない
- macOSのウィンドウ管理には、同様に説明しづらいバグがある
- 一部のモーダルダイアログが既存ウィンドウの背後に現れることもある
水平配置の人間工学上の問題
- 一般的な水平配置で2台のディスプレイを対等に置くと、自然に見るべき正面中央には画面ではなく隙間ができる
- どちらのディスプレイもキーボードやマウスと位置が合わない
- タイピングやマウス操作の正確さが落ちると感じる
- トレッドミルデスクのように動き続ける環境では、より強く感じられる
- 常に中央ではなく左右を見ることになり、首が痛くなることがある
- 主ディスプレイを正面中央に置き、補助ディスプレイを片側に置くと、補助ディスプレイはずっと有用性が下がる
- 実際に見るのがより不快になるためである
複数画面に作業を分けにくい理由
- 1台のディスプレイ内で2つのウィンドウを並べることと、2つのウィンドウを別々のディスプレイに置くことには体感上大きな差がある
- 2台のディスプレイが同一でなかったり、水平・垂直軸がそろっていなかったりすると差はさらに大きくなる
- 目だけを動かすのと頭まで動かすのとの差かもしれない
- ディスプレイ間を頻繁に行き来する作業には慣れにくい
- 重要な作業は補助ディスプレイに置かなくなりがちである
- 補助ディスプレイの位置が主ディスプレイより人間工学的に不利なら、なおさらである
- 補助ディスプレイは、カレンダー、クリップボードビューア、電卓のようなあまり頻繁に使わないウィンドウを置く場所になりやすい
- こうしたアプリは、必要なときにメインディスプレイ前面へ持ってきて再び隠すやり方と大差ない
- 補助画面上の無関係なアニメーションは、むしろ気を散らすことがある
- これまで意味のある同時利用の例は、参照情報を補助ディスプレイに置くことだった
- Xcodeのドキュメントウィンドウが代表例である
- 複雑なXcodeプロジェクトを5kディスプレイ半分に収めるのは事実上難しい
- コードとドキュメントを絶えず切り替えるより、同時に見える構成のほうが快適である
Hacker Newsの反応と追加論点
- Hacker Newsで長い議論が生まれた
- 反応は非難よりも共感や助けようとするものが多かった
- 約35年間Macを使ってきて、主にMacに集中してきたため、「Windows/Linuxユーザーのように誤った使い方をしている」という解釈は当たらない
- 外部ディスプレイ接続の安定性も、多くの人が問題視している
- 使用中のLG 5kは、付属Thunderboltケーブルの不良を交換するまでは問題が大きかった
- 交換後も業務用MacBook Proでは安定動作せず、iMac Proではうまく動作した
- 本文では現在この問題がないため別テーマとして扱わなかったが、Macの大きな問題の1つでもある
- より大きな単一ディスプレイを使うべきだという意見には同意している
- この問題は前述した選択肢不足とつながっている
- ウルトラワイドディスプレイには前向きだが、十分なピクセル密度が必要である
- 一般的な27インチディスプレイの横幅である23.5インチなら、5kは妥当なピクセル数である
- 幅約50インチのディスプレイで5kは少なすぎる
- 妥当な作業距離では、最低100 PPDが良いディスプレイの基準である
- AppleのRetinaディスプレイはこの基準を満たすが、知っているウルトラワイドディスプレイはそうではない
- 最近の構成は、iMac Proを正面中央に置き、LG 5kを左側およそ45度の位置に置く形である
- 以前は左右対称の水平配置、縦積み、iPad ProやノートPCを含む一時的な斜め配置も試した
- 妥当な配置で試していないものはないと考えている
- Spaces は使っていない
- 過去に初期のMac OS XやLinuxで使ったが、うまく合わなかった
- 新しいウィンドウ、特にモーダルダイアログが誤ったSpaceにひっそり開く問題のような、別のウィンドウ管理バグがある
- アプリのフルスクリーンは、一部のゲームのように必須な場合を除いて使わない
- 過去の業務用MacBook Proでは画面が小さく、やむを得ず使っていた
- macOSのフルスクリーンモードにはバグが多い
- 十分に大きな画面では、ほとんどのアプリで余白の無駄が大きい
- Dockは使い続けている
- アプリケーション切り替えに使う
- ⌘⇥も使うが、マルチディスプレイではアプリパレットがどの画面に出るか予測しづらく、マウスと組み合わせて効率よく使いにくい
- Spotlightもアプリ起動・切り替えに使うが、入力欄の表示遅延、入力無視、インデックス状態、よく使っていた略語の意味変更といった不安定さがある
- 最小化されたウィンドウへのアクセス、アプリDockアイコンのコンテキストメニュー、未読メッセージ数の監視にもDockを使う
- macOSのウィンドウタイル表示やジェスチャ不足を批判する意見も多かった
- macOSにはAppleが Split View と呼ぶ機能がある
- Split Viewは実質的にフルスクリーンモードの特殊形態であり、同じ設計上の問題やバグを多く共有している
- 思った以上に多くのディスプレイ・ウィンドウ管理ユーティリティの推薦があった
- 例: Stay, Display Maid, Phoenix, Rectangle Pro
- 一部は試してみる価値があるかもしれない
- ただし、Dockやメニューバーのアクセス性、人間工学といった根本問題は、こうしたユーティリティでは解決しない
1件のコメント
Hacker Newsの意見
アプリを開き直すたびにウィンドウ位置を覚えていないmacOSの問題は本当に腹立たしい
移動中に作業してからホームオフィスに再接続すると、その構成に合っていたウィンドウ位置すら覚えておらず、ノートPC画面に集まった何十ものウィンドウをまた整理し直さなければならない
以前HNの議論で見たDisplayMaid https://funk-isoft.com/display-maid.htmlで解決したが、MacBookがAppleの主力製品で、ドッキングやディスプレイのエコシステムも大きいにもかかわらず、動的なデスクトップ構成がきちんと扱われないのは理解しがたい
OSの中核機能を直すために数ドルのアプリを別途買わなければならないのはおかしい
ただし古いThunderbolt Displayは部品故障で内部をどちらも交換し、片方は内蔵Thunderboltケーブルの問題が続いたため、別ケーブルを使う必要があった
同じモニターを同じポートに挿しっぱなしの、ほとんど変わらない環境でもmacOSがウィンドウ位置を忘れるのは苛立つ
モニター接続イベントの処理も奇妙で、2台がオンの状態で3台目を挿すとサブモニターが消えて点き、さらにサブとメインの両方が消えて点いた後に新しいモニターが点くので、非常に煩わしい
誰かが机まで来て、わざと物を全部動かしていくような感じだ
Hacker Newsでは違うだろうが、一般ユーザー層は外部モニターを使わない傾向にある
Macのマルチディスプレイ対応はむしろ後退しており、プラットフォーム全体の状態を示しているようで、かなり気が滅入る
20年前には、PPIや色深度が異なるモニター間でもウィンドウが自然にまたがれるよう、Appleが多くの労力を注いでいたという話を聞いたが、いつの間にかその機能がなくなり、今ではウィンドウは1つのディスプレイにしか表示されない
Previewのような内蔵機能も、昔は誰かが99%のユースケースを真剣に考えていたように感じられたが、今ではリグレッションがないかどうかすらきちんと確認せず、80%対応できていれば御の字のように見える
https://en.wikipedia.org/wiki/Hugh_Daniel
彼は古いモニターからブラウン管を取り外した後、内部を高解像度写真で撮って壁紙にしていた。ウィンドウがモニター内部の高電圧回路の前に浮かんでいる、最高にかっこいいスキューモーフィックな壁紙だった
Appleが透明iMacのデフォルト壁紙としてなぜこれを使わなかったのか分からない
“They're IN the COMPUTER???” https://www.youtube.com/watch?v=L_o_O7v1ews
“There must be an ON button somewhere... Did you press the Apple thing?” https://www.youtube.com/watch?v=ToIyDSRSN5g
System Preferences > Desktop & Dock > Mission Control > Displays have separate Spaces > Offでオフにすればよい
その設定がオンのときにウィンドウが2つのディスプレイにまたがれない理由は、画面ごとにSpaceを独立して切り替えたり、個別のSpaceを別のディスプレイへ移動したりできるためだ
ウィンドウがまたがっていると、Spaceの切り替えや再配置の際に結果が非常に奇妙にならざるを得ない
いまだにMagnetのようなアプリがなければウィンドウをまともに制御できず、マルチディスプレイはめちゃくちゃだ
一方、LG GramのKDE Plasmaでは、解像度とサイズの異なる4画面をそれぞれ異なる拡大率で快適に使えており、Wayland + Plasmaが本当によく動作していて驚くほどだ
以前と比べると本当にひどい
マルチディスプレイ問題をすべてOSのせいだけにするのは難しく、複数のプラットフォームを使ってきた個人的経験では、どこでも結局めちゃくちゃになりやすい
画面のオン・オフは非同期イベントなので、OSはイベント駆動で処理しなければならず、画面はいつでも消え得るため、すべてのグラフィックス状態が常に有効でなければならない
最終的な画面構成がどうであれ、ユーザーが期待する状態へ収束すべきだが、アプリ開発者はたいていこの問題をOSに押し付けるか、OSが提供する予測可能な復元サービスを無視するため、OS側の前提も崩れる
複数の配置の間でウィンドウ位置を人間が動かすにせよOSが動かすにせよ、ウィンドウ位置の復元に完全に決定的なロジックはない
蓋を閉じたまま再起動すると画面がちらつき、ノートPCのLEDが点滅して最終的に死んでしまったが、おそらくカーネルパニックのようだった
調べてみると、外部ディスプレイが接続されていないとしてsystemdがスリープに送り、接続されたとして再び起こす過程がこじれたらしい
ディスプレイの初期化に時間がかかり、入力がないとオフになることでイベントがかみ合わず、たまには動くこともあったので、カーネルやMesaのバグだと思ってディストリビューションを渡り歩いたりもした
結局systemdのスリープを切った。気に入った解決策ではないが、少なくともLinuxなので切ることはできた
基本的には、机で2台の外部画面に接続して特定の構成を使い、会議のために抜いて30分後に戻ってきたら、元の配置がそのまま復元されることを期待する
移動中の構成もワークスペースに変換するような形で、使えるものにしてくれればなおよい
Nvidiaを入れた後は、WindowsでもLinuxでもマルチディスプレイ問題を覚えておらず、Windowsではむしろサウンドがいつも問題だった
短い休憩やモニター待機の後でもウィンドウが押し流されることがあり、いろいろな解決策を試したが、固定位置の保存をうたうツールにも満足できなかった
今は作業状況別のウィンドウ位置セットをAppleScriptで定義し、ショートカットキーで呼び出す方式を好んでいる
サードパーティーツールなしで動作し、同じアプリの複数ウィンドウにも適用できる
たとえば「Dev1」設定では、外部27インチ4Kを2台と14インチMacBookで、Firefoxを1枚目の画面に、IntelliJ IDEAを2枚目に、iTerm2をMacBook画面に配置し、安定して動作する
複数のモニター構成や、ウィンドウを元の場所へ戻すアプリをいろいろ使ってみたが安定せず、ウィンドウは相変わらず混ざった
待機中のMacの消費電力より自分の時間のほうが高いので、こうして使っている
モニターは省電力に入り、その時もたまにウィンドウが再配置されるが、99%は問題ない
もちろん、こういうふうに任意のUX上の失敗を持ち出して、Linuxはデイリードライバーとして使えないと言う人たちを風刺したものだ
画面がたまに互いに入れ替わる理由が分からない
ログインすると追加画面同士が入れ替わっていて、すべての内容を移動しなければならないのはおかしい
マシンはモニターのシリアル番号も、どのポートに接続されているかも知っているのに、なぜその情報で元の位置を覚えられないのか理解できない
それに、すべての画面背景を黒に選んでおいたのに、数日後にログインすると写真に変わっているのも腹立たしい
ネイティブ解像度も簡単に使わせてくれないためBetterDisplayを入れる必要があり、それさえ完璧ではない
https://news.ycombinator.com/item?id=40038759
数週間前のHN投稿で見たのだが、モニターメーカーはロット単位以外では固有のマシンIDをまともに入れていないため、同じロットから買った2台のモニターはハードウェアレベルでは区別できないという
解決ツールがあると思って期待したが、自分のモニターはMacに直接つながっているのではなくドッキングステーションの後ろにあるため、そのツールでは直せなかった
さらに悪いことに、F3で上部の小さな「デスクトップ」たちを見て、左モニターのものを右へ、右のものを左へドラッグして入れ替えればよさそうなのに、いつも1つの仮想デスクトップだけはそうやってドラッグできず、しかもそれがアプリのあるデスクトップなのだ
以前はレイアウトを記憶するためにhttps://github.com/lapo-luchini/WindowsLayoutSnapshotを使っており、問題がDisplayPortのせいだと分かってからは、グラフィックカードにHDMI/DVIポートを十分確保してDisplayPortを避けた
今でも誤ってすべてのウィンドウを最小化してから開き直すときに便利なので、起動したままにしている
Macにも似たようなツールがあるかもしれない
少なくとも Rectangle は必要: https://rectangleapp.com/
すべての問題を解決するわけではないが、遅いマウスドラッグの代わりにキーボードベースのウィンドウ移動を素早く行える
macOS を10年以上マルチモニターで使ってきて、Spectacle と現在の Rectangle は必須だったし、ノートPCの画面だけを使うときにも使っている
この程度のショートカットがあれば、2台のディスプレイで効率よく作業するには十分
これらの問題は、displayplacer https://github.com/jakehilborn/displayplacer と Phoenix https://github.com/kasper/phoenix という2つの無料オープンソースツールのおかげで経験していない
displayplacer は、モニターを望みどおりに設定したあと、後で同じ構成に戻すためのコマンドを生成してくれるコマンドラインツールで、2つの作業場所用のコマンドを保存して Alfred から実行している
Phoenix はウィンドウ管理用のキーボードショートカットを自分で書けるようにしてくれるもので、モニター UUID を見て現在の場所を検出し、ウィンドウを望む位置に配置するキーコンビネーションを作ってある
似たようなことは Moom https://manytricks.com/moom/, Rectangle https://github.com/rxhanson/Rectangle, Magnet https://magnet.crowdcafe.com でも可能
Dock は自動非表示で右側配置にし、メニューバーは中央のディスプレイにだけ常時表示しても、まったく不便はない
しばらく愛用したあと、すべての機能が必要なわけではないと気づいたが、今でも自分の https://taoofmac.com/space/apps/window_managers ページで目立つ形で取り上げている
ProMotion、つまり高リフレッシュレートが有効な新しい MacBook Pro では、デスクトップ切り替えアニメーションが遅すぎる
アニメーション速度がディスプレイのリフレッシュレートに紐づいているため、ProMotion を切って 60Hz に設定すると問題は解決する
アニメーション中はウィンドウを操作できないので、新しいデスクトップで何かをクリックするには減速アニメーションが完全に終わるまで待たなければならず、Apple はこの問題を1年以上前から把握している
Windows や Plasma のユーザーから見ると、排他的なフルスクリーン、スナップの欠如、シミュレーターをタイル状の構成に入れるためにアプリのマニフェストを修正しなければならない点まで、ウィンドウマネージャーが時代遅れに見える
古いユーティリティ付きのシェルではなく、開発用として macOS を好む理由について良い印象は持てなかった
アクセシビリティの「視差効果を減らす」設定も Windows ほど尊重されず、長いアニメーションを避けるうえでも不便
元記事で不満を述べている問題はほとんど経験していない
ウィンドウが変な画面で開くことはあるが、同じウィンドウを何か月も開きっぱなしにするほうだ
アプリを閉じる場合も同様で、現代の OS ではアプリを開いたままにしていても、フォーカスがないときはバックグラウンド処理を大量に走らせない限り、ほとんどリソースを使わない
たまにウィンドウが入り混じることはあるが頻繁ではなく、Studio Display とかなり古い Thunderbolt Display を使っている
Dock の問題も、マウス感度を上げてフィッツの法則を活用し、カーソルを一定の速度で左へ投げると、補助モニター左側の Dock に安定して到達する
2台目のディスプレイは主に「補助」アプリをデスクトップごとに分けて置く用途なので、手動のウィンドウ管理はほとんど必要なく、必要なウィンドウがあるデスクトップへ切り替えればよい
大きな単一画面やウルトラワイドにも適応はできるだろうが、マルチモニターで仮想デスクトップを組み合わせて使うやり方は、タイリングや分割をいじるよりずっと良い
自宅と会社の異なるマルチ画面構成、そしてノートPC単体での使用を行き来しているが、macOS がウィンドウ位置を記憶しているのか調べたことはないにせよ、その処理方法でいら立ったことはない
典型的な Apple 流に、ただ動く
タイトルだけ見れば、Windows や Linux に替えてもほぼそのまま当てはまる
技術人材を大規模に手放し、未来型人工知能と高度な大規模言語モデルで置き換えられると言いながら、ディスプレイを2台挿しただけでコンピューターが壊れる
解決策は、ディスプレイケーブルのホットプラグ検出ピンを物理的に塞いでモニターの電源を切れるようにするか、PersistentWindows を使うことだが、復元が遅く、仮想デスクトップ間で跳ねる
そのうえ “windows” と “virtual desktops” 関連の検索語は検索するにも最悪