Les applications X avertissent «Impossible de se connecter au bus d'accessibilité:» sur stderr


30

Il semble que chaque application du terminal donne des avertissements et des messages d'erreur, même si cela semble fonctionner correctement.

Emacs:

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

Manifester:

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

La liste continue. Ce comportement est-il courant ou y a-t-il un problème avec mon système? Comment résoudre ces problèmes?


D'après mon expérience, oui, c'est assez courant. Il existe de nombreux avis, gains et erreurs rencontrés par divers packages. Une fois lancé depuis le terminal, ces gains sont envoyés au terminal, vous pouvez donc les voir. Lorsqu'il est lancé comme on lancerait normalement une application X, vous ne les semblez pas. Ils peuvent être enregistrés quelque part mais ne le sont généralement pas, en fonction de l'application. Pendant des années, j'ai suivi cette règle simple "si l'application fonctionne et que l'erreur n'est pas trop effrayante, ignorez-la"
Karl Wilbur

Réponses:


53

Malheureusement, les bibliothèques GTK (utilisées notamment par GNOME) ont tendance à émettre beaucoup de messages effrayants. Parfois, ces messages indiquent des bogues potentiels, parfois ils sont totalement faux, et il est impossible de savoir lequel est sans plonger profondément dans le code. En tant qu'utilisateur final, vous ne pouvez rien y faire. Vous pouvez les signaler comme des bogues (même si le programme se comporte autrement correctement, émettre des messages d'erreur parasites est un bogue), mais lorsque le programme fonctionne essentiellement, ces bogues sont naturellement traités comme étant de très faible priorité.

L'avertissement d'accessibilité est un bogue connu avec une solution de contournement facile si vous n'utilisez aucune fonctionnalité d'accessibilité:

export NO_AT_BRIDGE=1

D'après mon expérience, les Gtk-CRITICALbogues sont complètement faux; bien qu'ils indiquent une erreur de programmation quelque part, ils ne devraient pas être signalés aux utilisateurs finaux, uniquement au développeur qui a écrit le programme (ou à la bibliothèque sous-jacente - souvent le développeur du programme lui-même ne peut rien y faire car il est un bogue dans une bibliothèque appelée par une bibliothèque appelée par une bibliothèque utilisée dans le programme).


Je reçois donc cette erreur pendant que le gestionnaire de fenêtres (génial) démarre. Alors, où dois-je mettre le export-thing?
UlfR

@UlfR: Vous le mettriez dans votre .bashrc.
Ben Crowell

@UlfR Dans ~/.profileou dans votre configuration impressionnante (je ne sais pas quelle est la syntaxe dans génial). Ou dans ~/.xinitrcsi vous utilisez startx, ou dans ~/.xsessionsi vous utilisez une session X11 classique (par opposition au propre gestionnaire de session d'un environnement de bureau).
Gilles 'SO- arrête d'être méchant'

@BenCrowell Non, pas dans .bashrc: cela ne s'appliquerait qu'à un programme démarré à partir d'un terminal. La définition d'une variable d'environnement dans .bashrcest presque toujours erronée.
Gilles 'SO- arrête d'être méchant'

2

Je l'ai trouvé quelque part mais j'ai oublié le lien.

Pour le corriger, exécutez:

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

Si vous n'avez pas dbus-uuidgen, c'est dans le paquet dbus, qui peut être installé en émettant:

yum install dbus

3
Ne résout pas le problème pour moi.
Zeimyth

1

Je ne suis pas sûr des premières erreurs, mais il semble que Firefox ait corrigé le problème g_slice_set_config dans la version 42. Selon leur rapport de bogue , cela affecte glib 2.35 et plus récent.


1

NE MODIFIEZ PAS / var / lib / dbus / id-machine! Vérifiez d'abord s'il est vide! Lisez la page de manuel!

de: man dbus-uuidgen

Si vous essayez de modifier un identifiant d'ordinateur existant sur un système en cours d'exécution, cela entraînera probablement des problèmes. N'essayez pas de changer ce fichier. En outre, ne faites pas la même chose sur deux systèmes différents; il doit être différent à tout moment, il y a deux noyaux différents en cours d'exécution

J'ai le

connexion au bus d'accessibilité: échec de connexion au socket / tmp / dbus-oYuNBK96uX: connexion refusée

message d'erreur, connexion à partir d'un autre ordinateur avec:

ssh -YC nom_utilisateur@1.2.3.4

et courir thunaire et prouver.

J'ai également essayé la même chose dans le système local et aucune erreur n'a été signalée. J'ai également tapé

cat / var / lib / dbus / id-machine

et il a déjà un uuid

Ce que je pense peut être la cause de cette erreur est que le xserver fonctionnant dans la machine utilisée comme terminal a un uuid différent de celui du système distant.

Je n'ai pas fait plus d'expériences, car changer l'identifiant de la machine pendant l'exécution se termine par un mauvais comportement, selon la page de manuel citée ci-dessus.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.