遠隔地のWindows PCをAnyDeskを使ってヘッドレス運用する
この記事は、LYNCS Advent Calendar 2018 4日目の記事です。今日の担当はryo-aです。
スキマ需要にも程がある話ですが、遠隔地に設置したWindows PCを、モニタ・マウス・キーボードを接続しない状態(ヘッドレス)で運用する方法について軽く紹介いたします。本当にアドカレが始まるとは思っていなかったのでざっくりとした内容で申し訳ありません。
AnyDesk
ドイツのAnyDesk社によって提供されているリモートデスクトップアプリケーションです。 GUIの特性に最適化されたコーデックを採用しており、高画質1かつ高速なリモートデスクトップ操作ができます。複数のソフトを触りましたが、使いやすさ・速度ともに今のところ一番お気に入りです。
有料プランも大手のTeamViewerより安く設定されており、商用・業務用途であっても比較的低い負担で導入できるのがメリットです。
ヘッドレスって何よ
いや、マミさんではなく、
ヘッドレスとは、ディスプレイやキーボード、マウスなどの入出力機器を接続しない状態でコンピュータを運用すること。また、普段そのような運用を行う機器。(e-wordsより)
要するにサーバマシン的な感じで普通のWindowsを運用したいという話です。
Windowsのヘッドレス運用をする状況
「UNIX系OSのサーバをSSHで叩くのではいかんのか」という話ですが
- オフィスや研究室にある共用マシン、あるいは自宅のマシンを操作したい
- そのPCを直接触る機会は少ないorほぼない
という状況において
など複雑な状況が絡み合うとWindowsのヘッドレス運用をしたい(しなければならない)状況が発生します。いや発生しないほうがいいんですけど、発生したもんは仕方がないので実現するしかないわけです。
ディスプレイを繋いでいないとAnyDeskが繋げなかった
(遠隔地の(無人の)PCにAnyDeskで接続する設定の手順自体はWeb上のあちこちに記事があるので割愛します。) さて、意気揚々と設定を終わらせてマウス・キーボード・ディスプレイを引っこ抜いた瞬間、AnyDeskが画像を送ってくれなくなりました。ディスプレイが物理的に繋がっていないといけないようです。これは困った。
ちなみに、ChromeリモートデスクトップやTeamViewerはディスプレイを繋いでいなくても画像を送ってくれます。速度は遅くなりますけど。実装について全くくわからないのですが、これらのソフトウェア側でXvfbみたいな処理を多分やってくれているんでしょうか。
GPUを騙せばいけた
結局はコネクタの先に液晶じゃなくても電気抵抗が何かあればGPUはディスプレイがあると勘違いするんです(暴論)。 抵抗さえあればなんでも良いというのは嘘ですが、実際のディスプレイを要しているわけでないのは事実です。それっぽい信号出力先があればOKらしく。
ということでこれを導入しました。
最初はええ…(ドン引き)と思ったんですけど、AnyDeskではないですが似たような需要があるらしく、こういう製品が存在しているようです。 DPに限らずHDMIでもあるようですね。
これを刺すとすんなり動いてくれました。めでたしめでたし。
ちなみに、このアダプタを挿したことでAnyDeskが動くようになっただけでなく、Chromeリモートデスクトップの解像度と速度も向上しました。
まとめ
- AnyDesk はいいぞ
- リモートデスクトップソフトウェアによっては、ディスプレイを刺さないと動作しないものがある
- そういう状況でもGPU(の端子)を騙せば大丈夫
-
ただし、色が若干変わるところがあるのでデザイン用途には向いていないと思います。↩