그놈 터미널이 작동을 멈췄습니다

그놈 터미널이 작동을 멈췄습니다

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여전히 작동하지 않습니다. 위의 오류 메시지가 여전히 존재합니다.

내가 관찰할 수 있는 이상한 행동:

내 노틸러스 파일 관리자가 바탕 화면 바로 가기에서 실행되지 않지만 문제 없이 콘솔에서 실행됩니다.

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

답변1

해결책:

터미널에서 실행하세요( 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

설명하다:

제 경우에는 DISPLAYD-Bus 세션 서비스에 대한 변수가 누락되는 문제가 있었습니다. 따라서 부팅할 수 없고 gnome-terminal부팅할 수 없습니다 nautilius.

일부 사용자 정의가 포함된 Arch Linux위젯을 사용하고 있습니다 . 따라서 . 호출 스크립트가 있는 경우 D-Bus 세션에 적합한 환경을 설정하는 역할을 담당합니다. 내 경우에는 다음과 같습니다.Slim.xinitrc/etc/X11/xinit/xinitrc.d/Arch Linux50-systemd-user.sh

#!/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이러한 변수는 세션 서비스를 활성화할 때도 사용된다는 것입니다. 일부 응용 프로그램(호출 방법에 따라 다름)은 시작 중에 이러한 변수가 누락되어 실패합니다.

답변2

~/.profileIt set DBUS_SESSION_BUS_ADDRESS 변수 에 다음 줄을 추가했습니다 . 그것은 나를 위해 문제를 해결했습니다.

eval `dbus-launch --sh-syntax`

답변3

~/.bashrc 하단에 다음 줄을 추가하고 다시 시작하면 효과가 있었습니다.

dbus-update-activation-environment --all

답변4

내 경우에는 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 &

관련 정보