web-dev-qa-db-ja.com

FreeBSDからUbuntuへのxhostを介してEmacsを実行しているときにツールバーアイコンをロードできない

ssh [ip] -Xを使用してFreeBSDコンピュータに接続し、emacsは問題なく起動しますが、これは発生し、すべてのアイコンは赤い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は問題なくロードされます。

4
Aido

おそらく、Emacsが実行されているマシンのGTK構成の問題がある可能性がありますか? Qt Centerフォーラムの誰かが、Qtウィジェットツールキットとリンクしているときに、GdkPixbuflibからの同様の警告の解決策を提示しているように見えるものを発見しました[ Qt Centre ]

この記事は、Emacsが実行されているマシンのrootユーザーとして実行することを推奨しているようです。

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 Shellコマンドで使用できる マニュアルページ があります。

あるいは、GTKなしでEmacsを構築することは可能でしょうか? Debianmaint-guideは、debian/rulesファイルとDebiandebuildコマンドに関するドキュメントを提供します、ソースからDebianパッケージをビルドする場合。 Debianタイプのディストリビューションのソースパッケージはapt-get [ BuildingTutorial ]で取得できます。EmacsWikiには、ソースコードからのEmacsのビルドに関するドキュメントもあります[ BuildingEmacs ]

2
Sean Champ

私の推測では、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に属しているので、バージョン番号を調整してインストールしてください。

0
rocky