Shell Scripting per creare un file .desktop per un'applicazione portatile

Bash Shell Scripting: crea un collegamento a un'app portatile.

Bash Shell Scripting: crea un collegamento a un'app portatile.

Il termine Shell applicato ai sistemi operativi si riferisce all'interprete dei comandi del sistema operativo. In generale, è un'interfaccia di testo ad alte prestazioni che si manifesta sotto forma di un terminale (console) e che serve essenzialmente per 3 importanti aree di lavoro: amministrazione del sistema operativo, esecuzione di applicazioni e interazione con esse e funge da programmazione dell'ambiente di base. E lo scripting si riferisce alla tecnica di progettazione e creazione di script utilizzando una shell.

Gli script di shell sono estremamente utili. È una buona idea scrivere quelle esigenze che abbiamo e poi modificare gli script che fanno questo lavoro per noi. E in questo caso particolare lo useremo per creare collegamenti alle applicazioni (scorciatoie) nel menu di avvio e nel desktop di app portatili, autoeseguibili e autonome.

Applicazione Alacarte Linux

Introduzione

Molte volte abbiamo scaricato e installato applicazioni che, trovandosi o meno nei repository della nostra distribuzione GNU / Linux, durante l'installazione o l'esecuzione, non creano i rispettivi file .desktop dello stesso o nel migliore dei casi non lo colloca nel percorso corretto in modo che dopo l'aggiornamento del Menu Start venga letto e mostrato nell'elenco dei pacchetti installati del Sistema Operativo.

Pertanto, dobbiamo fare appello all'uso di applicazioni come "Alacarte" o "Menulibre" per creare manualmente il rispettivo collegamento nel menu Start.

E sebbene queste applicazioni grafiche siano molto semplici da usare per questo scopo, non è mai troppo da sapere creare il nostro script per eseguire questa operazione e quindi sapere dall'interno come questa operazione viene eseguita all'interno del sistema operativo.

Se non hai familiarità con la creazione e / o l'uso di file Shell Scripting, puoi farlo leggi questo articolo precedente (Shell, Bash e Scripts) per iniziare e poi, se necessario, esplorare tutte le pubblicazioni sull'argomento.

Applicazione di menu gratuita per Linux

Creazione del programma utilizzando Shell Scripting

Assumeremo per ragioni di spazio di sapere già come creare uno script da zero, ovvero sappiamo già come creare l'intestazione o le parti iniziali del nostro script e andremo direttamente al suo contenuto.

Tuttavia, se hai dei dubbi, controlla questo articolo precedente (Costruisci il tuo programma passo dopo passo usando Shell Scripting - Parte 1) per chiarire i dubbi.

Contenuto


#!/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
###############################################################################
Contenuto dello script su Mousepad

Contenuto dello script su Mousepad

Commenti

Come puoi analizzare dal codice e omettendo l'intestazione, il seguente script esegue le seguenti operazioni in modo automatizzato:

  1. Convalida di essere utilizzato come autorizzazione root superutente o root superutente.
  2. Elimina i collegamenti precedenti nell'applicazione che sono stati creati da una versione precedente.
  3. Crea il nuovo file .desktop (link) dell'applicazione nella sua cartella all'interno della home dell'utente.
  4. Assegna l'autorizzazione del proprietario dell'utente al file creato.
  5. Assegnare al file creato le autorizzazioni di lettura / scrittura / esecuzione appropriate.
  6. Creare i nuovi collegamenti simbolici ai percorsi necessari.
  7. Aggiorna il menu di avvio per visualizzare il file .desktop creato.
  8. Esegui un URL specifico sull'applicazione creata.

Raccomandazione

Si consiglia di creare questo file all'interno della cartella che contiene l'applicazione / eseguibile in questione con la rispettiva icona (immagine / logo) specificata al suo interno e che detta cartella si trovi nel percorso /opt invece del percorso `echo $HOME`/mi_app/ esso decir, /home/mi_usuario/mi_app.

Spero che questo piccolo script ti permetta di risolvere le tue esigenze a riguardo su questo argomento! Fino al prossimo articolo.

Mentre ti lascio questo link sul sito ufficiale di Gnome sull'argomento e questo video: