Shell Scripting för att skapa en .desktop-fil för en bärbar applikation

Bash Shell Scripting: Skapa en länk till en bärbar app.

Bash Shell Scripting: Skapa en länk till en bärbar app.

Termen Shell som används på operativsystem avser operativt kommandotolk. I allmänhet är det ett högpresterande textgränssnitt som manifesterar sig i form av en terminal (konsol) och som huvudsakligen fungerar för 3 viktiga arbetsområden: Administrera operativsystemet, köra applikationer och interagera med dem och fungera som en grundläggande miljöprogrammering. Och Scripting hänvisar till tekniken för att designa och skapa skript med hjälp av en Shell.

Shell-skript är extremt användbara. Det är en bra idé att skriva de behov som vi har och sedan redigera skript som gör detta för oss. Och i detta speciella fall kommer vi att använda den för att skapa länkar (genvägar) till applikationer i startmenyn och skrivbordet för bärbara, självkörande och fristående appar.

Alacarte Linux-applikation

Inledning

Många gånger har vi laddat ner och installerat program som inte finns i förvaren för vår GNU / Linux-distribution, när de installerar eller kör det, det skapar inte respektive .desktop-filer av samma eller i bästa fall placerar den inte i rätt väg så att den efter uppdatering av Start-menyn läses och visas i listan över installerade paket i operativsystemet.

Därför måste vi vädja till användningen av applikationer som "Alacarte" eller "Menulibre" för att manuellt skapa respektive länk i Start-menyn.

Och även om dessa grafiska applikationer är mycket enkla att använda för detta ändamål är det aldrig för mycket att veta skapa vårt eget skript för att utföra denna operation och därmed veta inifrån hur nämnda operation utförs inom operativsystemet.

Om du inte känner till skapandet och / eller användningen av Shell Scripting-filer kan du Läs detta föregående inlägg (Shell, Bash och Scripts) att börja och sedan vid behov för att utforska alla publikationer om ämnet.

Linux Free Menu Application

Skapa programmet med hjälp av Shell Scripting

Vi kommer att anta av rymdskäl att vi redan vet hur man skapar ett manus från grunden, det vill säga vi vet redan hur man skapar rubriken eller initiala delar av vårt manus och vi går direkt till dess innehåll.

Men om du tvivlar på det, kontrollera detta föregående inlägg (Bygg ditt program steg för steg med hjälp av Shell Scripting - Del 1) för att klargöra tvivel.

innehåll


#!/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
###############################################################################
Skriptinnehåll på Mousepad

Skriptinnehåll på Mousepad

Kommentarer

Som du kan analysera från koden och utelämna rubriken utför följande skript följande åtgärder på ett automatiserat sätt:

  1. Verifiera att du används som superanvändarrot eller superanvändares rootbehörighet.
  2. Ta bort tidigare länkar i programmet som har skapats av en tidigare version.
  3. Skapa den nya .desktop-filen (länken) för applikationen i sin egen mapp i användarens hem.
  4. Tilldela användarägarens behörighet till den skapade filen.
  5. Ge den skapade filen lämpliga läs / skriv / kör behörigheter.
  6. Skapa de nya symboliska länkarna till nödvändiga rutter.
  7. Uppdatera startmenyn så att den skapade .desktop-filen visas.
  8. Kör en specifik URL på den skapade applikationen.

rekommendation

Det rekommenderas att den här filen skapas i den mapp som innehåller applikationen / körningen i fråga med respektive ikon (bild / logotyp) specificerad i den och att nämnda mapp finns i sökvägen /opt istället för rutten `echo $HOME`/mi_app/ det är /home/mi_usuario/mi_app.

Jag hoppas att det här lilla skriptet gör att du kan lösa dina behov i detta avseende om detta ämne! Fram till nästa artikel.

Medan jag lämnar dig detta länk på den officiella Gnome-webbplatsen om ämnet och den här videon:


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Guillermo sade

    Tack så mycket för detta och alla dina artiklar.
    En fråga: Hur, om du inte är root, kan du begära lösenordet som visar asterisker för att fortsätta körningen med lämpliga behörigheter?

    1.    Ing. José Albert sade

      Du kan skapa ett gränssnitt med dialog och tillämpa rutan för begäran om lösenord för att kryptera nyckeln! Jag minns väl att den här egenskapen finns i dialog.

      I det här föregående inlägget gjorde någon något liknande men grafiskt men de bifogade filerna, det vill säga den använda koden är inte längre tillgänglig: https://blog.desdelinux.net/script-avanzado-en-bash-bashmd5-para-proteger-algo-explicacion-detallada/

  2.   Guillermo sade

    Tack, det skulle vara trevligt att inte behöva lämna bash-miljön om den körs utan ett grafiskt gränssnitt, i så fall spelar det ingen roll även om det inte finns några asterisker eller något, att den ber om nyckeln och ingen text visas . Ummm, jag hittar det i http://www.tormentadebits.com/2012/08/scripts-bash-introducir-password-sin-mostrarlo-en-pantalla.html