2 台のコンピューター、1 つのモニター、一切のいじくりなし(2025)

2026/05/16 11:13

2 台のコンピューター、1 つのモニター、一切のいじくりなし(2025)

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

核心となる成果は、単一のモニターを使用して Mac ノートパソコンと Linux デスクトップの間で瞬時に切り替えられるシームレスな自動化された KVM 設定の実現です。これにより、MSI MPG 321URX に内蔵されている接続制御を活用して、手動でのケーブル変換や高価な外部スイッチの必要性を排除します。macOS では、軽量なツール「m1ddc」を使用し、キーボードショートカットを通じてモニターに特定のコマンドを送信します。Linux でも同様の結果を得るためには「ddcutil」が使用されますが、USB-C 接続をモニターの内部ディスプレイポート信号に正しくマッピングするにはカスタムコードが必要となります。本プロジェクトは、高価な Samsung や Alienware といったハイエンドブランドではなく、ゲーマー向けのアフフォラードな QLED モニターを活用するという費用対効果の高い戦略を強調しています。Windows ユーザーはこの機能をモニターのネイティブソフトウェアを使用して再現することもできますが、現在の手法は完全に正確でゼロの手作業によるコマンドに依存しており、自動化されたホットキーが失敗した場合、転移が機能しなくなります。結局のところ、このアプローチは、重要なハードウェア投資なしに、オープンソースユーティリティによって非常に効率的でプロフェッショナルグレードのワークフローを作成できることを実証しています。

本文

MacBook と Linux デスクトップを使い分けており、両方に同じキーボード、マウス、モニタを接続しています。もしリモートワークをしているなら、きっとお気持ちをお察しいただけるでしょう……仕事用はラップトップ、趣味用はデスクトップ、という使い分けつつも、モニターと周辺機器は一本しかないのですから。

これまで這兩台の切り替えはいつも面倒でした。モニター背面でケーブルをplug/unplug を繰り返すとか、不安定な USB-C スイッチを使うとか、イライラするdongle を使うといった選択肢しかなかったからです。

さて、モニターの最新機種へのアップグレードに伴い、この問題を「いっぺんに解決」したいと思っていたのです。両機間の切り替えを瞬時に行いたい――つまり、キーボードから手を離すことさえ禁じられたレベルで素早く。

とうとう見事に達成しました。これが私のソリューションです:

[動画コンテンツプレースホルダー]

この実現には主に次の 2 つの要素が寄与しました:

  • KVM(キーボード・ビデオ・マウス)機能内蔵のモニターを取得したことで、USB入力をモニターへ直接接続し、アクティブな入力ソースに合わせて自動的に切り替わることができるようになったこと。さらに…
  • HDMI や DP ケーブルを通じてモニターの DDC(Display Data Channel)コマンドを制御できるようになったことです。

それぞれの仕組みについて順次ご説明します。

モニターについての話

結論から言えば、使っているのは MSI MPG 321URX です(アフィリエイトリンク)。この機種の最大の特徴は、プログラミングでもゲーミングでも大活躍の 4K・240Hz の美しすぎる QLED パネルです。(※同シリーズの新モデルも现已市場に出回っており、本稿で述べる設定はそのまま適用できると思われます。)

Samsung や Alienware など他社でも同様のパナエルを搭載したモニターを販売していますが、MSI はコストパフォーマンスが優れています。また、ゲーマー向けという装飾要素をモニターの背面に配置しており、私の壁だけがそれを「見せびらかす」必要がないことも評価しています。ごめんなさい、お隣の壁さん……。

モニターでは以下の 2 つの入力を活用しています:

  • USB-C: macOS の MacBook に接続
  • DisplayPort: Linux デスクトップに接続

周辺機器の接続には、モニターの搭載 USB ポートと 3.5 mm オーディオジャックを利用しています。さらに、ある USB ポートにハブを接続して使用可能ポート数を増やしています:

[画像プレースホルダー]

実際には上記の図面ほど整然とはしておりません(裏面のケーブル管理はもう少し複雑ですが)、それでも壁だけがそれを見ているので許してください。もう一度、ごめんなさい、お隣の壁さん……。

この構成がうまく機能する秘密は、モニターの KVM 機能にあるのです。USB ポートから入力されたデータが、アクティブな入力ソースに応じて自動的に切り替わるようになっています。つまり、MacBook で USB-C を経由して使用时にはモニターの内蔵 USB ハブも USB-C を経て動作し、Linux デスクトップで DisplayPort を経由して使用时には同じハブが USB-A 接続を通じてデスクトップにデータを送るのです。

かつてはモニター本体のコントローラーを手動で操作して入力切り替えを行っておりましたが、先ほど述べた通り「キーボードから手を離すこと」は失敗と見なされます。そんなことは許されません!

Display Data Channel(DDC)

では登場します、DDC です。これは HDMi、USB-C、DisplayPort のいずれの映像ケーブルを通じてモダンなモニターへ指示を送るための機能です。DDC を利用すれば、音量の変更や輝度・コントラストの調整に加え、重要なのは入力ソースの切り替えを一切触らずに実行できます!

コマンドラインツールを用いれば DDC コマンドをモニターへ送信でき、OS によって異なるブリッジソフトウェア(shim)を用意することで、特定のキーボードショートカットにバインドすることも可能です。

macOS(Apple Silicon搭載マシンの場合)

Apple Silicon を搭載した Mac では

m1ddc
というツールを使ってモニターの DDC シグナルを送ることができます。Intel チップを搭載している場合でも代替方案があります。

以下のようなコマンドを実行できます:

brew install m1ddc          # ツールをインストール
m1ddc display list           # 接続されたモニター一覧を表示
m1ddc display <前回の ID> chg volume 100    # 音量を変更
m1ddc display <前回の ID> set input <入力ソース>   # 入力ソースを切り替え

m1ddc
の README に各入力ソースに対応するコードがリストアップされています。私の場合、DisplayPort は入力コード「15」で、モニターの ID は
381C72C8-0CDA-4B71-A1CD-F8AFE90AB0ED
です。したがって、この呪文を唱えるだけで DisplayPort に入力ソースが切り替わります:

m1ddc display 381C72C8-0CDA-4B71-A1CD-F8AFE90AB0ED set input 15

m1ddc
コマンドを用意すれば、Hammerspoon を使って CTRL + SHIFT + = にバインドします:

-- ~/.hammerspoon/init.lua のどこかに配置

-- MSI MPG 321URX に対して DDC コードを送信し、DisplayPort 入力ソースに切り替える
hs.hotkey.bind({ "ctrl", "shift" }, "=", function()
  local display_id = "" -- 'm1ddc display list' を実行して取得してください
  local displayport_code = "15" -- m1ddc の README に記載されている入力コード
  local command = "/opt/homebrew/bin/m1ddc display " .. display_id .. " set input " .. displayport_code
  hs.execute(command)
end)

同様に、Linux 側では同じキーボードショートカットで USB-C(マブック)へ戻るようバインドします。

Linux(KDEデスクトップ環境の場合)

Linux では

ddcutil
を用いてモニターを制御するのが実績があります。

sudo pacman -Suy ddcutil     # パッケージマネージャー経由でインストール
ddcutil detect               # 接続されたモニター一覧を表示

ddcutil
m1ddc
に比べて少し難易度が高いかもしれません。変更したい設定(入力ソース、音量、輝度など)のコードと値を手探りで特定する必要がありますが、幸運なことに
ddcutil
がこれらの情報を簡単に発見できるように設計されています。私の場合は次のように表示されます:

...
   Feature: 60 (Input Source)
      Values:
         11: HDMI-1
         12: HDMI-2
         0f: DisplayPort-1
         10: DisplayPort-2
...

「input」は Feature 60 なので、入力ソースを変更するにはこちらを操作すればよいでしょう。値については複数の選択肢がリストアップされていますが、USB-C はありません。モニターには HDMI×2、DisplayPort×1、USB-C×1 のポートしか搭載されていませんので、帰納法によって推測すると、表示されている「DisplayPort-2」は実態は USB-C ポートであり、DisplayPort Alt Mode を通じて動作していると考えるのが妥当です。

これらを踏まえると、入力ソースを USB-C へ切り替えるコマンドは以下のようになります:

ddcutil feature 60 set 10     # '10' が DisplayPort Alt Mode を経由する USB-C ポートに対応すると仮定して

※元のテキストでは出力が切れているため、論理的なコマンドを再現しています。

m1ddc
の場合とは異なり、表示デバイス指定は省略しています(デスクトップには単一のモニターしか接続されていないため)。ノートパソコンのように内蔵画面を持つデバイスも接続している場合は、複数画面を利用する際にこれらのコマンドを適切に調整する必要があります。

KDE デスクトップ環境を使用しているため、最も簡単な方法は KDE 内蔵のショートカット設定マネージャーから CTRL + SHIFT + = にバインドすることです:

[画像プレースホルダー(KDE 設定画面)]

簡単でしょう?キーを押すだけで

ddcutil
が実行されます!

Windows

Windows 環境でも同様の設定が可能です。私は実際に試していませんが、MSI から提供されているモニター制御用 Windows アプリでは、キーボードショートカットにアクションを割り当てられるようであるため、別途 CLI コマンドを実行しなくても入力ソースを切り替えられる可能性があります。

結論

ご覧いただければ幸いです。外部の KVM デバイスを介さずに入力ソースを通過させ、しかもキーボード単体でスイッチトリガーが可能な KVM ソリューションです。

ご清聴ありがとうございました。DDC をしてまた会いましょう!

同じ日のほかのニュース

一覧に戻る →

2026/05/19 10:30

LLM による「過去六ヶ月の要約」――わずか五分で読み解く

## Japanese Translation: PyCon US 2026 における「2025 年 11 月の転換点」に関する振り返りは、AI ランドスケープが標準ハードウェア(例:Mac Mini)上で動作する実践的なローカルツールおよび個人用 AI アシスタントへと劇的に移行していることを示しました。2025 年後期から 2026 年初頭にかけての期間は、「最良」という称号を巡る過激な競争によって特徴づけられていました。11 月単独でわずか 2 ヶ月の間にトッププロバイダーにおけるリーダーシップは 5 回交代し、Claude Sonnet 4.5、GPT-5.1、Gemini 3、Codex Max などを経由した後、最終的に Claude Opus 4.5 に落ち着きました。この時代は、コーディングエージェントにおいて OpenAI や Anthropic の検証可能な報酬に基づく強化学習(Reinforcement Learning from Verifiable Rewards)への取り組みにより、単発的な動作から信頼できる日常利用ツールへと移行したことで推進されました。 顕著な技術的進展としては、Google が実用的なオープンウェイトモデルとして Gemma 4 シリーズをリリースしたことや、中国の研究所が GLM-5.1(1.5TB モデル)を公開したことが挙げられます。これらのモデルは、動物がエスクーターに乗っている様子やバージニア北部のカナザが自転車に乗っているような不可能なタスクのアニメーション生成といった驚くべき能力を発揮しました。特定のコミュニティプロジェクトは「Warelay」として始まりましたが、「OpenClaw」という名称を最終的に採用し、人気のあるローカル「個人用 AI アシスタント」の代名詞となりました。2026 年 2 月には新規モデルに対する需要が高まりシリコンバレーで Mac Mini が品切れになった一方で、一部のプロジェクトはセキュリティ懸念とパフォーマンスの問題のため廃止されました。全体のテーマは、自律的にホストされる知能のブームであり、ラップトップ搭載のモデルが業界リーダーと比較して期待を大きく上回る性能を発揮し始めた点にあります。

2026/05/17 1:49

Android スマートフォンを业余無線局トランシーバーに変えてください。

## Japanese Translation: kv4p HT は、Android スマートフォンとの統合を目的として設計されたオープンソースの VHF/UHF アマチュア無線トランスceiver です。専用バッテリーや外部充電器の必要性を排除するため、スマートフォンから電力を供給します。カスタム PCB(v2.0e)、SA818-V/U または DRA818V/U モジュール、SMA メスアンテナなどの部品の使用により構成され、SMS 風のメッセージングおよび位置情報ビーコン機能(APRS)を含む高度なデータ通信タスクをサポートします。法的に運用するためには、少なくとも技師級のアマチュア無線免許証を保有している必要があります。製品には保証がありません。フルデザインと GPL3 ライセンスの ESP32 ファームウェアは GitHub 上に公開されており、3D プリンター用ファイルも用意されているため、DIY による組み立てが可能で、モジュール/PCB のハンダ付け、接着ゲルパッドによる装着、3D プリント製ケースの取り付けを伴います。新規ユーザーは、事前に組み立て済みのベンダーキットを購入しない場合は、ソフトウェアを手動でフラッシュする必要があります。本システムは、2017 年以降の Android 8 以上のデバイスとのみ互換性があります。リアルタイムクローズドキャプション、PTT 用のハプティックフィードバック、アニメーション制御など、アクセシビリティ機能により、多様なユーザーにとって使いやすさが向上しています。

2026/05/19 13:24

コーデックス・マキシング(Codex-maxxing)

## Japanese Translation: この文は、短命なチャットセッションから、複雑な知識労働に適した耐久性のある長時間稼働型コーディングエージェントへの転換を描いています。これらのエージェントは、「compaction(コンパクト化)」という機能を用いて古いのメッセージを剪定し、コスト超過やコンテキスト制限を防ぎつつ不可欠な履歴を保持しながら、数ヶ月間自動化された動作を持続させます。ユーザーは「Chief of Staff」のようなメガスレッドをピン留めして好みを蓄積し、Command-1 から Command-9 などのショートカットを通じてワークストリームを舵取りできますが、オフキャッシュのスレッドは新規の短寿命スレッドよりも高いコストを支払う可能性があります。エージェントは Codex および Wispr Flow を通じて音声入力を受付けることができ、システム全体での口述が可能になり、タイピング単独よりも豊富なコンテキストを実現します。ユーザーはツール呼び出し後(steering)に新たな方向性を注入し、ステップが完了するのを待たずにエージェントを誘導できます。共有メモリシステムはチャット外に Obsidian クォート内にアーティファクト(AGENTS.md を含む)を保存しており、これらを検証、編集、差分表示することを可能にします;GitHub でリポジトリとしてホストされる場合、クラウドツールを通じてメモリの更新内容を確認でき、審査されていない対話の「vibes(雰囲気)」が蓄積するのを防ぎます。$slack、$gmail、$calendar、$browser、@chrome、および@computer といったコネクタは、ローカルのウェブ表面、認証済みのブラウザ状態、Twitter やデスクトップアプリなどの GUI アプリケーションなど、追加機能を提供します。Hatch Pet などのインストール可能なスキルは再利用可能なワークフローをパッケージ化し、エージェントが再教育なしでタスクを繰り返せるようにします。リモートコントロール機能により、ユーザーは作業マシン上で長時間稼働するタスクを開始し、モバイルデバイスからステップを承認することで進捗を持続させつつ管理できます。スレッドローカルハートビートは、Slack/Gmail を 30 分ごとに、フィードバックを 15 分ごとにといった再帰的なチェックをスケジュールし、ユーザーの常在なしでループを稼働させます。ゴールはエージェントに明確な仕上げラインと成功基準を与え、例えば元の単一テストを全てパスしながら Python Rich を Rust に移行する場合などに適用されます。サイドパネルはアーティファクト(Markdown、PDF、スプレッドシート)を検証し、ウェブ表面(index.html、Storybook、Slidev)を操作し、ループを壊さずに変更を確認する作業領域として機能します。

2 台のコンピューター、1 つのモニター、一切のいじくりなし(2025) | そっか~ニュース