X 응용 프로그램에서 stderr의 "접근성 버스에 연결할 수 없습니다 :"경고


30

터미널의 모든 응용 프로그램은 정상적으로 실행되는 것처럼 보이지만 경고 및 오류 메시지를 표시하는 것처럼 보입니다.

이맥스 :

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

Firefox :

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

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


내 경험에 따르면, 이것은 매우 일반적입니다. 다양한 패키지에서 발생하는 많은 통지, 수입 및 오류가 있습니다. 터미널에서 시작하면 이러한 수입이 터미널로 전송되므로 결과를 확인할 수 있습니다. 일반적으로 X 앱을 시작하는 것처럼 시작하면 보이지 않습니다. 어딘가에 기록 될 수 있지만 일반적으로 응용 프로그램에 따라 기록되지 않습니다. 년 동안 나는 "응용 프로그램이 작동하고 오류가 너무 무서운 아닌 경우, 무시"엄지 손가락의 간단한 규칙을 따랐다
칼 윌버

답변:


53

불행히도 GTK 라이브러리 (특히 그놈에서 사용)는 많은 무서운 메시지를 보내는 경향이 있습니다. 때때로 이러한 메시지는 잠재적 인 버그를 나타내며 때로는 완전히 의심 스럽기 때문에 코드를 깊이 파고 들지 않고 어떤 것이 무엇인지 알 수 없습니다. 최종 사용자는 아무것도 할 수 없습니다. 프로그램이 올바르게 동작하더라도 스퓨리어스 오류 메시지를 내보내는 것이 버그 일지라도 버그로 버그를보고 할 수 있지만 프로그램이 기본적으로 작동하는 경우 이러한 버그는 매우 낮은 우선 순위로 간주됩니다.

내게 필요한 옵션 경고는 내게 필요한 옵션 기능을 사용하지 않는 경우 해결하기 쉬운 알려진 버그 입니다.

export NO_AT_BRIDGE=1

내 경험상 Gtk-CRITICAL버그는 완전히 의심 스럽다. 어딘가에 프로그래밍 오류가 있음을 나타내지 만 최종 사용자에게는 프로그램을 작성한 개발자 (또는 기본 라이브러리)에게만보고해서는 안됩니다. 프로그램에서 사용되는 라이브러리에 의해 호출 된 라이브러리에 의해 호출 된 라이브러리의 버그)


그래서 windowmanager (awesome)가 시작되는 동안이 오류가 발생합니다. 그럼 어디에 두어야 export합니까?
UlfR

@ UlfR : .bashrc에 넣을 것입니다.
벤 크로 웰

@ UlfR ~/.profile또는 멋진 구성 (구문이 무엇인지 잘 모르겠습니다). 또는에서 ~/.xinitrc당신이 사용하는 경우 startx, 또는 ~/.xsession(데스크탑 환경의 자신의 세션 관리자 반대) 당신은 고전 X11 세션을 사용하는 경우.
Gilles 'SO- 악마 그만'

@BenCrowell No, in .bashrc: 터미널에서 시작된 프로그램에만 적용됩니다. 환경 변수를 정의하는 .bashrc것은 거의 항상 잘못입니다.
Gilles 'SO- 악마 그만'

2

나는 어딘가에서 그것을 발견했지만 그것에 대한 링크를 잊었다.

수정하려면 다음을 실행하십시오.

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

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

yum install dbus

3
나를 위해 문제를 해결하지 않습니다.
Zeimyth

1

첫 번째 오류는 확실하지 않지만 Firefox가 버전 42의 g_slice_set_config 문제를 수정 한 것으로 보입니다. 버그 보고서 에 따르면 glib 2.35 이상에 영향을 미칩니다.


1

/ var / lib / dbus / machine-id를 변경하지 마십시오! 먼저 비어 있는지 확인하십시오! 매뉴얼 페이지를 읽으십시오!

부터 : man dbus-uuidgen

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

나는

접근성 버스에 연결 : 소켓 / tmp / dbus-oYuNBK96uX에 연결하지 못했습니다 : 연결이 거부되었습니다

다른 컴퓨터에서 다음과 같이 연결하면 오류 메시지가 나타납니다.

ssh -YC user_name@1.2.3.4

thunar와 evince를 달리는 것.

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

고양이 / var / lib / dbus / machine-id

그리고 이미 하나의 UUID가 있습니다

그 오류의 원인은 터미널로 사용되는 컴퓨터에서 실행되는 xserver가 원격 시스템과 다른 uuid를 가지고 있기 때문입니다.

위에서 인용 한 맨 페이지에 따르면 실행 중 machine-id 변경이 약간의 오작동으로 끝나기 때문에 더 이상 실험을하지 않았습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.