![別の TTY で新しいリモート X セッションを開始する](https://rvso.com/image/1070926/%E5%88%A5%E3%81%AE%20TTY%20%E3%81%A7%E6%96%B0%E3%81%97%E3%81%84%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%20X%20%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E9%96%8B%E5%A7%8B%E3%81%99%E3%82%8B.png)
私の自宅のセットアップでは、同じローカル ネットワーク上に 2 台のコンピューターがあり、どちらも Ubuntu 20.04 を実行しています。新しい TTY に切り替えてリモート X セッションを開始し、プライマリ コンピューター経由でセカンダリ コンピューターにアクセスする方法を確立したいと考えています。画面を共有したり、既存の X セッションにアクセスしたりしたくありません。また、リモート X セッションを開始するために使用しているコンピューターには 2 つのモニターがあり、両方を活用したいと思っています。
いくつかのオプションを試しました。XDMCP は私の希望どおりに機能するようです。しかし、今のところあまりうまくいっていないようです (アクセスはできるものの、カーソル付きの黒い画面しか表示されません)。さらに、帯域幅を大量に消費し、安全ではないようなので、理想的には他のものを使用するのがよいでしょう。
X2Go を試してみましたが、別の TTY で起動する方法や、両方のモニターを活用する方法を見つけることができませんでした。
xvnc や NoMachine のようなものも聞いたことがありますが、どちらも希望どおりに実行できるかどうかはわかりません。
これを実行する既存の方法はありますか? または、XDMCP を圧縮および/または保護する方法はありますか? XDMCP を SSH 経由で実行できる可能性があると聞いたことがありますが、これは本当ですか?
ありがとう!
答え1
X ウィンドウ セッションは、期待どおりには動作しません。接続先の反対側に「サーバー」があり、それを制御したいと考えているのです。
実際には逆のことが起こります。接続しているマシンはからサーバーとして機能し、接続すると別のマシンに表示するように指示します。
したがって、接続元のマシンで X が実行されている必要があり、次の操作を実行します。
xterm またはお気に入りのターミナル ウィンドウ アプリを開きます。
ローカル マシンのターミナルで、リモート ホストからの接続を許可します。
xhost + 192.168.1.2 (192.168.1.2は接続先のマシンです)に)
同じターミナルで、X11 転送を使用して、ssh を使用してリモート マシン (192.168.1.2) へのシェルを開きます。
ssh -Y ログイン@ホスト名
リモート マシンでディスプレイを設定します。
export DISPLAY=192.168.1.1:0.0
(これは接続するマシンになりますから)ここでプログラムを起動します。xeyes、xcalc、chrome などを実行します。しばらくすると、プログラムがローカルの X Window インターフェイスに表示されます。リモート マシンで実行されていますが、ローカルに表示されます。
リモート マシンでは X Window サーバーが動作している必要はありません。リモート マシンは実際には、ローカル コンピューターの X Window サーバーに対するクライアントとして機能します。
XDMCP は、VNC のような、ディスプレイ変更用に最適化されたプロトコルよりも明らかに「重い」です。しかし、目標は異なります。VNC は通常、画面全体で動作します。また、VNC サーバーをインストールしてそのルートを使用することを妨げるものは何もありません。その場合、どの VNC クライアントでも動作します。