Hvordan lage oppgavelinje og menyoppføringer for Linux-applikasjoner

Hvordan lage oppgavelinje og menyoppføringer for Linux-applikasjoner

Noen ganger er ikke Linux-applikasjoner tilgjengelig fra distroens depoter og programvarebutikker, eller som nedlastbare DEB- eller RPM-pakker. Mange ganger er apper bare tilgjengelige som AppImages eller old-school tarballs. Disse frittstående kjørbare filene installeres faktisk ikke, de bare kjører.





Problemet er at uten installasjon har du ikke oppgavelinje eller menyoppføringer for disse appene. Selv om det finnes verktøy for å gjøre det enklere å lage disse oppføringene, er det greit å vite hvordan du oppretter dem manuelt selv.





Heldigvis er de fleste store Linux-skrivebordsmiljøer avhengige av et felles sett med spesifikasjoner levert av freedesktop.org. Så prosessen med å lage applikasjonssnarveier fungerer på samme måte på forskjellige Linux-distribusjoner.





Trinn 1: Vis skjulte filer og mapper

Egendefinerte menyoppføringer opprettes fra skrivebordsfiler som ligger i en skjult mappe i hjemmekatalogen din:

/home/username/.local/share/applications

Det første du må gjøre er å konfigurere filbehandleren til se skjulte filer og mapper . Åpne filbehandleren, klikk på menyikonet (tre horisontale streker), og merk av i boksen ved siden av Vis skjulte filer .



  Innstillingene for Nautilus-filbehandling åpnes med Vis skjulte filer avmerket.

En håndfull nye filer og mapper som starter med en periode, inkludert .local , skal nå vises i hjemmekatalogen din​ (ved å legge til et punktum (.) i begynnelsen av et filnavn eller en katalog skjuler du filer og mapper på Linux).

  Innstillingene for Nautilus-filbehandling åpnes med Vis skjulte filer uthevet.

Gå over til .local > dele > applikasjoner mappe. Hvis dette er en helt ny Linux-installasjon, må du kanskje opprette applikasjoner mappe selv. Det er her du lagrer skrivebordsfilene dine.





Trinn 2: Finn WMClass av appen

Den neste tingen å gjøre er å identifisere programmets WMClass, eller vindus-ID. Dette lar oss lage en moderne oppgavelinjeoppføring som kombinerer både programstarter og åpne vinduer til et enkelt ikon. Hvis du hopper over dette trinnet, har du bare opprettet en snarvei for å starte applikasjonen .

For å identifisere din spesifikke applikasjons WMClass, start AppImage eller tarball på den gammeldagse måten ved å starte den kjørbare direkte.





Finne WMClass på X11

Hvis du bruker X11, åpne en terminal og skriv inn:

hvordan finne noen sin ønskeliste på amazon
xprop WM_CLASS

Musepekeren skal bli til et trådkors.

  Ubuntu-skrivebordet som viser Terminal og Bitwarden-vinduet

Klikk hvor som helst i programvinduet og terminalen skal vise utdata i dette formatet:

WM_CLASS(STRING) = appname, AppName

Den andre verdien i tilbud er søknadens WMClasse ; husk det til neste trinn.

Finner WMClass på Wayland

Hvis du er på en nyere distribusjon, bruker du kanskje ikke den tradisjonelle X11-skjermserveren, men heller den nyere, berøringsvennlige Wayland . Dessverre fungerer dette trikset bare med GNOME da det er avhengig av GNOME Shells Looking Glass-verktøy.

  1. trykk Alt + F2 , type lg , og trykk Tast inn .
  2. Klikk på Windows fanen.
  ​​​​​​Ubuntu-skrivebord med rullegardinmenyen GNOME Shell Looking Glass

Alle dine åpne vinduer skal nå være oppført sammen med deres respektive wmclass . Husk å notere ned wmclass av søknaden din for neste trinn.

Trinn 3: Opprette en skrivebordsfil

Nå er det på tide å lage en skrivebordsfil. Åpne et tekstredigeringsprogram og lim inn følgende i en ny fil:

[Desktop Entry] 
Type=Application
Name=ApplicationName
GenericName=ApplicationType
Icon=/home/Username/.local/share/applications/ApplicationIcon.extension
Exec=/home/Username/ApplicationDirectory/ApplicationExecutable.extension
Terminal=false
Categories=ApplicationSubCategory;ApplicationCategory
Keywords=Keyword1;Keyword2;Keyword3
StartupWMClass=ApplicationWMClass

La oss gå gjennom dette linje for linje:

  1. [Desktop Entry] identifiserer filen som en skrivebordsmenyoppføring og bør alltid stå som den er.
  2. Type identifiserer at snarveien er til en applikasjon . Andre alternativer inkluderer Directory og Link.
  3. Navn identifiserer navnet på søknaden din. Endring Programnavn for å gjenspeile navnet på søknaden din.
  4. Generisk navn identifiserer applikasjonstypen. Endring ApplicationType til en generisk beskrivelse som 'Tekstredigering' eller 'Nettleser'.
  5. Ikon identifiserer ikonet knyttet til applikasjonen din. Du kan velge hvilken som helst bildefil, men PNG og SVG fungerer vanligvis best. Endring /home/Brukernavn/.local/share/applications/ApplicationIcon.extension for å gjenspeile plasseringen av applikasjonens ikon.
  6. Exec identifiserer programmets kjørbare fil. Endring /home/Brukernavn/ApplicationDirectory/ApplicationExecutable.extension for å gjenspeile plasseringen og navnet på programmets kjørbare fil.
  7. Terminal identifiserer applikasjonen din som kjører i et terminalvindu eller ikke. Alternativer her er ekte for terminal og falsk for grafiske applikasjoner.
  8. Kategorier identifiserer hvilke kategorier og/eller underkategorier søknaden din tilhører. Erstatte Application SubCategory og Application Category med de riktige kategoriene og/eller underkategoriene for søknaden din— du kan finne en komplett liste over alternativer på freedesktop.org . Selv om du kan inkludere flere valg av hver, kan dette føre til at applikasjonen din vises flere ganger i menyene dine.
  9. Nøkkelord identifiserer ord for å hjelpe søket etter applikasjonen din. Endre nøkkelord1, nøkkelord2 og nøkkelord3 til et hvilket som helst antall nøkkelord du vil knytte til applikasjonen din, atskilt med semikolon (;).
  10. StartupWMClass identifiserer programmets vinduer. Erstatte ApplicationWMClass med programmets WMC-klasse fra forrige seksjon.

Her er et eksempel som bruker Bitwarden AppImage og nedlastingsmappen som ikon og kjørbar katalog.

[Desktop Entry] 
Type=Application
Name=Bitwarden
GenericName=Password Manager
Icon=/home/adam/Downloads/Bitwarden.png
Exec=/home/adam/Downloads/Bitwarden-22.6.2-x86_64.AppImage
Terminal=false
Categories=Security;System
Keywords=Bitwarden;Crypto;Passwords;Security
StartupWMClass=bitwarden

Gjør endringene og lagre tekstfilen som ApplicationName.desktop i /home/brukernavn/.local/share/applications/ .

Applikasjonen din skal nå vises i menyene dine:

  Ubuntu-skrivebord med Bitwarden i Dock og applikasjonsmenyen.

Du kan nå feste AppImages og tarballs til oppgavelinjen eller dokken, og de vil generelt fungere akkurat som normalt installerte applikasjoner.

Bruke sitater for å håndtere mellomrom

Hvis en katalog, et ikon eller en kjørbar fil inneholder et mellomrom, er det usannsynlig at skrivebordsfilen din vil fungere:

Exec=/home/Username/Application Directory/Application Executable.extension

Du må inkludere anførselstegn på begynnelsen og slutten av Ikon og Exec Enger. For eksempel:

Exec=/home/Username/Application Directory/Application Executable.extension

Nå skal programmets menyoppføring fungere skikkelig.

Bruke stjerner for å håndtere versjonsnumre

Hvis programmets kjørbare fil inneholder versjonsnumre, må du oppdatere skrivebordsfilen hver gang programmet oppdateres:

Exec=/home/Username/ApplicationDirectory/ApplicationExecutable-v2.2.extension

Imidlertid kan KDE-brukere bruke en stjerne (*) som jokertegn for å erstatte endrende tekst, for eksempel versjonsnumre, slik:

Exec=/home/Username/ApplicationDirectory/ApplicationExecutable-v*.extension

Dessverre respekterer ikke GNOME jokertegn i skrivebordsfiler, men du kan alltid gi nytt navn til den kjørbare filen og fjerne versjonsnummeret.

Lag dine egne programmenyoppføringer på Linux

Nå når du laster ned et AppImage eller tarball, vil du kunne integrere det i oppgavelinjen og menyene som om det var et annet installert program.

Underveis lærte du også hvordan du viser skjulte filer og kataloger i filbehandleren din (og skjuler dem også), oppretter skrivebordsfiler og et par metoder for å identifisere en applikasjons WMClass.

Vanligvis vil du få menyoppføringen opprettet for deg som standard, gitt at du får programvaren fra en pålitelig kilde.