Installieren Sie automatisch ein Desktop-Startprogramm für ein Ubuntu-.deb-Paket

4403
Ton van den Heuvel

Ich packe derzeit eine Anwendung in eine Ubuntu-.deb-Datei. Das Paket wird nicht öffentlich verteilt.

Derzeit packe ich eine .desktop-Datei, in die installiert wird /usr/share/applications. Nach der Installation des Pakets wird die .desktop-Datei korrekt abgerufen und ein neuer Eintrag für meine Anwendung wird dem Anwendungsmenü hinzugefügt. So weit, ist es gut.

Neben dem Menüeintrag Anwendungen möchte ich jedoch auch einen Anwendungsstarter auf dem Desktop des Benutzers installieren. Das Problem ist, dass ich das Verzeichnis des Desktops des Benutzers nicht im Voraus kenne. Wie installiere ich ein Startprogramm auf dem Desktop des Benutzers?

2

1 Antwort auf die Frage

3
alfplayer

https://stackoverflow.com/questions/119031/how-to-set-my-applications-desktop-icon-for-linux-kde-gnome-etc

BEARBEITEN: Siehe Kommentare für Informationen zur Verwendung des Befehls xdg-desktop-icon in postinst / postrm-Skripts.

Ich habe bereits eine .desktop-Datei. Die Herausforderung besteht darin, sie auf dem Desktop des Benutzers zu installieren. Ich benutze nicht Cmake, ich verwende Ubuntus Paketierungstools dh_make und debuild. Ton van den Heuvel vor 14 Jahren 0
Ich weiß nicht, ob es einen besseren Weg gibt, aber Sie können es installieren, indem Sie xdg-desktop-icon install ... / program.desktop aus dem Post-Installationsskript debian / postinst aufrufen und es entfernen, indem Sie xdg-desktop-icon deinstallieren ... aus dem Post-Remove-Skript debian / postrm alfplayer vor 14 Jahren 1
Ich habe versucht, `xdg-desktop-icon install` zu verwenden. Das Desktopsymbol wird auf dem Desktop des Benutzers installiert, ist jedoch für root schreibgeschützt. Wie stellen Sie sicher, dass das Desktopsymbol vom Benutzer verwendet werden kann? Ton van den Heuvel vor 14 Jahren 0
Die Umgebungsvariablen $ SUDO_USER und $ HOME (ich glaube, dass beide auf postinst vorhanden sind) sind hilfreich, da sie sich auf den Benutzer beziehen, der das Installationsprogramm ausgeführt hat. Nach der Installation der Datei können Sie den Besitz der Datei in $ SUDO_USER und die Dateiberechtigungen in 755 ändern. alfplayer vor 14 Jahren 1
Danke, ich habe es mit der Umgebungsvariable `$ SUDO_USER` arbeiten lassen. Aus irgendeinem Grund bestand das `xdg-desktop-icon` darauf, die .desktop-Datei plötzlich in` / root / Desktop` zu installieren. Ich kopiere die .desktop-Datei jetzt manuell auf den Desktop von $ SUDO_USER und passe die Berechtigungen entsprechend an. Ton van den Heuvel vor 14 Jahren 0
Die Manpage von xdg-desktop-icon besagt, dass die Datei auf dem Desktop des aktuellen Benutzers installiert wird, der auf postinst und postrm root ist. alfplayer vor 14 Jahren 0
postinst: `su - $ SUDO_USER -c" xdg-desktop-icon install /path/to/your/program.desktop "`. Verwenden Sie für die Vorbereitung dasselbe, aber "deinstallieren" David Citron vor 13 Jahren 0
Das ist genau der Grund, warum es eine schlechte Idee ist, Verknüpfungen bei der Installation auf dem Desktop zu installieren. Die Installation wird von root ausgeführt. Es sollte niemals Benutzerdateien berühren. MestreLion vor 11 Jahren 0