xhost를 통해 FreeBSD에서 Ubuntu로 Emacs를 실행할 때 도구 모음 아이콘이 로드되지 않습니다.

xhost를 통해 FreeBSD에서 Ubuntu로 Emacs를 실행할 때 도구 모음 아이콘이 로드되지 않습니다.

FreeBSD에 연결된 컴퓨터를 사용하고 있으며 ssh [ip] -Xemacs는 정상적으로 시작되지만 이런 일이 발생하고 모든 아이콘은 빨간색 X가 있는 작은 종이 조각입니다.

> emacs

(emacs:22812): GdkPixbuf-WARNING **: Bug! loader 'png' didn't set an error on failure

(emacs:22812): Gtk-WARNING **: Error loading theme icon 'document-new' for stock: Internal error: Image loader module 'png' failed to complete an operation, but didn't give a reason for the failure

(emacs:22812): GdkPixbuf-WARNING **: Bug! loader 'png' didn't set an error on failure

(emacs:22812): Gtk-WARNING **: Error loading theme icon 'document-open' for stock: Internal error: Image loader module 'png' failed to complete an operation, but didn't give a reason for the failure

(emacs:22812): GdkPixbuf-WARNING **: Bug! loader 'png' didn't set an error on failure

(emacs:22812): GdkPixbuf-WARNING **: Bug! loader 'png' didn't set an error on failure

(emacs:22812): Gtk-WARNING **: Error loading theme icon 'image-missing' for stock: Internal error: Image loader module 'png' failed to complete an operation, but didn't give a reason for the failure

(emacs:22812): GdkPixbuf-WARNING **: Bug! loader 'png' didn't set an error on failure

(emacs:22812): Gtk-WARNING **: Error loading theme icon 'window-close' for stock: Internal error: Image loader module 'png' failed to complete an operation, but didn't give a reason for the failure

(emacs:22812): GdkPixbuf-WARNING **: Bug! loader 'png' didn't set an error on failure

(emacs:22812): Gtk-WARNING **: Error loading theme icon 'document-save' for stock: Internal error: Image loader module 'png' failed to complete an operation, but didn't give a reason for the failure

(emacs:22812): GdkPixbuf-WARNING **: Bug! loader 'png' didn't set an error on failure

(emacs:22812): Gtk-WARNING **: Error loading theme icon 'edit-undo' for stock: Internal error: Image loader module 'png' failed to complete an operation, but didn't give a reason for the failure

(emacs:22812): GdkPixbuf-WARNING **: Bug! loader 'png' didn't set an error on failure

(emacs:22812): Gtk-WARNING **: Error loading theme icon 'edit-cut' for stock: Internal error: Image loader module 'png' failed to complete an operation, but didn't give a reason for the failure

(emacs:22812): GdkPixbuf-WARNING **: Bug! loader 'png' didn't set an error on failure

(emacs:22812): Gtk-WARNING **: Error loading theme icon 'edit-copy' for stock: Internal error: Image loader module 'png' failed to complete an operation, but didn't give a reason for the failure

(emacs:22812): GdkPixbuf-WARNING **: Bug! loader 'png' didn't set an error on failure

(emacs:22812): Gtk-WARNING **: Error loading theme icon 'edit-paste' for stock: Internal error: Image loader module 'png' failed to complete an operation, but didn't give a reason for the failure

(emacs:22812): GdkPixbuf-WARNING **: Bug! loader 'png' didn't set an error on failure

(emacs:22812): Gtk-WARNING **: Error loading theme icon 'edit-find' for stock: Internal error: Image loader module 'png' failed to complete an operation, but didn't give a reason for the failure

왜 이런 일이 일어나는지 아는 사람이 있나요? GVIM이 정상적으로 로드됩니다.

답변1

어쩌면 Emacs를 실행하는 컴퓨터의 GTK 구성에 문제가 있는 것일까요? Qt Center 포럼의 누군가가 Qt Widget Toolkit과 연결하면 GdkPixbuf 라이브러리의 유사한 경고에 대한 솔루션을 제공하는 것 같다는 사실을 발견했습니다.Qt 센터]

이 기사는 Emacs를 실행하는 시스템에서 루트로 실행하는 것을 권장하는 것 같습니다.

update-mime /usr/share/mime/
update-mime-database /usr/share/mime/
gtk-update-icon-cache /usr/share/icons/<ThemeName>

개인적으로 저는 Ubuntu에서 패키지 설치 후 스크립트 중에 이러한 셸 명령을 실행할 수 있다고 가정하고 싶습니다. 그러나 아마도 이것은 이미 기능일 수도 있습니다. 하나 있다매뉴얼 페이지Ubuntu에서 gtk-update-icon-cache쉘 명령 으로 사용 가능합니다.

아니면 GTK 없이 Emacs를 구축하는 것이 가능합니까? 데비안유지보수 가이드소스에서 데비안 패키지를 빌드하기 위한 debian/rules파일 및 데비안 명령에 대한 문서를 제공합니다. debuildDebian 유형 배포판의 소스 패키지는 다음 apt-get을 통해 검색할 수 있습니다.튜토리얼 구축] Emacs Wiki의 소스에서 Emacs를 구축하는 방법에 대한 문서도 있습니다.Emacs 구축]

답변2

내 생각엔 FreeBSD 시스템에 이 아이콘에 대한 PNG 파일이 설치되어 있지 않은 것 같습니다. 특히 내 FreeBSD 10 시스템(ssh -X와 함께 사용할 수 있음)은 다음과 같습니다.

/usr/local/share/icons/gnome/24x24/actions/document-new.png
/usr/local/share/icons/gnome/24x24/actions/document-open.png
/usr/local/share/icons/gnome/24x24/actions/document-save.png
/usr/local/share/icons/gnome/24x24/actions/edit-copy.png
/usr/local/share/icons/gnome/24x24/actions/edit-cut.png
/usr/local/share/icons/gnome/24x24/actions/edit-find.png
/usr/local/share/icons/gnome/24x24/actions/edit-paste.png
/usr/local/share/icons/gnome/24x24/actions/edit-undo.png
/usr/local/share/icons/gnome/24x24/actions/window-close.png
/usr/local/share/icons/gnome/24x24/apps/system-file-manager.png

초기 경로는 다를 수 있으므로 locate기본 이름에 대해 를 수행합니다(예: ) locate edit-find.png.

또한 truss -o /tmp/truss.out emacs일단 들어가면 즉시 나가십시오. 그런 다음 다음을 실행하십시오.

grep 'png"' /tmp/truss.out 

png가 발견되었는지 알려줄 것입니다. 그렇지 않은 경우 이 파일은 gnome-icon-theme-3.6.2에 속하므로 해당 파일을 설치할 때 버전 번호가 조정될 수 있습니다.

관련 정보