перестал работать гном-терминал

8

Мой 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 запускается при запуске от имени пользователя root.

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
kunterbunt
источник
Не было ~ / .profile, поэтому я создал этот файл и поместил его туда. Это единственный текст в файле, верно? Даже после перезагрузки не работает.
kunterbunt
Хорошо, очевидно bash ищет существующие файлы в / etc / profile, а затем ~ / .bash_profile, ~ / .bash_login, ~ / .profile в этом порядке, пока не найдет существующий. У меня был ~ / .bash_profile, поэтому я добавил языковые настройки, а также / etc / profile, но безрезультатно. Спасибо за вашу помощь, хотя.
Kunterbunt
Добавлены выводы в моём редактировании.
kunterbunt
Извините, это заняло у меня некоторое время, чтобы закончить. Нет, это не работает для другого пользователя. Такое же поведение
kunterbunt
У меня точно такая же проблема, но я не знаю, как ее решить. Я постараюсь понизить некоторые вещи, чтобы увидеть, работает ли это снова.
aexl

Ответы:

7

Решение :

Запустите в терминале (alt + ctrl + F1, если вы только gnome-terminalустановили), но помните, что он не является постоянным, поэтому после перезагрузки вам нужно будет сделать это снова:

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

Пояснение :

В моем случае проблема отсутствовала DISPLAYпеременная для услуг сеанса D-Bus. Из-за этого я не смог gnome-terminalни начать nautilius.

Я использую Arch Linuxс Slimнекоторыми настроенными .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которые используют эти переменные при активации сеанса услуги. Некоторые приложения (это также зависит от того, как они называются) не работают из-за отсутствия этих переменных во время запуска.

mtfk
источник
Работал на меня. Я получал код ошибки 10 с помощью gnome-терминала при установке Arch Linux с помощью gnome.
Марсель
Это не сработало для меня в Ubuntu 16.04.
17
использование «systemctl --user import-environment DISPLAY XAUTHORITY» исправляет мой сломанный gnome-терминал, который мне нравится запускать в Windows под Cygwin (используя пересылку ssh и запуск gnome-терминала из моего окна Debian). Выполнение этой команды сначала исправляет gnome-терминал, и он снова появляется на компьютере с X-сервером!
Профессор Фалькен
4

Я добавил следующую строку в ~/.profileОн устанавливает переменную DBUS_SESSION_BUS_ADDRESS. Это решило проблему для меня.

eval `dbus-launch --sh-syntax`
EVPO
источник
0

Добавьте следующую строку внизу ~ / .bashrc, и у меня работает перезагрузка

dbus-update-activation-environment --all
trishnendu
источник
1
Это не сработало для меня.
17
0

В моем случае, после изменения 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 &
Taani
источник