Las aplicaciones X advierten "No se pudo conectar al bus de accesibilidad:" en stderr

30

Parece que todas las aplicaciones del terminal dan advertencias y mensajes de error, aunque parece funcionar bien.

Emacs:

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

Mostrar:

** (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 lista continua. ¿Es común este comportamiento o hay algún problema con mi sistema? ¿Cómo soluciono estos problemas?

vosov
fuente
En mi experiencia, sí, esto es bastante común. Hay muchos avisos, ganancias y errores que encuentran varios paquetes. Cuando se inicia desde la terminal, estas ganancias se envían a la terminal, para que pueda verlas. Cuando se inicia como uno normalmente lanzaría una aplicación X, no pareces. Es posible que se registren en algún lugar, pero generalmente no, según la aplicación. Durante años, he seguido esta sencilla regla general "si la aplicación funciona y el error no da demasiado miedo, ignórelo"
Karl Wilbur

Respuestas:

53

Desafortunadamente, las bibliotecas GTK (utilizadas en particular por GNOME) tienden a emitir muchos mensajes de aspecto aterrador. A veces, estos mensajes indican posibles errores, a veces son totalmente espurios, y es imposible saber cuál es cuál sin profundizar en el código. Como usuario final, no puede hacer nada al respecto. Puede informarlos como errores (incluso si el programa se comporta correctamente de otro modo, emitir mensajes de error espurios es un error), pero cuando el programa funciona básicamente, estos errores se tratan como una prioridad muy baja.

La advertencia de accesibilidad es un error conocido con una solución fácil si no utiliza ninguna función de accesibilidad:

export NO_AT_BRIDGE=1

En mi experiencia, los Gtk-CRITICALerrores son completamente espurios; Si bien indican un error de programación en alguna parte, no deben informarse a los usuarios finales, solo al desarrollador que escribió el programa (o la biblioteca subyacente; a menudo, el desarrollador del programa en sí no puede hacer nada al respecto porque es un error en una biblioteca llamada por una biblioteca llamada por una biblioteca que se usa en el programa).

Gilles 'SO- deja de ser malvado'
fuente
Entonces recibo este error mientras se inicia el windowmanager (impresionante). Entonces, ¿dónde debo poner la exportcosa?
UlfR
@UlfR: Lo pondrías en tu .bashrc.
Ben Crowell
@UlfR En ~/.profileo en su configuración impresionante (no sé cuál es la sintaxis en increíble). O en ~/.xinitrcsi usa startx, o en ~/.xsessionsi usa una sesión X11 clásica (a diferencia del administrador de sesión del entorno de escritorio).
Gilles 'SO- deja de ser malvado'
@BenCrowell No, no en .bashrc: solo se aplicaría a un programa iniciado desde una terminal. Definir una variable de entorno en .bashrccasi siempre es incorrecto.
Gilles 'SO- deja de ser malvado'
2

Lo encontré en alguna parte pero olvidé el enlace.

Para solucionarlo, ejecute:

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

Si no tiene dbus-uuidgen, está en el paquete dbus, que puede instalarse emitiendo:

yum install dbus
PK.Shrestha
fuente
3
No me soluciona el problema.
Zeimyth
1

No estoy seguro de los primeros errores, pero parece que Firefox solucionó el problema g_slice_set_config en la versión 42. Según su informe de error , afecta a glib 2.35 y posteriores.

MVanOrder
fuente
1

¡NO cambie / var / lib / dbus / machine-id! ¡Primero mira si está vacío! ¡Lea la página del manual!

de: man dbus-uuidgen

Si intenta cambiar una identificación de máquina existente en un sistema en ejecución, es probable que sucedan cosas malas. No intentes cambiar este archivo. Además, no haga lo mismo en dos sistemas diferentes; debe ser diferente cada vez que se ejecutan dos núcleos diferentes

tengo el

conectarse al bus de accesibilidad: no se pudo conectar a socket / tmp / dbus-oYuNBK96uX: conexión rechazada

mensaje de error, conectando desde otra computadora con:

ssh -YC [email protected]

y corriendo thunar y evince.

También intenté lo mismo en el sistema local y no se informó ningún error. También escribí

cat / var / lib / dbus / machine-id

y ya tiene un uuid

Lo que creo que puede ser la causa de ese error es que el servidor x que se ejecuta en la máquina utilizada como terminal tiene un uuid diferente que el sistema remoto.

No hice más experimentos, porque cambiar la identificación de la máquina durante la ejecución termina en un mal comportamiento, de acuerdo con la página del manual citada anteriormente.

user350102
fuente