Ich habe im Laufe der Jahre einige Open-Source-Programme geschrieben, aber nicht in letzter Zeit, und ich hatte dieses Problem noch nie zuvor. Die Menüpunkte für mein neues Projekt werden einfach nicht in Menüs auf gnome oder kde angezeigt.
Ich habe die .desktop-Dateien ursprünglich nur in / usr / share / applications installiert, sie aber später so geändert, dass sie Desktop-Datei-Utils verwenden - alles ohne Erfolg. Ich habe meinem Postinst-Skript eine Update-Desktop-Datenbank hinzugefügt ... nichts
Ich habe die Einträge überprüft und im Dateimanager sind sie korrekt. Ich habe versucht, ihnen Ausführungsberechtigungen zu erteilen. Ich kann nichts Falsches finden, aber sie werden einfach nicht angezeigt. Gibt es etwas Neues zu tun, damit die Menüpunkte Ihrer App heutzutage angezeigt werden?
Die .desktop-Dateien sind:
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
cat ezdmconsole.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
Und wenn einer der anderen Codes nützlich sein könnte, kann er auf github durchsucht werden: https://github.com/ajventer/ezdm
UPDATE: Das Rätsel vertieft sich, wenn ich die Dateien nach / usr / share / applications / kde4 kopiere (was ich natürlich nicht in meinem Paket tun möchte - schließlich sollte es auch in gnome funktionieren), dann tut es plötzlich ezdm.desktop erscheinen im Menü, aber ezdm-console.desktop weigert sich immer noch.
UPDATE: da es relevant sein kann: Aus 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
Und debian / postinst:
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#