Shell Scripting for å lage en .desktop-fil for en bærbar applikasjon

Bash Shell Scripting: Opprett en lenke til en bærbar app.

Bash Shell Scripting: Opprett en lenke til en bærbar app.

Begrepet Shell brukt på operativsystemer refererer til kommandotolken til operativsystemet. Generelt er det et høyt ytende tekstgrensesnitt som manifesterer seg i form av en terminal (konsoll), og som hovedsakelig tjener til 3 viktige arbeidsområder: Administrere operativsystemet, kjøre applikasjoner og samhandle med dem og fungere som et grunnleggende miljø programmering. Og Scripting refererer til teknikken for å designe og lage skript ved hjelp av en Shell.

Shell-skript er ekstremt nyttige. Det er en god ide å skrive de behovene vi har, og deretter redigere skript som gjør dette for oss. Og i dette spesielle tilfellet vil vi bruke den til å lage applikasjonskoblinger (snarveier) i startmenyen og skrivebordet til bærbare, selvutførende og selvforsynte apper.

Alacarte Linux-applikasjon

Innledning

Mange ganger har vi lastet ned og installert applikasjoner som, når de installerer eller kjører den, ikke lager de respektive .desktop-filene når de installeres eller kjøres. av det samme, eller i beste fall, plasserer den ikke i riktig vei slik at den etter oppdatering av Start-menyen blir lest og vist i listen over installerte pakker i operativsystemet.

Derfor må vi appellere til bruken av applikasjoner som "Alacarte" eller "Menulibre" for å opprette den respektive lenken manuelt i Start-menyen.

Og selv om disse grafiske applikasjonene er veldig enkle å bruke til dette formålet, er det aldri for mye å vite lage vårt eget skript for å utføre denne operasjonen og dermed vite innenfra hvordan denne operasjonen utføres i operativsystemet.

Hvis du ikke er kjent med opprettelse og / eller bruk av Shell Scripting-filer, kan du Les dette forrige innlegg (Shell, Bash og Scripts) å starte og deretter om nødvendig å utforske alle publikasjoner om emnet.

Linux Free Menu Application

Opprette programmet ved hjelp av Shell Scripting

Av romhensyn vil vi anta at vi allerede vet hvordan vi skal lage et skript fra bunnen av, det vil si at vi allerede vet hvordan du lager toppteksten eller de første delene av skriptet vårt, og vi går direkte til innholdet.

Imidlertid, hvis du er i tvil om det, sjekk dette forrige innlegg (Bygg programmet trinnvis ved hjelp av Shell Scripting - Del 1) for å avklare tvil.

Innhold


#!/usr/bin/env bash
set -eou pipefail
IFS=$'\n\t'
setterm --reset
# NOMBRE: MI-APP LINUX POST INSTALL - SCRIPT BICENTENARIO (MIAPP-LPI-SB)
# VERSIÓN: 1.0+0
# TIPO DE PROGRAMA: SISTEMA EXPERTO
# FUNCIÓN: ASISTENTE TECNICO PARA S.O. GNU/LINUX BASADOS EN DEBIAN
# NOMBRE CODIGO: MIAPP (MIAPP-LPI-SB 1.0+0)
# PAIS ORIGEN: Mi país
# CREADO POR: Mi Nombre
# LICENCIA: Licencia Pública General de GNU 3.

###############################################################################
# INICIO DEL MODULO DE VALIDACION PERMISO DE SUPERUSUARIO (ROOT) SOBRE EL MIAPP-LPI-SB              
###############################################################################

# ESTE MODULO VALIDA QUE SOLO EL SUPERUSUARIO (USUARIO ROOT) PUEDA EJECUTAR
# EL LINUX POST INSTALL - SCRIPT BICENTENARIO.

clear

setterm -background red

if [[ "$(id -u)" != "0" ]]; then
   echo "ESTE SCRIPT DEBE SER EJECUTADO COMO ROOT"
   sleep 3
   clear      
  else
   echo "ESTE SCRIPT SERA EJECUTADO COMO SUPERUSUARIO (ROOT)"
   sleep 3
   clear
fi

###############################################################################
# FINAL DEL MODULO DE VALIDACION PERMISO DE SUPERUSUARIO (ROOT) SOBRE EL MIAPP-LPI-SB
###############################################################################


###############################################################################
# INICIO DEL MODULO DE ORDENES DE COMANDO DE POST INSTALACIÓN
###############################################################################

rm -f $HOME/mi_app/mi_app.desktop
rm -f $HOME/.local/share/applications/mi_app.desktop
rm -f $HOME/Desktop/mi_app.desktop
rm -f $HOME/Escritorio/mi_app.desktop
rm -f /usr/share/applications/mi_app.desktop

###############################################################################

echo "
[Desktop Entry]
Name=My Applicattions
GenericName=My Applicattions
GenericName[es]=Mi Aplicación
Comment=Mi Aplicación
Exec=/opt/mi_app/mi_app
Icon=`echo $HOME`/mi_app/icono_app.png
Terminal=false
Type=Application
Encoding=UTF-8
Categories=Network;Application;
MimeType=x-scheme-handler/mozilla;
X-KDE-Protocols=mozilla
" > `echo $HOME`/mi_app/mi_app.desktop

chown $USER:$USER -R `echo $HOME`/mi_app/mi_app.desktop

chmod 755 `echo $HOME`/mi_app/mi_app.desktop

ln -s `echo $HOME`/mi_app/mi_app.desktop $HOME/.local/share/applications/mi_app.desktop
ln -s `echo $HOME`/mi_app/mi_app.desktop $HOME/Desktop/mi_app.desktop
ln -s `echo $HOME`/mi_app/mi_app.desktop $HOME/Escritorio/mi_app.desktop
ln -s `echo $HOME`/mi_app/mi_app.desktop /usr/share/applications/mi_app.desktop

update-menus

###############################################################################

clear

su - $USER -c "xdg-open 'https://www.mi-app.com/'"

clear

echo ''
echo ''
echo '#------------------------------------------------------------------#'
echo '# GRACIAS POR USAR MI-APP LINUX POST INSTALL #'
echo '#------------------------------------------------------------------#'
echo ''
echo ''

sleep 3

###############################################################################
# FINAL DEL MODULO DE ORDENES DE COMANDO DE POST INSTALACIÓN
###############################################################################
Skriptinnhold på Mousepad

Skriptinnhold på Mousepad

Kommentarer

Som du kan analysere fra koden og utelate overskriften, utfører følgende skript følgende operasjoner på en automatisert måte:

  1. Bekreft at du blir brukt som superbrukerrot eller superbrukerrotstillatelse.
  2. Slett tidligere lenker i applikasjonen som er opprettet av en tidligere versjon.
  3. Opprett den nye .desktop-filen (lenken) til applikasjonen i sin egen mappe i brukerens hjem.
  4. Tildel brukerens eier tillatelse til den opprettede filen.
  5. Gi den opprettede filen de riktige lese / skrive / utføre tillatelsene.
  6. Lag de nye symbolske koblingene til de nødvendige rutene.
  7. Oppdater startmenyen for å vise den opprettet .desktop-filen.
  8. Utfør en spesifikk URL på den opprettede applikasjonen.

anbefaling

Det anbefales at denne filen opprettes i mappen som inneholder applikasjonen / den kjørbare filen med det aktuelle ikonet (bilde / logo) spesifisert i den, og at mappen er plassert i banen /opt i stedet for ruten `echo $HOME`/mi_app/ det vil si /home/mi_usuario/mi_app.

Jeg håper dette lille skriptet lar deg løse dine behov i denne forbindelse om dette emnet! Fram til neste artikkel.

Mens jeg forlater deg dette lenke på det offisielle Gnome-nettstedet om emnet og denne videoen:


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   Bill sa

    Tusen takk for dette og alle artiklene dine.
    Et spørsmål: Hvordan, hvis du ikke er root, kan du be om passordet som viser stjerner for å fortsette kjøringen med de riktige tillatelsene?

    1.    Ing. José Albert sa

      Du kan opprette et grensesnitt med dialog og bruke egenskapen for å kryptere nøkkelen i passordforespørselsboksen! Jeg husker godt at denne egenskapen eksisterer i dialog.

      I dette forrige innlegget gjorde noen noe lignende, men grafisk, men de vedlagte filene, det vil si at koden som brukes ikke lenger er tilgjengelig: https://blog.desdelinux.net/script-avanzado-en-bash-bashmd5-para-proteger-algo-explicacion-detallada/

  2.   Bill sa

    Takk, det ville være fint å ikke måtte forlate bash-miljøet i tilfelle det kjører uten et grafisk grensesnitt, i så fall spiller det ingen rolle selv om det ikke er noen stjerner eller noe, at det ber om nøkkelen og ingen tekst vises. Ummm, jeg finner det i http://www.tormentadebits.com/2012/08/scripts-bash-introducir-password-sin-mostrarlo-en-pantalla.html