SSHを使用してアクセスするヘッドレスVM(Ubuntuサーバー17.04を実行))があります。X11転送の基本に慣れており、xtermや友人を問題なく転送できます。XFCEターミナルまた、OKを転送します。
Gnomeターミナルを使用できるようにしたいのですが、起動しないようです。代わりに、しばらくハングし、最終的に次のエラーが発生します。
Error constructing proxy for org.gnome.Terminal:/org/gnome/Terminal/Factory0: Error calling StartServiceByName for org.gnome.Terminal: Timeout was reached
興味深いことに、ローカルデスクトップセッションをVM(startx経由で起動)で実行している場合、gnome-terminalはX11を介してリモートで動作します。
実行する必要があるある種のGnomeサービスがあると思いますが、それが何であるか、または完全なデスクトップセッションのコンテキスト外でそれを開始する方法を理解できません。 VMはデフォルトでヘッドレスであるため、通常は起動しません。
VMでローカルにGUIデスクトップセッションを開始せずに、Gnomeターミナルをリモートで動作させるために何ができるかについて誰かが洞察を得ましたか?
_gnome-terminal
_(他の _gnome-thing
_ と同様)はdbusに接続しようとし、長い間応答を受信しなかった後失敗するため、これは機能しません。
最も簡単な回避策は、セッションのdbusインスタンスを開始することです。
_export $(dbus-launch)
gnome-terminal
_
リモートマシンでWaylandセッションを開始した場合export $(dbus-launch)
を実行すると、再度実行する必要があります。そうでない場合は、_gnome-terminal
_は、転送されたX11インスタンスではなく、リモートディスプレイで_gnome-terminal
_のWaylandインスタンスを開始します。表示。
この場合の別の回避策は、X11 _gnome-terminal-server
_を明示的に実行することです。これは、それを使用する最後のウィンドウが閉じた後に終了します。例:
_#! /bin/bash
ID=foo.bar$RANDOM
GDK_BACKEND=x11 /usr/libexec/gnome-terminal-server --app-id "$ID" &
sleep .4 # yuck
gnome-terminal --app-id "$ID"
wait
_