私のapplication.desktopファイルがLinuxアプリケーションメニューに表示されないのはなぜですか?

私のapplication.desktopファイルがLinuxアプリケーションメニューに表示されないのはなぜですか?

私は長年にわたって多くのオープンソースプログラムを書いてきましたが、最近はそうではありませんでした。私の新しいプロジェクトのメニュー項目はgnomeまたはkdeメニューにまったく表示されません。

もともと.desktopファイルを/usr/share/applicationsにインストールしましたが、後でDesktop-file-utilsを使用するように修正しました。みんな役に立たなかった。 postinstスクリプトにupdate-desktop-databaseを追加しました...何もありません。

エントリを確認し、ファイルマネージャでエントリが正確で実行権限を与えてみました。エラーは見つかりませんが表示されません。最近、アプリのメニュー項目を表示するために新しい作業が必要ですか?

.desktop ファイルは次のとおりです。

silentcoder@ravenriley ~/SOURCE/ezdm $ cat ezdm.desktop 
[Desktop Entry]
Type=Application
Name=EZDM
GenericName=Easy Dungeon Master
Comment=A tookit for AD&D Dungeon Master
TryExec=/usr/games/ezdm
Exec=/usr/games/ezdm
Categories=Game;RolePlaying;
Icon=/usr/share/icons/hicolor/128x128/ezdm.png
Terminal=false

catezdmconsole.desktop

[Desktop Entry]
Type=Application
Name=EZDM-Console
GenericName=Easy Dungeon Master (Console version)
Comment=A tookit for AD&D Dungeon Master
TryExec=/usr/games/ezdm --console
Exec=/usr/games/ezdm --console
Categories=Game;RolePlaying;
Icon=/usr/share/icons/hicolor/128x128/ezdm-console.png
Terminal=1
X-Desktop-File-Install-Version=0.20

他のコードが役に立つ場合は、githubで参照できます。https://github.com/ajventer/ezdm

更新:ファイルを/ usr / share / applications / kde4にコピーすると(明らかに私のパッケージではコピーしたくありません。最終的にgnomeでも機能する必要があります)、ezdm.desktopが突然表示されると謎が深まります。メニューが表示されますが、ezdm-console.desktopはまだ拒否します。

更新:関連する場合:Makefileから:

install:
                $(PYTHON) setup.py install --prefix=/${PREFIX} --root $(DESTDIR) --install-scripts=/${PREFIX}/games/ --no-compile --force --record .install.record --install-layout=deb
                mkdir -p ${DESTDIR}/${PREFIX}/share/applications
                mkdir -p ${DESTDIR}/${PREFIX}/share/icons/hicolor/128x128/
                desktop-file-install --dir=${DESTDIR}/${PREFIX}/share/applications/ ezdm.desktop 
                desktop-file-install --dir=${DESTDIR}/${PREFIX}/share/applications/ ezdm-console.desktop 
                install -g root -o root -m 0666 ezdm.png ${DESTDIR}/${PREFIX}/share/icons/hicolor/128x128/ezdm.png
                install -g root -o root -m 0666 ezdm-console.png ${DESTDIR}/${PREFIX}/share/icons/hicolor/128x128/ezdm-console.png 
                update-desktop-database ${DESTDIR}/${PREFIX}/share/applications

そしてDebian/ポスト:

cat debian/postinst 
#!/bin/bash -x
ln -sf /usr/games/ezdm* /usr/bin
for I in /usr/lib/python2.7/dist-packages/ezdm_libs/*.py; do
        python -m compileall $I
done
update-desktop-database
#DEBHELPER#

ベストアンサー1

この試み:

xdg-desktop-menu forceupdate [--mode mode]

外の

man xdg-desktop-menu 

おすすめ記事