Gnome 프로그램(eog/gnome-terminal)이 느리게 시작되고 DBus.Error.NoReply 경고가 생성됩니다.

Gnome 프로그램(eog/gnome-terminal)이 느리게 시작되고 DBus.Error.NoReply 경고가 생성됩니다.

한동안 내 (X)Ubuntu 13.10이 매우 느리게 eog부팅되었습니다 . gnome-terminal다른 Gnome 도구도 영향을 받는 것 같지만 다른 도구는 사용하지 않습니다.

이제 시작할 org.freedesktop.DBus.Error.NoReply때마다 오류가 발생합니다 gnome-terminal.

**(gnome-terminal:5516): 경고**: 보조 버스 주소 검색 중 오류 발생: org.freedesktop.DBus.Error.NoReply: 응답을 받지 못했습니다. 가능한 이유는 다음과 같습니다: 원격 애플리케이션이 응답을 보내지 않았거나, 메시지 버스 보안 정책으로 인해 응답이 차단되었거나, 응답 시간이 초과되었거나, 네트워크 연결이 중단되었습니다.

eog그리고 시작할 때마다 :

**(eog:4996): 경고**: 보조 버스 주소 검색 중 오류: org.freedesktop.DBus.Error.NoReply: 응답을 받지 못했습니다. 가능한 이유는 다음과 같습니다: 원격 애플리케이션이 응답을 보내지 않았거나, 메시지 버스 보안 정책으로 인해 응답이 차단되었거나, 응답 시간이 초과되었거나, 네트워크 연결이 중단되었습니다.

(eog:4996): EOG 경고**: 아이콘을 로드할 수 없습니다. 아이콘 '이미지 로드'가 테마에 존재하지 않습니다.

at-spi2-registryd내 생각에는 이것이 기본적으로 시작되는 일부 프로그램을 삭제하는 것과 관련이 있는 것 같습니다.그놈 접근성 프로젝트.

dpkg --getselections | grep spi에 따르면 at-spi2-core여전히 내 시스템에 설치되어 있습니다.

데몬이 시작되는 것을 방지하기 위해 일부 구성 파일이나 바이너리를 빈 에코 프로그램으로 바꾸는 것과 같은 매우 해킹적이고 어리석은 일을 했던 것을 기억합니다.

  • 이 오류를 어떻게 해결할 수 있나요?
  • 이 오류의 원인은 무엇입니까?

Google은 몇 가지 at-spi...관련 링크를 생성했습니다.

freedesktop이는 제가 겪고 있는 관련 문제와 관련이 있을 수 있으므로 nmcli다음을 살펴보세요.nmcli freedesktop DBus 경고 및 오류.


ltrace -r eog:

0.000000 __libc_start_main(0x41e210, 2, 0x7fff41235b18, 0x45c020, 0x45c0b0 <unfinished ...>
0.000734 bindtextdomain("eog", "/usr/share/locale") = "/usr/share/locale"
0.001297 bind_textdomain_codeset(0x463fff, 0x45c0f6, 1, 0, 65535) = 0x1d59750
0.000863 textdomain("eog")                     = "eog"
0.000759 dcgettext(0, 0x45c0fc, 5, 0x676f65, 65535) = 0x45c0fc
0.000718 g_option_context_new(0x45c0fc, 1, 2, 3, 0) = 0x1d598e0
0.000711 g_option_context_add_main_entries(0x1d598e0, 0x45c300, 0x463fff, 0x1d59940, 88) = 0
0.000668 gtk_get_option_group(1, 0x7f161670f2e0, 0x1d59960, 0x7f161670bec0, 0) = 0x1d5ccd0
0.003283 g_option_context_add_group(0x1d598e0, 0x1d5ccd0, 0x1d5cf60, 0x7f161670bec0, 3) = 0x1d5d000
0.000711 g_irepository_get_option_group(0, 0, 0x1d5d000, 0x1d50670, 0) = 0x1d5cf80
0.000845 g_option_context_add_group(0x1d598e0, 0x1d5cf80, 0x1d5d830, 3, 3) = 0x1d5d000
0.000613 g_option_context_parse(0x1d598e0, 0x7fff41235a0c, 0x7fff41235a00, 0x7fff41235a18, 0
** (eog:2797): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
) = 1
25.069454 g_option_context_free(0x1d598e0, 0x7fff41235b18, 0x7fff41235b20, 0x7fff412373c4, 2) = 0
0.000330 xmp_init(0x7f1616281740, 0xffffffff, 0, 0x7f1616281768, 0) = 1
0.001356 g_getenv(0x45c905, 0x1dbb610, 0x1dbb5c0, 1, 3) = 0

[...]

0.000509 g_object_ref(0x204f240, 3, 1, 51, 0x7f16080008e0) = 0x204f240
0.000681 g_queue_push_tail(0x1d5d780, 0x204f240, 2, 51, 0x204d270) = 0x1ff5ce0
0.000793 g_cond_broadcast(0x67b7d0, 0x1ff5ce0, 0, 16, 0) = 0
0.000797 g_mutex_unlock(0x67b7c0, 132, 1, -1, 0x7f16080008e0) = 0
0.000716 g_object_unref(0x204f240, 0, 0x7f16080008e0, -1, 0x7f16080008e0) = 2

(eog:2797): EOG-WARNING **: Couldn't load icon: Icon 'image-loading' not present in theme
0.048019 gtk_icon_view_get_type(0x1fb23b0, 0x450510, 0x1fb23b0, 0x7f1616703450, 0x1d50a60) = 0x2015420
0.000800 g_type_check_instance_cast(0x1fb23b0, 0x2015420, 0x1fb23b0, 0x7f1616703450, 0x1d50a60) = 0x1fb23b0
0.000743 gtk_icon_view_get_visible_range(0x1fb23b0, 0x7fff41235820, 0x7fff41235828, 0x2015420, 0x2015420) = 0
0.000588 gtk_icon_view_get_type(0x1fb23b0, 0x450510, 0x1fb23b0, 0x7f1616703450, 0x1d50a60) = 0x2015420

[...]

ltrace -r gnome-terminal:

[...]

0.000543 g_str_hash(0x7f1ba08d1617, 0x7f1ba08d1617, 0x21cd180, 0, 0x219d050) = 0x6e8257f7
0.000714 g_str_hash(0x7f1ba08d194c, 0x7f1ba08d194c, 0, 0x7f1ba08d194c, 0) = 0x24119b48
0.000490 g_str_hash(0x7f1ba08d194c, 0x7f1ba08d194c, 0x21bcaa0, 0, 0x219d050) = 0x24119b48
0.000655 g_str_hash(0x7f1ba12f72c7, 0x7f1ba12f72c7, 0, 0x7f1ba12f72c7, 40) = 0xac0d625f
0.000596 g_str_hash(0x7f1ba12f72c7, 0x7f1ba12f72c7, 0x21bcc20, 0, 0x219d050) = 0xac0d625f

[...]

** (gnome-terminal:5758): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
25.036838 g_str_hash(0x7f1ba0b4452a, 0x7f1ba0b4452a, 0, 0x7f1ba0b4452a, 508) = 0xa59bb851
0.000696 g_str_hash(0x21b18bc, 0x21b18bc, 0x21d7080, 0, 509) = 0xa59bb851
0.000501 g_str_hash(0x7f1ba13cf396, 0x7f1ba13cf396, 0, 0x7f1ba13cf396, 24) = 0x22c79e89
0.000550 g_str_hash(0x7f1ba13cf396, 0x7f1ba13cf396, 0x21d7150, 0, 0x219d050) = 0x22c79e89
0.003683 g_str_hash(0x7f1ba0dc076b, 0x7f1ba0dc076b, 0, 0x7f1ba0dc076b, 384) = 0xa4fa89ab

strace -r eog:

[...]
0.000268 poll([{fd=3, events=POLLIN}], 1, 25000) = 1 ([{fd=3, revents=POLLIN}])
0.000723 recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"l\2\1\1\v\0\0\0\1\0\0\0=\0\0\0\6\1s\0\6\0\0\0:1.307\0\0"..., 2048}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 262
0.000351 recvmsg(3, 0x7ffff251a080, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
0.000339 sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"l\1\0\1\0\0\0\0\2\0\0\0[\0\0\0\1\1o\0\r\0\0\0/org/a11"..., 112}, {"", 0}], msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 112
0.000354 poll([{fd=3, events=POLLIN}], 1, 25000) = 0 (Timeout)
25.025550 open("/usr/lib/x86_64-linux-gnu/charset.alias", O_RDONLY) = -1 ENOENT (No such file or directory)
0.000410 write(2, "\n** (eog:2786): WARNING **: Erro"..., 319
** (eog:2786): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
) = 319
0.000660 socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC, 0) = 4
0.000305 connect(4, {sa_family=AF_LOCAL, sun_path=@"/tmp/.X11-unix/X0"}, 20) = 0
0.000243 getpeername(4, {sa_family=AF_LOCAL, sun_path=@"/tmp/.X11-unix/X0"}, [20]) = 0

[...]

0.000054 poll([{fd=4, events=POLLIN}], 1, 4294967295) = 1 ([{fd=4, revents=POLLIN}])
0.000029 recvfrom(4, "\1\0\213\0\0\0\0\0\240\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
0.000027 recvfrom(4, 0x1709c34, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
0.000026 recvfrom(4, 0x1709c34, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
0.000027 poll([{fd=4, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=4, revents=POLLOUT}])

(eog:2786): EOG-WARNING **: Couldn't load icon: Icon 'image-loading' not present in theme
) = 16
0.000056 poll([{fd=4, events=POLLIN}], 1, 4294967295) = 1 ([{fd=4, revents=POLLIN}])
0.000029 recvfrom(4, "\1\0\214\0\0\0\0\0\241\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
0.000028 recvfrom(4, 0x1709c34, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
0.000026 recvfrom(4, 0x1709c34, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
0.000032 poll([{fd=4, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=4, revents=POLLOUT}])

strace -r gnome-terminal:

[...]

0.000406 recvmsg(3, 0x7fffb9bbc6e0, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
0.000434 sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"l\1\0\1\0\0\0\0\2\0\0\0[\0\0\0\1\1o\0\r\0\0\0/org/a11"..., 112}, {"", 0}], msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 112
0.000328 poll([{fd=3, events=POLLIN}], 1, 25000) = 0 (Timeout)
25.006307 open("/usr/lib/x86_64-linux-gnu/charset.alias", O_RDONLY) = -1 ENOENT (No such file or directory)
0.000486 write(2, "\n** (gnome-terminal:5885): WARNI"..., 330
** (gnome-terminal:5885): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
) = 330
0.000519 socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC, 0) = 4
0.000118 connect(4, {sa_family=AF_LOCAL, sun_path=@"/tmp/.X11-unix/X0"}, 20) = 0
0.000125 getpeername(4, {sa_family=AF_LOCAL, sun_path=@"/tmp/.X11-unix/X0"}, [20]) = 0

[...]

답변1

안타깝게도 이는 해결책은 아니지만 이 정보가 도움이 될 수 있습니다.

제 생각에는 귀하의 문제는 잘못 구성된 at-spi 인스턴스 소켓 에 연결을 시도하고 있다는 것 gnome-terminal입니다 .eogD-bus

D-버스의 일반적인 작동 원리:

시작하다

컴퓨터에는 시스템당, 사용자당 하나씩, 2개의 임시 D-bus 인스턴스가 실행되고 있으며 특수한 접근성 관련 인스턴스( at-spi에 의해 시작됨 )가 있습니다 at-spi-bus-launcher.

각 시스템 인스턴스는 Mint에서 사용되는 것과 같은 init 스크립트에 의해 시작됩니다 /etc/init/dbus.

Xsession이 시작되면 사용자별 인스턴스가 실행됩니다 /etc/X11/Xsession.d/75dbus_dbus-launch.

at-spi인스턴스는 .desktop시스템 디렉터리에서 $xdg파일을 읽는 gnome-session에 의해 시작된 것으로 보입니다. At-spi가 구성 되고 인스턴스가 /etc/xdg/autostart/at-spi-dbus-bus.desktop시작됩니다 .at-spi

기능 및 구성

D-bus는 gnome 애플리케이션을 위한 메시지 브로커이며 dbus-glib 바인딩 기능을 호출하여 서로 메시지를 보낼 수 있습니다(glib는 대부분의 gnome 애플리케이션에서 사용되는 일반적인 Gnome C 라이브러리입니다).

또한 응용 프로그램은 아직 시작되지 않은 다른 응용 프로그램에 메시지를 보낼 수 있습니다. 이 경우 dbus는 먼저 수신자 서비스를 시작("활성화")한 다음 해당 서비스에 메시지를 전달할 수 있습니다(보통새로운 프로세스를 시작하기 위해 놈들에게 학대당함).

여기에 이미지 설명을 입력하세요.

D-bus가 활성화할 수 있는 서비스는 폴더의 구성 파일에 따라 결정됩니다 /usr/share/dbus-1/. system-services각 시스템 dbus 인스턴스에 대한 하위 폴더 services- 각 사용자에 대한 것입니다.

또한 이러한 d-bus 인스턴스는 UNIX 도메인 소켓을 생성하고 애플리케이션의 메시지를 수신한다는 점에 유의하세요. 애플리케이션은 시작 시 이러한 소켓에 연결하고 D 버스를 통해 서로 데이터를 교환합니다. 소켓은 파일 시스템에 매핑될 수도 있고 /var/run/dbus/system_bus_socket그렇지 않을 수도 있습니다(D-bus의 각 시스템 인스턴스에 대해 해당 소켓은 에 매핑됨).

문제를 해결하는 방법(실제로는 모르겠습니다)

인스턴스 구성을 엉망으로 만든 것 같습니다 at-pci. gnome-session()에 의해 시작되었거나 /etc/xdg/autostart/at-spi-dbus-bus.desktop소켓 위치 중 하나입니다.

불행히도 무엇을 해야할지에 대한 구체적인 아이디어가 없습니다. 및 에 대한 정보를 제공할 수 있습니까 ps?pstreeat-pcignome-terminal

고쳐 쓰다

오류 메시지의 출처를 알아내려고 합니다.

소스 코드를 grep해 보았습니다.그놈 터미널. grep -r "spi" gnome-terminal/결과는 제공되지 않았습니다. grep -r "dbus" gnome-terminal/몇 가지가 제공되었지만 at-pci가 아닌 일반 dbus와 관련된 것으로 보입니다. 따라서 gnome-terminal에 직접 접근할 수는 없다고 생각합니다 at-spi2.

대신 일부만gtk 위젯 암시적 호출 gail또는 atk함수, 하위 시스템과 상호 작용을 시도 at-spi하지만 종료했기 때문에 실패합니다.

여기에 이미지 설명을 입력하세요. 여기에 이미지 설명을 입력하세요.

따라서 귀하의 솔루션은 패키지의 다음 파일을 복원 하거나 at-spi2-core(기반 dpkg -L at-spi2-core) 전체 패키지를 다시 설치하는 것입니다.

/usr/lib/at-spi2-core/at-spi-bus-launcher
/usr/lib/at-spi2-core/at-spi2-registryd
/usr/share/upstart/xdg/autostart/at-spi-dbus-bus.desktop
/usr/share/upstart/sessions/at-spi2-registryd.conf
/usr/share/doc/at-spi2-core/README
/usr/share/doc/at-spi2-core/copyright
/usr/share/doc/at-spi2-core/NEWS.gz
/usr/share/dbus-1/services/org.a11y.atspi.Registry.service
/usr/share/dbus-1/services/org.a11y.Bus.service
/etc/at-spi2/accessibility.conf
/etc/xdg/autostart/at-spi-dbus-bus.desktop
/etc/X11/Xsession.d/90qt-a11y
/usr/share/doc/at-spi2-core/changelog.Debian.gz

또는 아래 설명된 대로 작업을 반대로 하여 접근성을 비활성화해 볼 수 있습니다.여기그것을 활성화합니다. (기본적으로 gconftool-2"액세스 가능한 애플리케이션 개발 및 테스트 환경 설정" 섹션에 설명된 대로 일부 플래그를 조정 해야 합니다 .)

쓸모없지만 흥미로운 정보

소스코드를 좀 더 파헤쳐봤습니다at-spi2-코어

추가 정보 파일은 master/bus/에 있습니다.at-spi-bus-launcher.c폴더는 예상대로 dbus의 각 세션 인스턴스에서 at-spi-bus-launcher를 시작하도록 지시합니다. 흥미롭게도 X Windows 루트 창 속성 AT_SPI_BUS도 있습니다. xprop --root명령을 통해 해당 값을 찾을 수 있습니다. 제 경우에는 다음과 같았습니다.

AT_SPI_BUS(STRING) = "unix:abstract=/tmp/dbus-vGwJEbWTQL,guid=76b894a309e380de6265479c53e8b537"

그것이 무엇인지 모르겠습니다. 소켓 위치로 만들고 싶지만 /tmp그런 파일이 없습니다. :(

업데이트 2

문제의 정확한 원인은 일반 시스템별 dbus가 /usr/share/dbus-1/services/org.a11y.Bus.service파일을 보고 gnome 터미널의 atk 호출에 대한 응답으로 파일을 활성화하려고 시도하기 때문일 수 있다고 생각합니다( gconf또는 dconf설정에 접근성이 활성화되어 gtk 위젯에 다음을 지시하기 때문입니다). 메시지를 at-spi)에 전달합니다. at-spi-bus-launcher바이너리를 삭제했기 때문에 이 작업은 실패합니다 .

이것이 내 자신의 경험이라고 생각하는 이유는 무엇입니까 Caribou Antler? Caribou는 데비안과 함께 설치되는 형편없는 가상 키보드입니다. 나는 Ubuntu 저장소에서 또 다른 가상 키보드인 멋진 OnBoard를 설치한 Debian 7 태블릿을 가지고 있습니다. 문제는 dconf의 동일한 보조 기능 키를 통해 두 키보드가 모두 켜지거나 꺼진다는 것입니다. 따라서 키가 켜져 있으면 클릭하여 둘 다 활성화할 수 있습니다.GtkEntry 또는 GtkTextView빌어먹을 순록이 내 OnBoard를 제대로 작동시킬 수 없을 정도로 너무 많습니다. gconf/dconf에서 접근성을 비활성화하면 OnBoard도 비활성화됩니다. :(

/usr/share/dbus-1/services/org.gnome.Caribou.Antler.service그래서 대략적인 수정을 하고 내 파일의 내용을 주석 처리했습니다. 이제 dbus가 Caribou를 활성화하려고 하면 실패하지만 OnBoard는 정상적으로 활성화됩니다.

하지만 예를 들어 터미널에서 일부 그래픽 애플리케이션을 실행하면 sublime_text다음과 같은 형식의 오류 메시지가 나타납니다.

(sublime_text:4797): CARIBOU-CRITICAL **: file caribou-gtk-module.c: line1041: unexpected error: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.Caribou.Keyboard was not provided by any .service files (g-dbus-error-quark, 2)

답변2

이것은 나를 위해 문제를 해결했습니다.

export NO_AT_BRIDGE=1

alias open='xdg-open '

그런 다음 적절한 응용 프로그램을 실행하여 문제의 임의 파일을 엽니다(예:).

open some-cool-image.jpg

관련 정보