デスク環境をデスクトップPCとノートPCで共用する環境づくり

## はじめに

このアドカレの作成者であるMatsudairaがこの間、家に遊びに来たときにデスク環境が良いのでどんなものを使っているか教えてほしいと言われて、なんか需要がありそうなので私のデスク環境の紹介をします。

主にモニターやキーボード、周辺機器を簡単にデスクトップとノートPCで共有するシステムを紹介します。

2回連続でプログラミング言語だったりフレームワークの話じゃないことを書いていますが、まあエンジニアに超関連した話なので許してください。

## 要件

自分が組んだデスク環境を紹介するために、なぜそのようにしたか分かりやすいように、自分がデスク環境に求めた要件を記載します。

- モニター2枚をデスクトップPCとノートPCで切り替えて使用できること
- キーボードやマウス、オーディオインターフェースなどのUSB機器を切り替えて使用できること
- できればモニターと周辺機器の切替は連動してほしい
- ノートPCはTypeC1本で繋がること
- WindowsノートでもMacノートでも繋がること（社用ノートPCがWindows、個人ノートPCがMacBookPro）
- TypeCからノートPCに対して十分に給電ができること

## ノートPCのドック

まずはノートPCの方から要件から機材選定の話をしていきます。

現在、TypeCでディスプレイなどに映像出力したい場合、3つの選択肢があります。

- DP Altモードで出力
- Thunderboltで出力（要Thunderbolt3対応 or USB4）
- Thunderboltで外付けGPU接続（WindowsPCのみ対応、AppleSiliconMacには非対応）

3つの選択肢のうち、上2つはPC内部のGPUを使い、下1つが外部GPUとなります。その制約からAppleSiliconなどには対応できません。Windowsしか使わない、ノートPCでグラフィック関連の処理をしたいなら有力な選択肢ですが、今回のようにデスクトップとノートPCの共用環境を作りたい場合は微妙な選択肢です。

個人的には、予算が十分にありMacを接続する可能性があるならThuderboltで出力する方法をおすすめします。

### DP Altモード
DP Altモードは一番一般的なTypeCからの映像出力手段になります。世の中の殆どのTypeC to HDMIやTypeC to DP, TypeC to VGAはこの規格を使って実装しています。1画面だけ表示するなら非常にお手軽ですが、2画面以上表示しようとすると結構厄介です。
DP Altモードはその名の通り、DisplayPort信号をUSB TypeCの線に流しているわけですが、普通のDPケーブルを使うのと違い、あまり高解像度のデータを送れません。例えば4K出力をしたい場合はUSB3.2の信号も流す場合は30Hzまでの出力となり、USB3.2を潰して、その信号線も使うことで60Hzまで送信できるようになります。
また、DPはMST機能で一つのDPケーブルで複数のディスプレイに異なる映像を送信することができますが、これは現状MacOSが対応していないためWindows限定の機能となります。
そのため、DP Altを使ってマルチディスプレイ環境を組みたい場合は以下の場合なら問題になりません。

- WQHD 60Hz * 2のディスプレイ環境以下
- DP Altモード対応のUSB TypeC端子を有するWindowsPC

### Thunderboltで出力

自分のデスクにて採用している方式です。
DisplayAltモードと違い4K 60Hzモニターを2枚接続でき、さらにUSB3.2で通信が可能です。
また、MacOSの環境でも複数ディスプレイに別々の映像を送信可能です。
デメリットとしてはThunderbolt3もしくはUSB4対応PCに限られる、ケーブル長に制限がある（普通にデスクの上で使う分にはあまり問題にならない）、ドッキングステーションなどが高価などが挙げられます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/87699/d486ebf9-82ab-9838-a053-c818247a6e4b.png)

[ドッキングステーションの例（自分が使っているやつ）](https://www.amazon.co.jp/gp/product/B0CFC9CR5W/ref=ppx_yo_dt_b_asin_title_o09_s00?ie=UTF8&psc=1)

### Thunderboltで外付けGPU接続

現状、AppleSiliconでは外付けGPUはサポートされていないので、ほぼWindows向けの方法になります。
ノートPCでも家だけではGPUが使いたいなどの需要があれば結構良い選択肢になります。
一昔前までは、殆どの外付けGPUは小さいデスクトップPC並の大きさの製品が多かったですが、最近ではゲーミングノートPC向けのGPUを使用した小型な外付けGPUもでてきています。
また、USBやLANなどのドック機能も兼ねている製品も多いです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/87699/9fd10495-08c6-d1df-6b31-c40fcb6050a5.png)

[外付けGPUの例（自分が使った事がある奴）](https://www.amazon.co.jp/%E5%9B%BD%E5%86%85%E6%AD%A3%E8%A6%8F%E7%89%88-%E5%A4%96%E4%BB%98%E3%81%91eGPU-OCulink-USB4%E6%8E%A5%E7%B6%9A%E5%AF%BE%E5%BF%9C-Radeon/dp/B0CDBZLSPS/ref=asc_df_B0CDBZLSPS/?tag=jpgo-22&linkCode=df0&hvadid=654836800468&hvpos=&hvnetw=g&hvrand=9801397342919611327&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=1009280&hvtargid=pla-2201268940931&psc=1&mcid=dd055b18ce8b32ea83fa369c51a8ac92)

## HDMIとUSBの切替機

以前からHDMIやUSBの単体の切替機を組み合わせたり、HDMI1つとUSBを連動して切替するものがありましたが、最近ではHDMI2個、3個とUSB3.2を切替する商品がAliexpressやAmazonなどで登場してきています。
自分のデスク環境ではデスクトップからのHDMI2本とThunderboltドックからのHDMI2本を切替機に入力し、モニター2台に出力しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/87699/35bb5471-192f-313e-13e6-e30f027c9ec3.png)

[自分が使っているものと近い切替機](https://www.amazon.co.jp/%E3%83%87%E3%82%A3%E3%82%B9%E3%83%97%E3%83%AC%E3%82%A4%EF%BB%BFHDMI-DisplayPort-%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81%E3%80%81USB3-0-%E3%82%92%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%97%E3%80%812-%E3%82%BB%E3%83%83%E3%83%88%E3%81%AE%E3%83%9E%E3%82%A6%E3%82%B9%E3%80%81%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E3%82%92%E5%85%B1%E6%9C%89%E3%81%97%E3%81%BE%E3%81%99/dp/B0CD77XHMJ/ref=sr_1_51_sspa?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2XO3O581PAYLH&keywords=usb+hdmi+%E5%88%87%E6%9B%BF%E5%99%A8&qid=1703307929&sprefix=usb+hdmi+%E5%88%87%E6%9B%BF%2Caps%2C184&sr=8-51-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9tdGY&psc=1)

## まとめ

USBもディスプレイも、簡単に切り替えれるとかなり使い勝手がよくなります。
皆さんのデスク環境構築の参考になったら幸いです。

## おまけ

アドカレ書くの難しいね（ブーメラン
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/87699/30998369-a0cd-d349-b101-4ce63f572de8.png)