
Op Linux kan een toepassing zonder desktopbestand niet worden geïntegreerd met uw desktopomgeving. De meeste toepassingen bieden er een, maar af en toe moet u er een maken. Het is vrij eenvoudig, volg gewoon deze stappen.
Bureaubladbestanden
Desktopbestanden bevatten informatie over de toepassing of het script waartoe ze behoren. Ze worden meestal gebruikt met binaire uitvoerbare bestanden, maar u kunt ze ook met een script gebruiken, als u dat wilt. Kortheidshalve zeggen we gewoon ’toepassing’.
Een desktopbestand bevat metadata waarnaar uw desktopomgeving kan verwijzen wanneer deze met die toepassing te maken heeft. Het bureaubladbestand geeft aan waar het binaire bestand of het script van de toepassing zich bevindt, welk pictogram het gebruikt, enzovoort. Omdat desktopbestanden op standaardlocaties worden opgeslagen, kan uw desktopomgeving ze op betrouwbare wijze lokaliseren en ernaar verwijzen.
Als een toepassing geen desktopbestand heeft, zal een deel van de integratie met uw desktopomgeving mislukken. Het wordt niet weergegeven in de resultaten van zoekopdrachten naar toepassingen, en u kunt het ook niet vastpinnen op het dock of een ander opstartprogramma. In sommige bureaubladomgevingen kunt u een bureaubladbestand op uw bureaublad plaatsen en het zal fungeren als een snelkoppeling, zodat u de toepassing kunt uitvoeren door te dubbelklikken op het bureaubladbestand. Het is deze use-case die hen hun naam heeft gegeven.
Toepassingen hebben om een aantal redenen mogelijk geen bureaubladbestand. De installatieroutine kan een hik hebben gehad, of het kan een minimalistisch installatieprogramma zijn dat nooit van plan was er een te bieden. Door een applicatie als broncode te downloaden en op uw computer te compileren, wordt vaak geen desktopbestand gemaakt.
Als je de applicatie zelf hebt geschreven, ben je natuurlijk ook verantwoordelijk voor het desktopbestand. Applicaties die zich netjes gedragen en voldoen aan de normen en verwachtingen van uw desktopomgeving, voelen professioneel aan en geven gebruikers het vertrouwen dat u weet wat u doet.
Ongeacht waarom u op het punt staat een bureaubladbestand te maken, hoe u dit doet, is in alle gevallen hetzelfde.
De constructie van een bureaubladbestand
Een desktopbestand is een gewoon tekstbestand. Ze kunnen met elke teksteditor worden gemaakt. Ze krijgen dezelfde naam als de applicatie die ze vertegenwoordigen en hebben volgens afspraak de extensie “.desktop”.
Desktopbestanden kunnen opmerkingen, groepskoppen en sleutel-waardeparen bevatten.
-
Opmerkingen: Reacties beginnen met een hash “
#“. - Groepskoppen: Groepskoppen fungeren als sectietitels. Ze staan tussen haakjes “[]”. Ze worden gebruikt om gerelateerde sets sleutel-waardeparen te groeperen. De enige verplichte groepskoptekst is “[Desktop Entry].”
-
Sleutel-waardeparen: Instellingen worden ingevoerd door waarden te geven aan benoemde elementen of “sleutels”. Bijvoorbeeld,
Type=Applicationis een sleutel-waardepaar. “Type” is de sleutel en “Toepassing” is de waarde.
Een uitgewerkt voorbeeld
Zorg ervoor dat de toepassing wordt uitgevoerd voordat u begint. Open een terminalvenster en start de applicatie. Als het loopt, is dat geweldig. U kunt doorgaan en uw bureaubladbestand maken. Als de toepassing niet wordt uitgevoerd, zal het nog steeds niet werken, wat u ook in uw bureaubladbestand plaatst.
U moet corrigeren wat het ook is dat de toepassing verhindert om te starten voordat u er zelfs maar aan denkt om nog een abstractielaag toe te voegen door middel van een bureaubladbestand.
Het programma waarmee we werken heeft een uitvoerbaar bestand genaamd taf bevindt zich in de map “/usr/local/bin/taf/”. We starten de applicatie om ervoor te zorgen dat deze probleemloos opstart.
./taf

Het programma start prima.

Die simpele test levert bruikbare kennis op. Als we problemen ondervinden bij het starten van de applicatie vanuit ons desktopbestand, betekent dit dat het probleem iets te maken moet hebben met het desktopbestand en niet met de applicatie zelf.
We kunnen ons bureaubladbestand overal maken, maar om het in gebruik te nemen, moeten we het naar een van de twee plaatsen kopiëren.
- Als u de enige persoon bent die de toepassing zal gebruiken, kopieer dan uw bureaubladbestand naar uw map “~/.local/share/applications”.
- Als u wilt dat alle gebruikers de toepassing kunnen gebruiken, kopieert u uw bureaubladbestand naar de map “/usr/share/applications/”.
Een volledig werkend bureaubladbestand hoeft niet veel informatie te bevatten. Hier is het bureaubladbestand dat we hebben gemaakt voor de taf sollicitatie. Het heet ’taf.desktop’.
[Desktop Entry] Name=Text Adventure Framework GenericName=Interpreter for GDL Adventure Scripts Comment=Game Description Language interpreter Version=1.0 Exec=/usr/local/bin/taf/taf Path=/usr/local/bin/taf/ Icon=/usr/local/bin/taf/taf_icon.png Terminal=false Type=Application Categories=GNOME;GTK;Game;
Dit kan worden gebruikt als sjabloon voor uw eigen bureaubladbestanden. Vergeet niet om de naam van uw uitvoerbare bestand te gebruiken voor de toepassing waarvoor u het bureaubladbestand maakt, en pas de mappaden aan.
Dit is wat elk van de regels betekent.
- [Desktop Entry]: Deze regel identificeert het bestand als een desktopbestand. Zelfs als het bestand een verkeerde naam had en geen extensie “.desktop” had, zou het moeten worden herkend en behandeld als een desktopbestand.
- Naam: De volledige titel van de toepassing, niet de naam van het uitvoerbare bestand. Dit wordt weergegeven onder het toepassingspictogram wanneer het wordt weergegeven in de bureaubladomgeving. Het is ook de tekst die in tooltips wordt gebruikt.
- GeneriekeNaam: Een algemene beschrijving van het soort toepassing dat dit is. Als er een algemene term van toepassing is, zoals webbrowser, IDE of tekstverwerker, zou je die kunnen gebruiken.
- Opmerking: Dit is bedoeld om aanvullende informatie te verstrekken ter aanvulling van de sleutel-waardeparen “Naam” en “GeneriekeNaam”.
- Versie: De versie van de desktopbestandsspecificatie waaraan dit bestand voldoet.
- directeur: Dit kan de naam van het uitvoerbare bestand zijn, of het volledige pad naar het uitvoerbare bestand, inclusief de naam van het uitvoerbare bestand.
- Pad: Dit is het pad naar de map van waaruit de toepassing wordt gestart. Het is de werkdirectory van de applicatie bij het opstarten.
- Icoon: Het pictogram van de applicatie. Dit pictogram wordt gebruikt in zoekresultaten van applicaties en wanneer de applicatie wordt toegevoegd aan het dock of een ander opstartprogramma.
- Terminal: Geeft aan of de toepassing in een terminalvenster wordt uitgevoerd.
- Type: Voor reguliere applicaties is dit altijd ‘Applicatie’.
-
Categorieën: Deze waarde moet worden afgesloten met een puntkomma “
;” omdat het een bevat lijst. De lijst bevat categorieën waaronder de toepassing in menu’s kan worden vermeld.
Elke keer dat u uw live desktop-bestand – dat in “~/.local/share/applications” of “/usr/share/applications/” – je moet uitloggen en opnieuw inloggen om te zien welk effect je wijzigingen hebben gemaakt. Om dit te voorkomen, kunt u de update-desktop-database opdracht. Je moet gebruiken sudo wanneer je dat doet.
sudo update-desktop-database

Er is ook een hulpprogramma om uw bureaubladbestand op juistheid te controleren. Als het syntaxis of andere fouten detecteert, rapporteert het deze aan u. We voegen het woord “Toepassing” toe aan de regel “Categorieën” in ons bestand en controleren het.
We hebben de laatste regel gewijzigd in:
Categories=GNOME;GTK;Game;Application;
Dit zou een fout moeten opleveren omdat de categorie “Toepassing” is verouderd.
desktop-file-validate taf.desktop

De validator geeft ons een waarschuwing dat de categorie “Toepassing” niet langer een acceptabele waarde is in de lijst “Categorieën”.
Uw bureaubladbestand gebruiken
Als de toepassing alleen voor uw gebruik is, kopieer dan het bureaubladbestand naar uw map “~/.local/share/applications”. Als alle gebruikers de toepassing mogen gebruiken, kopieert u het bureaubladbestand naar de map “/usr/share/applications/”.
We gaan het naar de map “/usr/share/applications/” kopiëren.
sudo cp taf.desktop /usr/share/applications

We zorgen er ook voor dat ons nieuwe desktopbestand wordt gelezen en dat de metagegevens aan de database worden toegevoegd.
sudo update-desktop-database

De “Super”-toets bevindt zich meestal tussen de linker “Ctrl” en “Alt”-toetsen. Door op de “Super”-toets in GNOME te drukken, wordt het zoeken naar toepassingen geopend. Omdat ons desktopbestand een toepassing beschreef met de naam “Text Adventure Framework”, is het invoeren van “tekst” als zoekaanwijzing voldoende om het pictogram van de toepassing in de zoekresultaten weer te geven.

Als u op het pictogram klikt, wordt de toepassing gestart.

De applicatie is mooi geïntegreerd in de desktopomgeving. Het pictogram wordt correct weergegeven in het dock terwijl het wordt uitgevoerd. Als u naar het pictogram wijst, wordt een tooltip weergegeven met de volledige naam van de toepassing.

Als u op het pictogram klikt, wordt de voorbeeldweergave van het venster weergegeven, met de vensters die de toepassing heeft geopend.

Als u met de rechtermuisknop op het toepassingspictogram klikt, verschijnt er een contextmenu. Als u de optie “Toevoegen aan favorieten” selecteert, wordt de toepassing vastgezet op het dock.

Het applicatiepictogram wordt boven de scheidingslijn geplaatst en wordt een permanent pictogram op het dock. Het pictogram is zelfs aanwezig als de toepassing niet actief is.

Ga inheems
Gebruikers verwachten bepaalde dingen met desktopapplicaties te kunnen doen. Ze verwachten dat de applicatie wordt vermeld in de zoekresultaten. Ze gaan ervan uit dat het kan worden vastgemaakt aan draagraketten en docks, en hebben de andere voordelen van een goed opgevoede native applicatie. Een verrassend aantal van deze interacties wordt beheerd door desktopbestanden.
Als u merkt dat u te maken heeft met een toepassing waarvan het bureaubladbestand ontbreekt, kunt u er nu een maken. Het is zeker beter om de applicatie elke keer met de hand te starten.