SSHを介してリモートコンピュータに接続し、ディスプレイをリモートコンピュータに設定してからウィンドウを開こうとします。どんなウィンドウでも構いません。しかし、テストのためにxtermウィンドウを開こうとしています。
私が従った基本的なプロセスは次のとおりです(Konsoleウィンドウとxtermウィンドウで試してください)。
ssh -XY <user>@<remotecomputer>
xhost +
setenv DISPLAY <remotecomputer>:0.0
xterm
メモ:
- sshコマンドで-XYをJUST -XとJUST -Yに変更しようとしましたが、両方の試みは私の問題を解決できませんでした。
- 私はxhost +のセキュリティの影響を理解しています。これは一時的なテスト目的にすぎませんが、これについてのコメントに感謝します。
- リモートコンピュータにウィンドウが表示されるように、特にDISPLAY変数を設定しました。そうしないと、私は座っているコンピュータに表示されますが、これは望む機能ではありません。
これを行うと、次のエラーが発生します。
xterm: Xt error: can't open display: <remotecomputer>:0.0
私は何を見逃していますか?
編集1:詳細なSSHを試みた結果、認証スプーフィングでX11転送を要求していることがわかりました。
編集2:ssh_configファイルで、X11Forwardingが「yes」に設定されていないことを確認しました。明示的に設定する必要がありますか、デフォルトはyesですか? X11Forwardingに「no」に設定された行がありますが、コメントアウトされているため、直接的な影響はありません。
答え1
実行中の多くのステップは不要です。
あなたに必要なもの
ssh -X <user>@<remotecomputer>
xterm &
または-X
に変更してください-Y
。これを実行するとエラーメッセージが表示された場合はお知らせください。
この接続を実行すると、SSH はリモート システム$DISPLAY
で同様に設定され、localhost:10
ポート 6010 へのトラフィックは SSH 接続を介してローカル システムに戻り、ローカル X サーバーに転送されるようにスケジュールされます。また、ホームディレクトリがコンピュータ間で共有されているかどうかに関係なく、xauthスタイルのアクセスを設定します。
別のステップ。
- ホスト+
これは閉じます。みんな安全。とても悪い考えです。このような恐ろしいアドバイスをしたら、後ろにすでにディスプレイを設定しています。
- setenv DISPLAYリモートコンピュータ:0
この csh スタイルコマンドは、リモートコンピュータのコンソールで通常起動されるディスプレイを設定します。これは存在しない可能性があり、そのディスプレイでどの項目も開く権限がほとんどないはずです。