web-dev-qa-db-ja.com

gnome-terminalが機能しなくなった

ぼくの gnome-terminal 3.16.2-1システムの更新後、動作を停止しました。 Linux Arch 4.1.6-1-Arch #1 SMP PREEMPT Mon Aug 17 08:52:28 CEST 2015 x86_64 GNU/Linux

それを起動するとき、私は受け取ります

Error constructing proxy for     org.gnome.Terminal:/org/gnome/Terminal/Factory0: Error calling StartServiceByName for org.gnome.Terminal: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.gnome.Terminal exited with status 8

問題をグーグルすると、ロケール設定を再設定するように言われました。そのために私は/etc/locale.genと確認しましたen_US.UTF-8 UTF-8はコメント解除されました。

その後、Sudo locale-genロケールを生成します。物事を締めくくるために私も走ったlocalectl set-locale LANG=en_US.UTF-8と再起動しました。

問題が最初に発生したとき、ロケールに関するエラーメッセージを受け取りました。前の手順を実行した後、これらのエラーメッセージは消えましたが、gnome-terminalはまだ機能しません。上記のエラーメッセージは残ります。

そうでなければ観察できる奇妙な行動:

Nautilusファイルマネージャはデスクトップショートカットから起動しませんが、コンソールから問題なく起動します。

gnome-terminal 起動します ルートとして実行した場合。

locale出力:

LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=de_DE.UTF-8
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

localectl出力

System Locale: LANG=en_US.UTF-8
   VC Keymap: us
  X11 Layout: us,de
8
kunterbunt

ソリューション

ターミナルで実行します(gnome-terminalのみがインストールされている場合はalt + ctrl + F1)。ただし、永続的ではないため、再起動後にもう一度実行する必要があります。

dbus-update-activation-environment --all

または、恒久的に解決するには(/etc/X11/xinit/xinitrc.dにスクリプトがない場合は、詳細については説明を参照してください)、適切な~/.xinitrcスクリプトをロードします。

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
  for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
    [ -x "$f" ] && . "$f"
  done
  unset f
fi

これは、/etc/X11/xinit/xinitrc.dに適切なスクリプトがある場合にのみ機能することに注意してください。

説明

私の場合、問題はD-BusセッションサービスのDISPLAY変数がありませんでした。そのため、gnome-terminalnautiliusも起動できませんでした。

Arch LinuxSlimおよびいくつかのカスタマイズされた.xinitrcとともに使用しています。そのため、/etc/X11/xinit/xinitrc.d/から追加のものを読み込めませんでした。 Arch Linuxの場合、50-systemd-user.shというスクリプトがあり、D-Busセッションに適切な環境をセットアップします。私の場合は次のようになります:

#!/bin/sh

systemctl --user import-environment DISPLAY XAUTHORITY

if which dbus-update-activation-environment >/dev/null 2>&1; then
    dbus-update-activation-environment DISPLAY XAUTHORITY
fi

私の理解では、DISPLAYおよびXAUTHORITY変数はsystemdマネージャー環境ブロックにインポートされ、dbus-daemon --sessionにもインポートされます。これらはこれらの変数を使用してセッションサービスをアクティブ化します。一部のアプリケーション(アプリケーションの呼び出し方法にも依存します)は、起動時にこれらの変数がないために失敗します。

7
mtfk

~/.profileに次の行を追加しました。DBUS_SESSION_BUS_ADDRESS変数を設定します。それは私のために問題を解決しました。

eval `dbus-launch --sh-syntax`
4
evpo

〜/ .bashrcの下部に次の行を追加すると、再起動が機能します

dbus-update-activation-environment --all
0
trishnendu

私の場合、localectlを変更した後、.vnc/xstartupファイルの下にあるこの行をコメント化してください。

gnome-session --session=gnome-flashback-metacity --disable-acceleration-check --debug &

.vnc/xstartupは次のようになります。

#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &
export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="GNOME-Flashback:Unity"
export XDG_MENU_PREFIX="gnome-flashback-"
unset DBUS_SESSION_BUS_ADDRESS

#gnome-session --session=gnome-flashback-metacity --disable-acceleration-check --debug &
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
0
Taani