回答:
これはvino vncサーバーとremminaで実現できます(どちらもデフォルトではubuntuに付属しています。インストールしない場合はを実行してインストールしますsudo apt-get install remmina)。次に、ターミナルプロンプトでローカルコンピューターから次のコマンドを実行します。
ssh -Y gman@remote。信頼できるX11転送を使用します。そうしないと機能しません。
vino-preferences。vino-preferencesが開きます。

をクリックしconfigure network automatically to accept connectionます。ただし、base64でエンコードされたパスワードは入力しないでください。次に、閉じるをクリックします。次に実行します:
sudo -s
export DISPLAY=:0.0
xhost +
/usr/lib/vino/vino-server &
vinoサーバーが起動します。
サーバーからログアウト:
xhost -
Press CTRL+C twice
exit
exit
次に、remminaを開きます。vncプロトコルの下で選択します。
basicタブの下のserverフィールドにサーバーアドレスを入力します。
sshタブでをクリックしますenable ssh tunnel。以下の下でssh authentication、それは可能性がありpasswordかpublic key:

保存をクリックします。次に、connection-name(図に示すようにhome-desktop)をダブルクリックして、リモートデスクトップの参照を開始します。
x11vncはシンプルなVNCサーバーであり、Gnome設定や500のファイアウォールをいじる必要はありません。x11vncすべてのコンピューターにインストールするだけです(パペットまたはマスコントロールに使用しているものは何でも)。
次に、ローカルコンピューターから次を実行します。
ssh user@host -L 5900:localhost:5900 "x11vnc -display :0 -noxdamage"
明らかuser@hostに、リモートコンピュータのユーザー名とホスト名/ IPを交換します。
次に、選択したVNCクライアントを使用してに接続しlocalhost:5900ます。SSHコマンドは、リモートコンピューターでvncサーバーを起動し、SSHを介してそのポートをトンネリングします。ポートを開く必要はありません(既にSSHできる場合)。
コンピューターの表示設定がおかしい場合-display :0は、SSHコマンドでセグメントをオフにした方がよい場合があります。x11vnc自動的に正しいディスプレイを見つけようとします。
ソース:askubuntu
vncviewer localhost::5900 -viewonly -encodings "tight" -quality 0vncviewer を使用している場合、コマンドは(Debian / Ubuntuではビューアーはtightvncから)またはvncviewer localhost::5900 -viewonly -PreferredEncoding tight QualityLevel=0(Red Hat / Fedoraではビューアーはtigervncから)次のようになります。DebianとRedhatの両方の品質レベルは0から9の間で、9が最適ですが、高速接続が必要です。
vncviewer低速接続での使用方法を説明してくれてありがとう。私は個人的には、おそらく(私が思うに)私にとってはあまりにも退屈なQualityLevel=4 or 5ので設定します。0 qualitylevel256 colors
-auth guessrootとして使用して実行する必要がありました。とても助かります、ありがとう!
OpenSSH Serverホストマシンで既にセットアップを行っていると仮定すると、まずホストマシンでデスクトップ制御を有効にする必要があります。最初にローカルでホストマシンのデスクトップコントロールを有効にできる場合は、1aに進みます。最初にホストマシンでデスクトップコントロールをリモートで有効にする必要がある場合は、1bに進んでください。
次に、SSHトンネルを介してホストマシンに接続し、最終的にSSHトンネルを介してホストマシンのデスクトップを表示および制御するために、クライアントマシンでリモートデスクトップクライアントプロファイルを作成します。
ホストマシンで次の手順を実行します。
vino-preferences
vino-preferences 下のダッシュでも Desktop Sharing
Allow other users to view your desktopAllow other users to control your desktopRequire the user to enter this passwordクライアントマシンで次の操作を123.123.12.3行い、ホストマシンのIPアドレスに置き換えます。
ssh -Y 123.123.12.3
vino-preferences
vino-preferences 下のダッシュでも Desktop Sharing
Allow other users to view your desktopAllow other users to control your desktopRequire the user to enter this passwordクライアントマシンで次の手順を実行します。
remmina
Remmina Remote Desktop ClientCtrl+ Nまたは接続>新規

ServerSSHタブに切り替える
Enable SSH TunnelSSH Authentication <username>とモードを設定するクライアントマシンで、<username>パスワードの入力を求められたら、パスワードを入力してSSHトンネルを作成します。VNCパスワードの入力を求められたら、以前にホストマシンに入力したパスフレーズを入力します。
このステップで成功すると、クライアントマシンからSSHトンネルを介してホストマシンのデスクトップを表示および制御できるようになります。
次のスクリプトを使用して、リモートssh接続からUbuntu 16.04の新規インストールを設定できました。
#!/ bin / bash DISPLAY =:0をエクスポート 読み取り-e -p "VNCパスワード:" -i "ubuntu"パスワード dconf write / org / gnome / desktop / remote-access / enabled true dconf write / org / gnome / desktop / remote-access / prompt-enabled false dconf write / org / gnome / desktop / remote-access / authentication-methods "['vnc']" dconf write / org / gnome / desktop / remote-access / require-encryption false dconf write / org / gnome / desktop / remote-access / vnc-password \ "\ '$(echo -n $ password | base64)\' \" dconf dump / org / gnome / desktop / remote-access / sudoサービスlightdm restart
引用符は、文字列設定(引用符内の単一ティック)にとって重要です。dconfを記述できるようにするには、XWindowsにアクセスする必要があるため、エクスポートDISPLAYパーツが必要です。この後、VNCに接続するには、実際のUbuntuマシンのデスクトップにまだログインする必要があると思います。dumpコマンドは、すべての設定が保持されていることを確認するためだけにあり、実際には必要ありません。
必要に応じて、常に表示を維持したい場合にこれを行うことができます。
dconf write / org / gnome / desktop / screensaver / lock-enabled false dconf write / org / gnome / desktop / screensaver / ubuntu-lock-on-suspend false dconf write / org / gnome / desktop / session / idle-delay "uint32 0"
Xを転送せずにリモートでVinoサーバーを起動する方法(コマンドラインのみ)
デスクトップを共有するユーザーとしてリモートコンピューターにログオンし、ポート5900をlocalhostの同じポートに転送します。PuTTYでは、リダイレクトはConnection / SSH / Tunnelsで設定されます。コマンドラインでは、次を使用します。
ssh -L 5900:localhost:5900 user@remote-computer
vino-serverまだインストールされていない場合はインストールします。例えば:
sudo apt install vino
デスクトップ共有を有効にします(1行目と2行目のディスプレイ番号を一致させます):
echo $DISPLAY
export DISPLAY=:0
dbus-launch --exit-with-session gsettings set org.gnome.Vino enabled true
dbus-launch --exit-with-session gsettings set org.gnome.Vino prompt-enabled false
dbus-launch --exit-with-session gsettings set org.gnome.Vino require-encryption false
/usr/lib/vino/vino-server
VNCビューアを起動localhostし、VNCサーバーアドレスに接続します。
No protocol specified Failed to connect to Mir: Failed to connect to server socket: No such file or directory Unable to init server: Could not connect: Connection refused Cannot open display: Run 'vino-server --help' to see a full list of available command line options
@Khurshid Alamの回答に基づいて、私は次のスニペットを提示します:
ssh $TARGETHOST -L 5900:localhost:5900 "x11vnc -localhost -display :0 -noxdamage" &; sleep 10 && vinagre localhost
これは、相互作用を必要としない1つのコマンドです
ポート転送でSSHトンネルを作成x11vncし、合理的に安全な方法で開始し、VNCビューアーを起動して接続します
ターゲットホストでx11vncが必要ですが、それ以上の構成は不要です