Aplikasi X memperingatkan "Tidak dapat terhubung ke bus aksesibilitas:" di stderr

30

Sepertinya setiap aplikasi dari terminal memberikan peringatan dan pesan kesalahan, meskipun tampaknya berjalan baik.

Emacs:

** (emacs:5004): WARNING **: Couldn't connect to accessibility bus:    
Failed to connect to socket /tmp/dbus-xxfluS2Izg: Connection refused

Memperlihatkan:

** (evince:5052): WARNING **: Couldn't connect to accessibility bus:    
Failed to connect to socket /tmp/dbus-xxfluS2Izg: Connection refused

(evince:4985): Gtk-CRITICAL **: gtk_widget_show: assertion 
'GTK_IS_WIDGET (widget)' failed

(evince:4985): Gtk-CRITICAL **: gtk_widget_show: assertion 
'GTK_IS_WIDGET (widget)' failed

Firefox:

(process:5059): GLib-CRITICAL **: g_slice_set_config: assertion 
'sys_page_size == 0' failed

Daftarnya berlanjut. Apakah perilaku ini umum atau ada yang salah dengan sistem saya? Bagaimana saya memperbaiki masalah ini?

vosov
sumber
Dalam pengalaman saya, ya, ini sangat umum. Ada banyak pemberitahuan, pendapatan, dan kesalahan yang dihadapi oleh berbagai paket. Ketika diluncurkan dari terminal, penghasilan ini dikirim ke terminal, sehingga Anda bisa melihatnya. Ketika diluncurkan sebagai salah satu biasanya akan meluncurkan aplikasi X, Anda tampaknya tidak. Mereka mungkin login di suatu tempat tetapi biasanya tidak, berdasarkan pada aplikasi. Selama bertahun-tahun saya telah mengikuti aturan praktis yang sederhana ini "jika aplikasi berfungsi dan kesalahannya tidak terlalu menakutkan, abaikan saja"
Karl Wilbur

Jawaban:

53

Sayangnya, pustaka GTK (digunakan khususnya oleh GNOME) cenderung memancarkan banyak pesan yang tampak menakutkan. Kadang-kadang pesan-pesan ini menunjukkan bug potensial, kadang-kadang mereka benar-benar palsu, dan tidak mungkin untuk mengetahui mana yang tanpa menggali jauh ke dalam kode. Sebagai pengguna akhir, Anda tidak dapat berbuat apa-apa. Anda dapat melaporkannya sebagai bug (bahkan jika program itu berperilaku benar, memancarkan pesan kesalahan palsu adalah bug), tetapi ketika program ini pada dasarnya berfungsi, bug ini dimengerti diperlakukan sebagai prioritas yang sangat rendah.

Peringatan aksesibilitas adalah bug yang dikenal dengan solusi yang mudah jika Anda tidak menggunakan fitur aksesibilitas apa pun:

export NO_AT_BRIDGE=1

Dalam pengalaman saya, Gtk-CRITICALbug benar-benar palsu; sementara mereka menunjukkan kesalahan pemrograman di suatu tempat, mereka tidak boleh dilaporkan kepada pengguna akhir, hanya kepada pengembang yang menulis program (atau pustaka yang mendasarinya - seringkali pengembang program itu sendiri tidak dapat berbuat apa-apa karena itu bug di perpustakaan yang dipanggil oleh perpustakaan yang dipanggil oleh perpustakaan yang digunakan dalam program).

Gilles 'SANGAT berhenti menjadi jahat'
sumber
Jadi saya mendapatkan kesalahan ini ketika windowmanager (luar biasa) dimulai. Jadi di mana saya harus meletakkan export?
UlfR
@ UNFR: Anda akan memasukkannya ke dalam .bashrc Anda.
Ben Crowell
@UlfR Di ~/.profileatau dalam konfigurasi Anda yang luar biasa (Saya tidak tahu apa sintaks yang ada di luar). Atau ~/.xinitrcjika Anda menggunakan startx, atau ~/.xsessionjika Anda menggunakan sesi X11 klasik (sebagai lawan dari manajer sesi lingkungan desktop sendiri).
Gilles 'SANGAT berhenti menjadi jahat'
@ BenCrowell Tidak, tidak di .bashrc: itu hanya akan berlaku untuk program yang dimulai dari terminal. Mendefinisikan variabel lingkungan .bashrchampir selalu salah.
Gilles 'SANGAT berhenti menjadi jahat'
2

Saya menemukannya di suatu tempat tetapi saya lupa tautannya.

Untuk memperbaikinya, jalankan:

dbus-uuidgen > /var/lib/dbus/machine-id

Jika Anda tidak memiliki dbus-uuidgen, itu ada dalam paket dbus, yang dapat diinstal dengan mengeluarkan:

yum install dbus
PK.Shrestha
sumber
3
Tidak memperbaiki masalah bagi saya.
Zeimyth
1

Saya tidak yakin tentang kesalahan pertama, tetapi tampaknya Firefox memperbaiki masalah g_slice_set_config di versi 42. Menurut laporan bug mereka , ini mempengaruhi glib 2.35 dan yang lebih baru.

MVanOrder
sumber
1

JANGAN ubah / var / lib / dbus / machine-id! Pertama lihat apakah itu kosong! Baca halaman manual!

dari: man dbus-uuidgen

Jika Anda mencoba mengubah mesin-id yang ada pada sistem yang sedang berjalan, itu mungkin akan mengakibatkan hal-hal buruk terjadi. Jangan mencoba mengubah file ini. Juga, jangan membuatnya sama pada dua sistem yang berbeda; itu harus berbeda kapan saja ada dua kernel yang berbeda berjalan

Saya mendapat

terhubung ke bus aksesibilitas: Gagal terhubung ke soket / tmp / dbus-oYuNBK96uX: Koneksi ditolak

pesan kesalahan, menghubungkan dari komputer lain dengan:

ssh -YC [email protected]

dan menjalankan thunar dan evince.

Juga mencoba yang sama di sistem lokal dan tidak ada kesalahan yang dilaporkan saya juga mengetik

cat / var / lib / dbus / machine-id

dan sudah memiliki satu uuid

Apa yang saya pikirkan mungkin menjadi penyebab kesalahan itu adalah bahwa xserver yang berjalan di mesin yang digunakan sebagai terminal memiliki uuid yang berbeda dari sistem jarak jauh.

Saya tidak melakukan lebih banyak eksperimen, karena mengubah id mesin selama eksekusi berakhir dengan beberapa perilaku buruk, menurut halaman manual yang dikutip di atas.

pengguna350102
sumber