Od pewnego czasu eog
i gnome-terminal
zaczynają się bardzo powoli na moim (X) Ubuntu 13.10. Myślę, że dotyczy to również innych narzędzi Gnome, ale nie używam żadnych innych.
Teraz pojawia się org.freedesktop.DBus.Error.NoReply
błąd przy każdym uruchomieniu gnome-terminal
:
** (gnome-terminal: 5516): OSTRZEŻENIE **: Błąd podczas pobierania adresu magistrali dostępności: org.freedesktop.DBus.Error.NoReply: Nie otrzymano odpowiedzi. Możliwe przyczyny to: aplikacja zdalna nie wysłała odpowiedzi, polityka bezpieczeństwa szyny wiadomości zablokowała odpowiedź, upłynął limit czasu odpowiedzi lub połączenie sieciowe zostało zerwane.
i za każdym razem eog
zaczyna się:
** (eog: 4996): OSTRZEŻENIE **: Błąd pobierania adresu magistrali ułatwień dostępu: org.freedesktop.DBus.Error.NoReply: Nie otrzymano odpowiedzi. Możliwe przyczyny to: aplikacja zdalna nie wysłała odpowiedzi, polityka bezpieczeństwa szyny wiadomości zablokowała odpowiedź, upłynął limit czasu odpowiedzi lub połączenie sieciowe zostało zerwane.
(eog: 4996): EOG-WARNING **: Nie można załadować ikony: Ikona „ładowanie obrazu” nie występuje w motywie
Myślę, że ma to coś wspólnego ze usunięciem niektórych programów, które były uruchamiane domyślnie, w tym at-spi2-registryd
, które moim zdaniem należą do Gnome's Accessibility Project .
Według dpkg --getselections | grep spi
, at-spi2-core
nadal jest zainstalowany w moim systemie.
Pamiętam, jak robiłem coś bardzo hackiego / głupiego, jak wymiana niektórych plików konfiguracyjnych lub plików binarnych z pustymi programami echa, aby zatrzymać uruchamianie demona.
- Jak mogę naprawić ten błąd?
- Co powoduje ten błąd?
Google tworzy niektóre at-spi...
powiązane linki:
- https://lists.ubuntu.com/archives/ubuntu-accessibility-bugs/2013-August/006261.html
- https://lists.ubuntu.com/archives/ubuntu-accessibility-bugs/2013-August/006264.html
Może to mieć związek z freedesktop
powiązanym problemem, z którym mam nmcli
, więc spójrz na to: ostrzeżenia i błędy DBC 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
[...]
root
za pomocąsu -
, a następnieeog
.strace -r
) Lub ltrace (np.ltrace -r
) Mogą rzucić trochę światła.gedit
Lubgnome-disks
? Czy ich ślady są podobne?Odpowiedzi:
Niestety nie jest to rozwiązanie, ale te informacje mogą ci pomóc.
Myślę, że masz problem
gnome-terminal
ieog
próbują połączyć się zD-bus
gniazdem instancji AT-SPI , które jest źle skonfigurowane.Jak ogólnie działa D-bus:
Uruchomienie
Istnieją 2 przypadki zwykłej magistrali D, działającej na komputerze, na system i na użytkownika, oraz specjalny przypadek związany z dostępnością -
at-spi
rozpoczęty przezat-spi-bus-launcher
.Instancja dla systemu jest uruchamiana przez skrypty inicjujące, np. Na Mint z
/etc/init/dbus
.Instancja dla użytkownika jest uruchamiana podczas uruchamiania Xsession
/etc/X11/Xsession.d/75dbus_dbus-launch
.at-spi
instancja wydaje się być uruchamiana przez gnome-session, która odczytuje.desktop
pliki z$xdg
katalogu systemowego . At-spi jest konfigurowany przez/etc/xdg/autostart/at-spi-dbus-bus.desktop
, który uruchamiaat-spi
instancję.Funkcjonowanie i konfiguracja
D-bus działa jako broker komunikatów dla aplikacji gnome. Mogą wysyłać do siebie wiadomości, wywołując funkcje wiązania dbus-glib (glib to ogólna biblioteka Gnome C, która jest używana przez większość aplikacji gnome).
Ponadto aplikacje mogą wysyłać wiadomości do innych aplikacji, które nie zostały jeszcze uruchomione. W takim przypadku dbus może najpierw uruchomić („aktywować”) usługę adresata, a następnie dostarczyć do niej wiadomość (która jest często wykorzystywana przez gnomów do rozpoczęcia nowych procesów ).
O tym, jakie usługi D-bus może aktywować, decydują pliki konfiguracyjne w
/usr/share/dbus-1/
folderze.system-services
podfolder dotyczy instancji dbus dla systemu,services
- dla instancji użytkownika.Należy również zauważyć, że te instancje magistrali d tworzą gniazdo domeny UNIX i nasłuchują komunikatów z aplikacji. Aplikacje łączą się z tymi gniazdami podczas uruchamiania i wymieniają dane między sobą za pośrednictwem magistrali D-bus. Gniazda mogą być mapowane do systemu plików (jak w przypadku instancji D-bus, dla której gniazdo jest mapowane
/var/run/dbus/system_bus_socket
) lub nie.Jak rozwiązać problem (właściwie nie wiem)
Myślę, że popsułeś konfigurację
at-pci
instancji: albo jej uruchomienie przez gnome-session (/etc/xdg/autostart/at-spi-dbus-bus.desktop
), albo lokalizację gniazda.Niestety nie mam konkretnych pomysłów na to, co robić. Czy możesz podać swoje
ps
lubpstree
informacje dotycząceat-pci
ignome-terminal
?Aktualizacja
Próbowałem znaleźć źródło Twojego komunikatu o błędzie:
Próbowałem grepować kod źródłowy gnome-terminal .
grep -r "spi" gnome-terminal/
nie daje żadnych wyników;grep -r "dbus" gnome-terminal/
daje niektóre, ale wydaje się, że są one związane z normalnym dbus, a nie at-pci. Tak więc uważam, że terminal gnome nie maat-spi2
bezpośredniego dostępu .Zamiast tego tylko niektóre widżety gtk domyślnie wywołują funkcje
gail
lubatk
funkcje , które z kolei próbują wchodzić w interakcje zat-spi
podsystemem, ale nie robią tego, ponieważ go zabiłeś:Myślę, że rozwiązaniem jest przywrócenie następujących plików
at-spi2-core
pakietu (na podstawiedpkg -L at-spi2-core
) lub po prostu ponowne zainstalowanie całego pakietu:ALTERNATYWNIE, możesz spróbować wyłączyć dostępność, odwracając czynności opisane tutaj, aby ją włączyć. (Zasadniczo będziesz musiał zmodyfikować niektóre flagi
gconftool-2
zgodnie z opisem w sekcji „Konfigurowanie dostępnego środowiska programowania i testowania aplikacji”).Bezużyteczne, ale ciekawe informacje
Zrobiłem trochę więcej kopania w kodzie źródłowym at-spi2-core
Plik README w folderze master / bus / at-spi-bus-launcher.c informuje, że program uruchamiający at-spi-bus-launcher jest uruchamiany przez wystąpienie dbus na sesję zgodnie z oczekiwaniami. Co ciekawe, nie ma również okna X korzeń Właściwość okna AT_SPI_BUS można znaleźć swoją wartość poprzez
xprop --root
polecenia i dla mnie to jest równaNie wiem, co to jest, spodziewałem się, że będzie to lokalizacja gniazda, ale nie ma
/tmp
dla mnie takiego pliku . :(Aktualizacja 2
Myślę, że dokładną przyczyną twojego problemu może być to, że zwykły dbus dla systemu widzi twój
/usr/share/dbus-1/services/org.a11y.Bus.service
plik i próbuje go aktywować w odpowiedzi na wywołania atk z terminalu gnome (ponieważ twojagconf
lubdconf
ustawienia mają włączoną dostępność, a to mówi widgetom gtk o dostarczeniu wiadomości doat-spi
). To się nie udaje, ponieważ usunąłeśat-spi-bus-launcher
plik binarny.To, co sprawia, że tak myślę, to moje własne doświadczenie
Caribou Antler
. Caribou to gówna wirtualna klawiatura, zainstalowana z Debianem. Mam tablet Debian 7, na którym zainstalowałem kolejną wirtualną klawiaturę z repozytorium Ubuntu - niesamowite OnBoard. Chodzi o to, że obie klawiatury są włączane / wyłączane przez ten sam klawisz dostępu w dconf. Więc jeśli klucz jest włączony, oba są aktywowane poprzez kliknięcie na GtkEntry lub GtkTextView, aby gówniany Caribou nie pozwolił mojej OnBoard działać poprawnie. A jeśli wyłączę dostępność w gconf / dconf, OnBoard również zostanie wyłączony. :(Więc zrobiłem prymitywny hack i po prostu skomentowałem zawartość mojego
/usr/share/dbus-1/services/org.gnome.Caribou.Antler.service
pliku. Teraz, gdy dbus próbuje aktywować Caribou, kończy się niepowodzeniem, podczas gdy OnBoard jest aktywowany OK.Ale kiedy uruchamiam aplikację graficzną z terminala, na przykład
sublime_text
, pojawia się komunikat o błędzie, który jest sformatowany w bardzo podobny sposób:źródło
To dla mnie rozwiązuje
następnie, aby uruchomić odpowiednią aplikację do otwarcia dowolnego problemu z plikiem (na przykład):
źródło