X uygulamaları stderr'deki "Erişilebilirlik veriyoluna bağlanamadı:" uyarısı veriyor


30

Terminalden gelen her uygulama, iyi çalışsa bile, uyarı ve hata mesajları veriyor gibi görünüyor.

Emacs:

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

Evince:

** (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

Liste devam ediyor. Bu davranış yaygın mı yoksa sistemimde bir sorun mu var? Bu sorunları nasıl düzeltirim?


Tecrübelerime göre, evet, bu oldukça yaygın. Çeşitli paketlerin karşılaştığı birçok bildirim, kazanç ve hata var. Terminalden başlatıldığında, bu kazançlar terminale gönderilir, böylece onları görebilirsiniz. Bir X uygulaması normalde bir X uygulaması başlatacağı zaman, onları görünmüyor. Bir yere giriş yapmış olabilirler, ancak uygulamaya bağlı olarak genellikle yapılmazlar. Yıllardır, bu basit kural kuralına uydum, "eğer uygulama çalışıyorsa ve hata çok korkutucu değilse, görmezden
Karl Wilbur

Yanıtlar:


53

Maalesef, GTK kütüphaneleri (özellikle GNOME tarafından kullanılır), çok fazla korkutucu görünen mesaj yayma eğilimindedir. Bazen bu mesajlar potansiyel hataları gösterir, bazen tamamen sahtedir ve hangisinin kodun derinliklerine girmeden hangisinin olduğunu söylemek imkansızdır. Son kullanıcı olarak, hiçbir şey yapamazsınız. Bunları hata olarak bildirebilirsiniz (program aksi halde doğru şekilde davransa bile, sahte hata mesajları göndermek bir hatadır), ancak program temelde çalışırken, bu hatalara anlaşılır bir şekilde çok düşük öncelikli olarak bakılır.

Erişilebilirlik uyarısı, herhangi bir erişilebilirlik özelliğini kullanmazsanız, kolay bir geçici çözümle bilinen bir hatadır :

export NO_AT_BRIDGE=1

Benim tecrübeme göre, Gtk-CRITICALböcekler tamamen sahtedir; bir yerde bir programlama hatası olduğunu gösterirken, son kullanıcılara bildirilmemelidir, yalnızca programı yazan geliştiriciye (veya altta yatan kütüphaneye - genellikle programın geliştiricisinin kendisi hakkında hiçbir şey yapamaz) Bir kitaplıkta, programda kullanılan bir kitaplık tarafından çağrılan bir kitaplıkta yapılan bir hata).


Böylece, pencere yöneticisi (harika) başlarken bu hatayı alıyorum. Peki nereye bir şey exportkoyayım?
UlfR

@UlfR: .bashrc içine koyardınız.
Ben Crowell

@UlfR In ~/.profileya da müthiş konfigürasyonunuzda (sentaksın ne muhteşem olduğunu bilmiyorum). Ya da ~/.xinitrckullanıyorsanız startxveya ~/.xsessionklasik bir X11 oturumu kullanıyorsanız (masaüstü ortamının kendi oturum yöneticisinin aksine).
Gilles 'SO- kötülükten vazgeç'

@BenCrowell Hayır, içinde değil .bashrc: sadece terminalden başlayan bir program için geçerlidir. Bir ortam değişkenini tanımlamak .bashrcneredeyse her zaman yanlıştır.
Gilles 'SO- kötülükten vazgeç'

2

Bir yerde buldum ama bağlantısını unuttum.

Düzeltmek için çalıştırın:

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

Eğer dbus-uuidgen'iniz yoksa, aşağıdakileri vererek yükleyebileceğiniz dbus paketinde bulunur:

yum install dbus

3
Benim için sorunu çözmüyor.
Zeimyth

1

İlk hatalardan emin değilim, ancak Firefox'un 42 sürümündeki g_slice_set_config hatasını düzelttiği görülüyor. Hata raporlarına göre , glib 2.35 ve sonraki sürümlerini etkiliyor.


1

/ Var / lib / dbus / makine kimliğini değiştirmeyin! İlk önce boş mu bakın! Man sayfasını oku!

kimden: man dbus-uuidgen

Çalışan bir sistemde mevcut bir makine kimliğini değiştirmeye çalışırsanız, muhtemelen kötü şeylerin olmasına neden olacaktır. Bu dosyayı değiştirmeye çalışmayın. Ayrıca, iki farklı sistemde aynı yapmayın; çalışan iki farklı çekirdeğin olduğu her zaman farklı olması gerekir

Ben aldım

erişilebilirlik veriyoluna bağlan: Soket / tmp / dbus-oYuNBK96uX ile bağlantı kurulamadı: Bağlantı reddedildi

hata mesajı, başka bir bilgisayardan aşağıdakilerle bağlantı kuruyor:

ssh -YC kullanıcı_adı@1.2.3.4

ve thunar ve evince koşmak.

Aynı yerel sistemde de denedim ve ben de yazdım hata bildirildi

cat / var / lib / dbus / makine kimliği

ve zaten bir uuid var

Bu hatanın nedeni, terminal olarak kullanılan makinede çalışan xserver'in uzak sistemden farklı bir sıvıya sahip olmasıdır.

Daha fazla deney yapmadım, çünkü uygulama sırasındaki makine kimliğini değiştirmek, yukarıda belirtilen man sayfasına göre bazı yanlış davranışlarla sonuçlanıyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.