web-dev-qa-db-fra.com

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

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?

33
vosov

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, ces bogues sont naturellement traités comme étant de très faible priorité.

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

export NO_AT_BRIDGE=1

Dans mon expérience, Gtk-CRITICAL les bogues sont complètement faux; bien qu'ils indiquent une erreur de programmation quelque part, ils ne doivent 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).

NE changez 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 ID d'ordinateur existant sur un système en cours d'exécution, cela entraînera probablement de mauvaises choses. N'essayez pas de modifier ce fichier. Aussi, 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 [email protected]

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, c'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.

2
user350102

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, il se trouve dans le package dbus, qui peut être installé en émettant:

yum install dbus
2
PK.Shrestha

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
MVanOrder