私は仕事を始めようとしているかなり奇妙な設定をしています。
コンテナで(Proxmoxを介して)Ubuntuインストールを実行しています。ホストコンピューターはCentOSです。どちらのサーバーもXインスタンスを実行していません。
ホストマシンが物理的にモニターに接続されています。私の最終目標は、ホストからコンテナーにssh -X
を実行し、xbmc
を実行してモニターに表示できるようにすることです。
この設定に関するいくつかの質問:
X
をインストールする必要がありますか?:0
や:1
など)とは正確には何ですか?それらを設定する必要がありますか?
- Xもホストにインストールする必要がありますよね?
ホストのみにXサーバーがインストールされている必要があり、実行されている必要があります。コンテナにはいくつかのXクライアントライブラリが必要です(xbmc
をインストールすると、おそらくこれらが依存関係として取り込まれます)が、Xサーバーは必要ありません。
- 「ディスプレイ」(:0や:1など)とは正確には何ですか?それらを設定する必要がありますか?
ディスプレイは、特定のサーバーによって管理される別個の(仮想の)画面であり、DISPLAY
環境変数はXクライアントに接続方法を指示します。 ssh -X
はそれを自動的に設定します。何もする必要はありません。
Xをネイティブに使用して、ssh
をまったく関与させずにこれを行うことができます。その場合、DISPLAY
を適切に設定する必要があります。このような状況では、接続の暗号化によるリソースコストを削減する以外に、特別な利点はありません。
ホストのXサーバー環境内からssh
コマンドを実行していない場合は、ssh
が表示できるように、その端でDISPLAY=:0
(または同様のもの)を明示的に設定する必要があります。
- 私がやろうとしていることは可能ですか?
はい、それはほとんどXプロトコルの目的です。
man ssh
および-X
オプションの詳細については -Y
を、man ssh_config
オプションの詳細については ForwardX11Trusted
を確認する必要があります。あなたの場合、セキュリティ上の懸念は実際には当てはまらない可能性がありますが、確認してください。
特に、ssh -Y
は一部の構成で成功率が高くなりますが、リモートエンドにXサーバーへの無制限のアクセスを提供し、ssh -X
はそのようなアクセスの多くを防ぎ、認証を短時間で強制的に期限切れにします。 Xプロトコルはそれほど安全ではなく、アクセスが制限されていないクライアントは、たとえば、他のすべてのクライアントで行われたすべてのキー押下をログに記録できます。