web-dev-qa-db-ja.com

ウィンドウマネージャーメニューにEmacsエントリがありません

しばらく前から、DebianシステムにEmacsのメニューエントリがありません。同じことが2つの異なるマシンでも発生します。1つはテストを実行し、もう1つは不安定に実行しています。私はウィンドウマネージャーを切り替えて、新しいユーザーを作成して、新しいユーザーのメニューにEmacsエントリがあるかどうかを確認しようとしましたが、それは役に立ちませんでした。

これは、Emacs24のエントリのないDebianメニューの画像です。

Emacs is missing from the menu

Emacs24のエントリは、メニューのどこにもありません。 Openboxを実行した状態で画像をキャプチャしましたが、sawfishまたはFluxboxに切り替えると、メニューエントリが表示されません。また、ユーザーとrootの両方としてupdate-menusを実行しました。

Debianバグ追跡システムでも何も見つかりませんでした...

edit$XDG_DATA_DIRS変数を確認しましたが、設定されていません。これは私の/usr/share/applications/emacs24.desktopです:

[Desktop Entry]
Version=1.0
Name=GNU Emacs 24 (GUI)
GenericName=Text Editor
Comment=GNU Emacs is an extensible, customizable text editor - and more
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-Java;text/x-moc;text/x-Pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
TryExec=/usr/bin/emacs24
Exec=/usr/bin/emacs24 %F
Icon=emacs24
Type=Application
Terminal=false
Categories=Utility;Development;TextEditor;
StartupWMClass=Emacs
Keywords=Text;Editor;

見逃したことはありますか?他に何を試すことができますか?

3
Jay

メニューは$XDG_DATA_DIRS/applications/*.desktopファイルから生成する必要があります。ここで、$XDG_DATA_DIRSは通常、少なくとも1つのディレクトリ/usr/shareを指します。各ファイルには、名前、実行するプログラム、アイコン、カテゴリなど、いくつかのメニューエントリのプロパティが記述されています。このファイルはプログラムのインストール中に生成する必要があるため、このプロセス中に問題が発生した可能性があります。

とにかく、このファイルは自分で作成できます。最も簡単な方法は、既存のファイルの1つをコピーして、「Name」と「Exec」のエントリのみを変更することです。結局、wmを再起動するだけで、新しいファイルを読み取る必要があります。

参考までに、これが私のemacs.desktopです。

[Desktop Entry]
Type=Application
Version=1.0
Name=GNU Emacs
GenericName=Emacs
Comment=Emacs is the extensible, customizable, self-documenting real-time display editor
Comment[de]=Emacs ist der erweiterbare, anpassbare, selbst-dokumentierende Echtzeit-Editor
Comment[es]=Emacs es un editor ampliable, adaptable, mismo documentado, de tiempo real
Comment[fr]=Emacs est l'éditeur plein écran avancé, auto-documenté, personnalisable et extensible
Icon=emacs
TryExec=/usr/bin/emacs
Exec=/usr/bin/emacs %F
Terminal=false
MimeType=text/css;text/english;text/html;text/plain;text/x-c;text/x-chdr;text/x-csrc;text/x-c++;text/x-c++hdr;text/x-c++src;text/x-Java;text/x-makefile;text/x-moc;text/x-Pascal;text/x-tcl;text/x-tex;application/x-shellscript;
Categories=Development;TextEditor;
StartupWMClass=Emacs

ご覧のとおり、私の場合、emacsは「開発」と「テキストエディタ」の2つのメニューカテゴリに分類されます。これらの名前は、既存のメニューカテゴリに従って調整できます。

1
jimmij