X 응용 프로그램은 stderr에 "보조 버스에 연결할 수 없습니다:"라고 경고합니다.

X 응용 프로그램은 stderr에 "보조 버스에 연결할 수 없습니다:"라고 경고합니다.

터미널의 모든 응용 프로그램이 제대로 실행되는 것처럼 보이더라도 경고 및 오류 메시지를 표시하는 것 같습니다.

이맥스:

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

보여주다:

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

파이어폭스 브라우저:

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

목록은 계속됩니다. 이 동작이 일반적인가요, 아니면 시스템에 문제가 있나요? 이러한 문제를 어떻게 해결합니까?

답변1

불행하게도 GTK 라이브러리(특히 GNOME에서 사용하는 라이브러리)는 무섭게 보이는 메시지를 많이 내보내는 경향이 있습니다. 때때로 이러한 메시지는 잠재적인 버그를 나타내기도 하고, 때로는 완전히 가짜일 수도 있으며, 코드를 자세히 살펴보지 않고서는 어느 것이 어느 것인지 알 수 없습니다. 최종 사용자로서 귀하가 할 수 있는 일은 없습니다. 이를 오류로 보고할 수 있습니다(프로그램이 정상적으로 작동하더라도 잘못된 오류 메시지를 발행하는 것은 오류입니다). 그러나 프로그램이 대부분 정상적으로 작동할 때 이러한 오류는 당연히 매우 낮은 우선순위로 간주됩니다.

접근성 경고는 다음과 같습니다.알려진 오류접근성 기능을 사용하지 않는 경우 간단한 해결 방법을 사용할 수 있습니다.

export NO_AT_BRIDGE=1

내 경험에 따르면 Gtk-CRITICAL오류는 완전히 가짜입니다. 어딘가에 프로그래밍 오류가 있음을 나타내기는 하지만 최종 사용자에게 보고해서는 안 되며 프로그램(또는 기본 라이브러리 - 일반적으로 프로그램 자체)을 작성한 개발자에게만 보고해야 합니다. 프로그램에서 사용되는 라이브러리에 의해 호출되는 라이브러리의 버그이기 때문에 개발자는 이에 대해 조치를 취할 수 있습니다.

답변2

/var/lib/dbus/machine-id를 변경하지 마십시오! 비어있는지 먼저 확인해보세요! 읽다dbus-uuidgen맨페이지!

실행 중인 시스템에서 기존 컴퓨터 ID를 변경하려고 하면 나쁜 일이 발생할 수 있습니다. 이 파일을 변경하려고 시도하지 마십시오. 또한 두 개의 다른 시스템에서 동일하게 만들지 마십시오. 두 개의 다른 커널이 실행될 때마다 달라야 합니다.

알겠어요

보조 버스에 연결 중: 소켓 /tmp/dbus에 연결할 수 없습니다. -oYuNBK96uX: 연결이 거부되었습니다.

오류 메시지, 다른 컴퓨터에서 연결 중:

ssh -YC [email protected]

Thunar와 Evince를 실행하세요.

내 로컬 시스템에서도 동일하게 시도했지만 오류가 보고되지 않았습니다. 또한 입력했습니다.

cat /var/lib/dbus/machine-id

그리고 이미 UUID가 있습니다.

오류의 원인은 터미널로 사용되는 시스템에서 실행되는 X 서버가 원격 시스템과 다른 UUID를 가지고 있기 때문일 수 있다고 생각합니다.

위에서 참조한 매뉴얼 페이지에 따르면 실행 중에 컴퓨터 ID를 변경하면 일부 오작동이 발생할 수 있으므로 더 이상 실험하지 않았습니다.

답변3

어디선가 찾았는데 링크를 잊어버렸네요.

문제를 해결하려면 다음을 실행하세요.

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

dbus-uuidgen이 없으면 dbus 패키지에 있으며 다음 명령을 실행하여 설치할 수 있습니다.

yum install dbus

답변4

첫 번째 버그는 잘 모르겠지만 Firefox는 버전 42에서 g_slice_set_config 문제를 해결한 것 같습니다. 그들에 따르면오류 보고서, 이는 glib 2.35 이상에 영향을 미칩니다.

관련 정보