web-dev-qa-db-ja.com

gnome-terminalが起動しない(タイムアウト)

Ubuntu 16.04から18.04にアップグレードしました。私のワークフローは、VcXsrvを使用してWindowsからUbuntuに接続し(Xトンネリングを使用したSSH)、Ubuntuでxtermを開始することです。 xterm内でgnome-terminalを取得するためにgnome-terminalと入力しています。

アップグレード以来、これはもう機能していません。私は得ています

$ gnome-terminal
#アクセシビリティバスに登録できませんでした:応答を受信しませんでした。考えられる原因には、リモートアプリケーションが応答を送信しなかった、メッセージバスのセキュリティポリシーが応答をブロックした、応答タイムアウトの期限が切れた、ネットワーク接続が切断された、などがあります。
#org.gnome.Terminal:/ org/gnome/Terminal/Factory0のプロキシの構築中にエラーが発生しました:org.gnome.TerminalのStartServiceByNameのプロキシ:

または英語ロケールで開始する場合

$ LANG = en_US.utf8 gnome-terminal
#アクセシビリティバスに登録できませんでした:応答を受信しませんでした。考えられる原因には、リモートアプリケーションが応答を送信しなかった、メッセージバスのセキュリティポリシーが応答をブロックした、応答タイムアウトの期限が切れた、ネットワーク接続が切断された、などがあります。
#org.gnome.Terminal:/ org/gnome/Terminal/Factory0のプロキシ構築エラー:org.gnome.TerminalのStartServiceByNameの呼び出しエラー:タイムアウトに達しました

常に最初の行を取得しているわけではありませんが、常にタイムアウトエラーを取得しています。

私が見つけた問題をさらに掘り下げる

  • Sudo gnome-terminalは機能します
  • gnome-terminalは、PCにローカルでログインしているときにxtermで実行すると機能します
  • pCにもローカルでログインしている場合、リモートセッションのxtermのgnome-terminalは、PCのローカルセッションでgnome-terminalを開きます(アクセシビリティバスへの登録に関する最初のエラー行が引き続き表示されます)
  • rdp(Windowsネットワーク接続)でもログインしている場合、sshセッションのgnome-terminalは、xrdpセッションでgnome-terminalを開きます
  • rDP(Windowsネットワーク接続)を介してログインし、そこでログオフすると、gnome-terminalはgnome-terminalを開くことができます

リモートセッションのxtermでgnome-terminalを機能させるにはどうすればよいですか?

3
Werner Henze

同一の問題、解決策が見つかりました。

最初のターミナルでテストするときに2番目のターミナルで「tail -f/var/log/syslog」を実行すると、「Sudo bash」の後にgnome-terminalを起動すると次のようになります。

Mar 23 10:11:59 X399-DESIGNARE-EX dbus-daemon[2584]: [session uid=0 pid=2582] Activating service name='org.gnome.Terminal' requested by ':1.6' (uid=0 pid=2929 comm="/usr/bin/gnome-terminal.real " label="unconfined")
Mar 23 10:11:59 X399-DESIGNARE-EX gnome-terminal-[2934]: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-GAXcx1c8OL: Connection refused
Mar 23 10:11:59 X399-DESIGNARE-EX dbus-daemon[2584]: [session uid=0 pid=2582] Successfully activated service 'org.gnome.Terminal'
Mar 23 10:11:59 X399-DESIGNARE-EX gnome-terminal-[2934]: The owner of /home/<user>/.config/ibus/bus is not root!

自分でgnome-terminalを実行すると、次のようになります。

Mar 23 10:16:30 X399-DESIGNARE-EX dbus-daemon[2564]: [session uid=1000 pid=2564] Activating via systemd: service name='org.gnome.Terminal' unit='gnome-terminal-server.service' requested by ':1.4' (uid=1000 pid=2959 comm="/usr/bin/gnome-terminal.real " label="unconfined")
Mar 23 10:16:30 X399-DESIGNARE-EX systemd[2435]: Starting GNOME Terminal Server...
Mar 23 10:16:30 X399-DESIGNARE-EX systemd[2435]: gnome-terminal-server.service: Main process exited, code=exited, status=10/n/a
Mar 23 10:16:30 X399-DESIGNARE-EX gnome-terminal-server[2962]: Unable to init server: Could not connect: Connection refused
Mar 23 10:16:30 X399-DESIGNARE-EX gnome-terminal-server[2962]: Failed to parse arguments: Cannot open display:
Mar 23 10:16:30 X399-DESIGNARE-EX systemd[2435]: gnome-terminal-server.service: Failed with result 'exit-code'.
Mar 23 10:16:30 X399-DESIGNARE-EX systemd[2435]: Failed to start GNOME Terminal Server.

...多くの掘り下げの後、私はようやく gnome-terminal not starting を見つけました。これは、サービスが非ルートから要求されたときにdbusが環境を更新しないという問題があることを示しています。次の手順で問題を回避します。

  1. ホームフォルダにスクリプトを作成します。例:

vim ~/term

  1. 以下をスクリプトに追加して保存します。

#!/usr/bin/env bash dbus-update-activation-environment --systemd --all gnome-terminal &

  1. スクリプトを実行可能にする

chmod 755 ~/term

  1. '〜/ term'を実行して、(ルートではなく)ユーザーとしてgnome-terminalを起動すると、正しく起動するはずです。

モデレーターへの注意:

問題の詳細を提供する回答は削除しないでください。削除したのは投稿ガイドラインの違反ではなく、ソリューションを追跡しようとする人に実質的な追加情報を提供しました。この回答はその追加情報を提供していません。私はそれを回復するために努力することに消極的です。

この答えは問題を解決します。

削除しないでください!

9