Untuk beberapa waktu, eog
dan gnome-terminal
mulai sangat lambat di (X) Ubuntu 13.10 saya. Saya pikir alat Gnome lain juga terpengaruh, tetapi saya tidak menggunakan yang lain.
Sekarang saya mendapatkan org.freedesktop.DBus.Error.NoReply
kesalahan setiap kali gnome-terminal
dimulai:
** (gnome-terminal: 5516): PERINGATAN **: Kesalahan saat mengambil alamat bus aksesibilitas: org.freedesktop.DBus.Error.NoReply: Tidak menerima balasan. Kemungkinan penyebabnya meliputi: aplikasi jarak jauh tidak mengirim balasan, kebijakan keamanan bus pesan memblokir balasan, batas waktu balasan kedaluwarsa, atau koneksi jaringan terputus.
dan setiap kali eog
dimulai:
** (eog: 4996): PERINGATAN **: Kesalahan saat mengambil alamat bus aksesibilitas: org.freedesktop.DBus.Error.NoReply: Tidak menerima balasan. Kemungkinan penyebabnya meliputi: aplikasi jarak jauh tidak mengirim balasan, kebijakan keamanan bus pesan memblokir balasan, batas waktu balasan kedaluwarsa, atau koneksi jaringan terputus.
(eog: 4996): PERINGATAN EOG **: Tidak dapat memuat ikon: Ikon 'pemuatan gambar' tidak ada dalam tema
Saya pikir itu ada hubungannya dengan saya menghapus beberapa program yang dimulai secara default, termasuk at-spi2-registryd
, yang saya pikir milik Proyek Aksesibilitas Gnome .
Menurutnya dpkg --getselections | grep spi
, at-spi2-core
masih terpasang di sistem saya.
Saya ingat melakukan sesuatu yang sangat gila / bodoh seperti bertukar beberapa file konfigurasi atau binari dengan program gema kosong untuk menghentikan daemon agar tidak dimulai.
- Bagaimana saya bisa memperbaiki kesalahan ini?
- Apa yang menyebabkan kesalahan ini?
Google menghasilkan beberapa at-spi...
tautan terkait:
- https://lists.ubuntu.com/archives/ubuntu-accessibility-bugs/2013-August/006261.html
- https://lists.ubuntu.com/archives/ubuntu-accessibility-bugs/2013-August/006264.html
Ini mungkin ada hubungannya dengan freedesktop
masalah terkait yang saya miliki nmcli
, jadi silakan lihat: nmcli freedesktop peringatan dan kesalahan 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
dengan menggunakansu -
, kemudianeog
.strace -r
) atau ltrace (egltrace -r
) dapat memberikan sedikit cahayagedit
ataugnome-disks
? Apakah jejak mereka serupa?Jawaban:
Sayangnya, ini bukan solusi, tetapi informasi ini mungkin bisa membantu Anda.
Saya pikir, masalah Anda adalah itu
gnome-terminal
daneog
sedang mencoba untuk terhubung keD-bus
soket instance at-spi , yang salah dikonfigurasi.Bagaimana D-bus bekerja secara umum:
Memulai
Ada 2 contoh kasual D-bus, berjalan di mesin Anda, per-sistem dan per-pengguna, dan yang terkait aksesibilitas khusus -
at-spi
, dimulai olehat-spi-bus-launcher
.Contoh per-sistem dimulai oleh skrip init, misalnya pada Mint with
/etc/init/dbus
.Contoh per pengguna dijalankan, ketika Xsession dimulai
/etc/X11/Xsession.d/75dbus_dbus-launch
.at-spi
instance tampaknya dimulai oleh gnome-session, yang membaca.desktop
file dari$xdg
direktori sistem . At-spi dikonfigurasi oleh/etc/xdg/autostart/at-spi-dbus-bus.desktop
, yang memulaiat-spi
instance.Berfungsi dan konfigurasi
D-bus berfungsi sebagai perantara pesan untuk aplikasi gnome. Mereka dapat mengirim pesan satu sama lain dengan memanggil fungsi pengikatan dbus-glib (glib adalah pustaka Gnome C umum, yang digunakan oleh sebagian besar aplikasi gnome).
Selain itu, aplikasi dapat mengirim pesan ke aplikasi lain, yang belum dimulai. Dalam hal itu, dbus dapat memulai ("mengaktifkan") layanan penerima dan kemudian mengirimkan pesan kepadanya (yang sering disalahgunakan oleh gnome guys untuk memulai proses baru ).
Layanan apa yang D-bus dapat aktifkan ditentukan oleh file konfigurasi dalam
/usr/share/dbus-1/
folder.system-services
subfolder untuk instance per-sistem dbus,services
- untuk satu per-pengguna.Perhatikan juga, bahwa instance d-bus membuat soket domain-UNIX dan mendengarkan pesan dari aplikasi. Aplikasi terhubung ke soket tersebut saat start-up dan bertukar data satu sama lain melalui D-bus. Soket dapat dipetakan ke sistem file (seperti untuk instance per-sistem D-bus, yang soketnya dipetakan ke
/var/run/dbus/system_bus_socket
) atau tidak.Bagaimana mengatasi masalah Anda (sebenarnya saya tidak tahu)
Saya kira Anda mengacaukan konfigurasi
at-pci
instance: baik itu start-up oleh gnome-session (/etc/xdg/autostart/at-spi-dbus-bus.desktop
) atau lokasi soketnya.Sayangnya, saya tidak punya ide yang lebih konkret tentang apa yang harus dilakukan. Bisakah Anda memberikan
ps
ataupstree
informasi Anda, mengenaiat-pci
dangnome-terminal
?Memperbarui
Saya mencoba mencari tahu sumber pesan kesalahan Anda:
Saya sudah mencoba grepping kode sumber dari terminal gnome .
grep -r "spi" gnome-terminal/
tidak memberikan hasil apa pun;grep -r "dbus" gnome-terminal/
memberi beberapa, tetapi mereka tampaknya terkait dengan dbus normal, bukan at-pci. Jadi, saya percaya, terminal gnome tidak dapat mengaksesat-spi2
secara langsung.Sebaliknya, hanya beberapa widget gtk yang secara implisit memanggil
gail
atauatk
fungsi , yang pada gilirannya mencoba berinteraksi denganat-spi
subsistem dan gagal melakukannya, karena Anda telah membunuhnya:Jadi, saya pikir solusinya untuk Anda adalah mengembalikan file-file
at-spi2-core
paket berikut (berdasarkandpkg -L at-spi2-core
) atau hanya menginstal ulang seluruh paket:ALTERNATIF, Anda dapat mencoba menonaktifkan aksesibilitas dengan membalik tindakan, yang dijelaskan di sini untuk mengaktifkannya. (Pada dasarnya, Anda harus mengubah beberapa flag
gconftool-2
seperti yang dijelaskan di bagian "Menyiapkan pengembangan aplikasi dan lingkungan pengujian yang dapat diakses").Tidak berguna, tetapi info menarik
Saya telah melakukan lebih banyak penggalian dalam kode sumber at-spi2-core
README di folder master / bus / at-spi-bus-launcher.c mengatakan bahwa at-spi-bus-launcher dimulai dengan instance per-sesi dbus seperti yang diharapkan. Menariknya, ada juga properti windows root X windows AT_SPI_BUS, Anda dapat menemukan nilainya melalui
xprop --root
perintah dan bagi saya itu sama denganSaya tidak tahu, apa itu, saya mengharapkannya menjadi lokasi soket, tetapi tidak ada file seperti itu
/tmp
untuk saya. :(Perbarui 2
Saya pikir alasan pasti masalah Anda mungkin karena dbus per-sistem biasa melihat
/usr/share/dbus-1/services/org.a11y.Bus.service
file Anda dan sedang mencoba untuk mengaktifkannya sebagai respons terhadap panggilan atk dari gnome-terminal (karena pengaturan Andagconf
ataudconf
aksesibilitas telah diaktifkan dan ini memberitahu widget gtk untuk mengirim pesan keat-spi
). Ini gagal, karena Anda telah menghapusat-spi-bus-launcher
biner.Yang membuat saya berpikir demikian adalah pengalaman saya sendiri
Caribou Antler
. Caribou adalah keyboard virtual yang menyebalkan, diinstal dengan Debian. Saya punya tablet Debian 7, tempat saya menginstal keyboard virtual lain dari repositori Ubuntu - OnBoard yang luar biasa. Masalahnya adalah kedua keyboard dihidupkan / dimatikan oleh tombol aksesibilitas yang sama di dconf. Jadi, jika kunci aktif, keduanya diaktifkan dengan mengklik GtkEntry atau GtkTextView sehingga Caribou yang menyebalkan tidak membiarkan OnBoard saya berfungsi dengan baik. Dan jika saya menonaktifkan aksesibilitas di gconf / dconf, OnBoard juga dinonaktifkan. :(Jadi saya melakukan peretasan kasar dan hanya berkomentar isi
/usr/share/dbus-1/services/org.gnome.Caribou.Antler.service
file saya . Sekarang ketika dbus mencoba mengaktifkan Caribou, gagal, sementara OnBoard diaktifkan ok.Tetapi ketika saya memulai beberapa aplikasi grafis dari terminal, seperti
sublime_text
, saya menerima pesan kesalahan, yang diformat dengan cara yang sangat mirip dengan Anda:sumber
Ini menyelesaikannya untukku
kemudian memicu aplikasi yang sesuai untuk membuka masalah file sewenang-wenang (misalnya):
sumber