gnome-terminal dejó de funcionar


8

Mi gnome-terminal 3.16.2-1dejó de funcionar después de una actualización del sistema. Estoy funcionando Linux arch 4.1.6-1-ARCH #1 SMP PREEMPT Mon Aug 17 08:52:28 CEST 2015 x86_64 GNU/Linux.

Al lanzarlo recibo

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

Buscar en Google el problema me dijo que restableciera la configuración regional. Para eso abrí /etc/locale.geny me aseguré de que no en_US.UTF-8 UTF-8se comentara.

Luego corrí sudo locale-genpara generar los locales. Para colmo, también corrí localectl set-locale LANG=en_US.UTF-8y reinicié.

Cuando surgió el problema por primera vez, recibí un mensaje de error que tenía que ver con la configuración regional. Después de realizar los pasos anteriores, esos mensajes de error desaparecieron, pero gnome-terminalaún no funciona. El mensaje de error anterior permanece.

Comportamiento extraño que de lo contrario puedo observar:

Mi administrador de archivos Nautilus no se iniciará desde el acceso directo del escritorio, pero se iniciará sin problemas desde la consola.

gnome-terminal se inicia cuando se ejecuta como root.

locale salidas:

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 salidas

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

No había ~ / .profile, así que creé ese archivo y lo puse allí. Es el único texto en el archivo, ¿es así? Incluso después de reiniciar no funciona.
kunterbunt

De acuerdo, aparentemente bash busca los archivos existentes en / etc / profile y luego ~ / .bash_profile, ~ / .bash_login, ~ / .profile en ese orden hasta que encuentre uno existente. Tenía un ~ / .bash_profile, así que agregué la configuración de idioma y / etc / profile, pero fue en vano. Gracias por tu ayuda sin embargo.
kunterbunt

Resultados agregados en mi edición.
kunterbunt

Lo siento, esto me llevó un tiempo terminar. No, tampoco funciona para otro usuario. Mismo comportamiento.
kunterbunt

Tengo exactamente el mismo problema, pero no tengo idea de cómo resolverlo. Intentaré degradar algunas cosas, para ver si funciona nuevamente.
aexl

Respuestas:


7

Solución :

Ejecute en la terminal (alt + ctrl + F1 si solo ha gnome-terminalinstalado), pero recuerde que no es permanente, por lo que después de reiniciar deberá volver a hacerlo:

dbus-update-activation-environment --all

O para resolverlo permanentemente (suponiendo que le faltan secuencias de comandos en su /etc/X11/xinit/xinitrc.dexplicación para más detalles) cargue ~/.xinitrclas secuencias de comandos adecuadas:

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

Tenga en cuenta que esto solo funcionará si tendrá un script adecuado en /etc/X11/xinit/xinitrc.d

Explicación :

En mi caso, el problema faltaba DISPLAYvariable para los servicios de sesión D-Bus. Debido a eso, no pude comenzar gnome-terminalni nautilius.

Estoy utilizando Arch Linuxcon Slimy algunos modificado para requisitos particulares .xinitrc. Debido a eso, extrañé cargar cosas adicionales de /etc/X11/xinit/xinitrc.d/. En caso de que Arch Linuxhaya un script llamado 50-systemd-user.shque se encarga de configurar un entorno adecuado para una sesión de D-Bus. En mi caso se ve así:

#!/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

Según tengo entendido, las variables DISPLAYy XAUTHORITYse importan en el bloque de entorno del administrador de systemd y también a las dbus-daemon --sessionque se usan esas variables al activar los servicios de sesión. Algunas aplicaciones (también depende de cómo se llamen) fallan debido a la falta de esas variables durante el inicio.


Trabajó para mi. Estaba recibiendo el código de error 10 con gnome-terminal en una instalación rápida de Arch Linux con gnome.
Marcel

Esto no funcionó para mí en Ubuntu 16.04.
Cerin

El uso de "systemctl --user import-environment DISPLAY XAUTHORITY" corrige mi terminal gnome rota que me gusta ejecutar en Windows bajo Cygwin (usando el reenvío ssh y ejecutando gnome-terminal desde mi caja Debian). ¡Ejecutar ese comando primero corrige gnome-terminal y aparece nuevamente en la máquina del servidor X!
Profesor Falken

4

~/.profileAgregué la siguiente línea a Establece la variable DBUS_SESSION_BUS_ADDRESS. Resolvió el problema para mí.

eval `dbus-launch --sh-syntax`

0

Agregue la siguiente línea en la parte inferior de ~ / .bashrc y un reinicio me funciona

dbus-update-activation-environment --all

1
Esto no funcionó para mí.
Cerin

0

En mi caso, después de cambiar localectl, modifiqué mi .vnc/xstartuparchivo comentando esta línea a continuación:

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

Así es como se ve mi .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 &
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.