o gnome-terminal parou de funcionar

8

Meu gnome-terminal 3.16.2-1parou de funcionar após uma atualização do sistema. Estou executando Linux arch 4.1.6-1-ARCH #1 SMP PREEMPT Mon Aug 17 08:52:28 CEST 2015 x86_64 GNU/Linux.

Ao iniciá-lo, recebo

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

Pesquisando no Google, o problema me pediu para redefinir as configurações de localidade. Por isso, abri /etc/locale.gene certifiquei-me de que não en_US.UTF-8 UTF-8fosse comentado.

Eu corri sudo locale-genpara gerar as localidades. Para finalizar, eu também corri localectl set-locale LANG=en_US.UTF-8e reiniciei.

Quando o problema surgiu, recebi uma mensagem de erro relacionada ao código do idioma. Depois de executar as etapas anteriores, essas mensagens de erro desapareceram, mas gnome-terminalainda não funcionam. A mensagem de erro acima permanece.

Comportamento estranho que posso observar de outra forma:

Meu gerenciador de arquivos Nautilus não inicia pelo atalho da área de trabalho, mas inicia sem problemas no console.

gnome-terminal é iniciado quando executado como root.

locale saídas:

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 saídas

System Locale: LANG=en_US.UTF-8
   VC Keymap: us
  X11 Layout: us,de
kunterbunt
fonte
Não havia ~ / .profile, então eu criei esse arquivo e o coloquei lá. É o único texto no arquivo, certo? Mesmo após a reinicialização, ele não funciona.
precisa saber é o seguinte
Ok, aparentemente o bash procura por arquivos existentes em / etc / profile e depois ~ / .bash_profile, ~ / .bash_login, ~ / .profile nessa ordem até encontrar um existente. Eu tinha um ~ / .bash_profile, então adicionei a configuração de idioma a isso e ao / etc / profile, mas sem sucesso. Obrigado pela sua ajuda.
precisa saber é o seguinte
Saídas anexadas em minha edição.
precisa saber é o seguinte
Desculpe, demorei um pouco para terminar. Não, também não funciona para outro usuário. Mesmo comportamento.
precisa saber é o seguinte
Eu tenho exatamente o mesmo problema, mas não tenho idéia de como resolvê-lo. Vou tentar fazer o downgrade de algumas coisas, para ver se funciona novamente.
aexl

Respostas:

7

Solução :

Execute no terminal (alt + ctrl + F1 se você tiver gnome-terminalinstalado apenas ), mas lembre-se de que não é permanente; portanto, após a reinicialização, você precisará fazer isso novamente:

dbus-update-activation-environment --all

Ou, para resolvê-lo permanentemente (supondo que você tenha o script ausente na sua /etc/X11/xinit/xinitrc.dexplicação para mais detalhes), carregue nos ~/.xinitrcscripts adequados:

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

Observe que isso funcionará apenas se você tiver um script adequado em /etc/X11/xinit/xinitrc.d

Explicação :

No meu caso, estava faltando DISPLAYvariável para os serviços de sessão D-Bus. Devido a isso, eu não poderia começar gnome-terminalnem nautilius.

Estou usando Arch Linuxcom Slime alguns personalizados .xinitrc. Devido a isso, senti falta de carregar coisas adicionais de /etc/X11/xinit/xinitrc.d/. No caso de Arch Linuxexistir um script chamado, 50-systemd-user.shque cuida da configuração de um ambiente adequado para uma sessão D-Bus. No meu caso, fica assim:

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

Meu entendimento é que as variáveis DISPLAYe XAUTHORITYsão importadas para o bloco de ambiente do systemd manager e também para as dbus-daemon --sessionquais essas variáveis ​​são usadas ao ativar os serviços de sessão. Alguns aplicativos (também depende de como são chamados) falham devido à falta dessas variáveis ​​durante o início.

mtfk
fonte
Trabalhou para mim. Eu estava recebendo o código de erro 10 com o gnome-terminal em uma instalação frash do Arch Linux com o gnome.
Marcel
Isso não funcionou para mim no Ubuntu 16.04.
Cerin
usar "systemctl --user import-environment DISPLAY XAUTHORITY" corrige meu terminal gnome quebrado que eu gosto de rodar no Windows no Cygwin (usando o encaminhamento ssh e executando o gnome-terminal na minha caixa Debian). A execução desse comando primeiro corrige o gnome-terminal e ele aparece novamente na máquina do servidor X!
precisa
4

Eu adicionei a seguinte linha ao ~/.profileEle define a variável DBUS_SESSION_BUS_ADDRESS. Isso resolveu o problema para mim.

eval `dbus-launch --sh-syntax`
evpo
fonte
0

Anexe a seguinte linha na parte inferior de ~ / .bashrc e uma reinicialização funcionará para mim

dbus-update-activation-environment --all
trishnendu
fonte
1
Isto não funcionou para mim.
Cerin
0

No meu caso, depois de alterar o localectl, modifiquei meu .vnc/xstartuparquivo comentando esta linha abaixo: -

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

Aqui está como meu arquivo .vnc / xstartup se parece:

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