Shell Scripting zum Erstellen einer .desktop-Datei für eine tragbare Anwendung

Bash Shell Scripting: Erstellen Sie einen Link einer tragbaren App.

Bash Shell Scripting: Erstellen Sie einen Link einer tragbaren App.

Der auf Betriebssysteme verwendete Begriff Shell bezieht sich auf den Befehlsinterpreter des Betriebssystems. Im Allgemeinen handelt es sich um eine leistungsstarke Textschnittstelle, die sich in Form eines Terminals (Konsole) manifestiert und im Wesentlichen drei wichtige Arbeitsbereiche erfüllt: Verwalten des Betriebssystems, Ausführen von Anwendungen und Interaktion mit ihnen sowie als Basis Umgebungsprogrammierung. Und Skripterstellung bezieht sich auf die Technik zum Entwerfen und Erstellen von Skripten mithilfe einer Shell.

Shell-Skripte sind äußerst nützlich. Es ist eine gute Idee, die Anforderungen zu schreiben, die wir haben, und dann Skripte zu bearbeiten, die diese Arbeit für uns erledigen. In diesem speziellen Fall werden wir damit Anwendungslinks (Verknüpfungen) im Startmenü und auf dem Desktop von tragbaren, sich selbst ausführenden und in sich geschlossenen Apps erstellen.

Alacarte Linux-Anwendung

Einführung

Oft haben wir Anwendungen heruntergeladen und installiert, die sich bei der Installation oder Ausführung nicht in den Repositorys unserer GNU / Linux-Distribution befinden oder nicht. Dabei werden die entsprechenden .desktop-Dateien nicht erstellt vom selben oder im besten Fall wird es nicht im richtigen Pfad platziert, so dass es nach dem Aktualisieren des Startmenüs gelesen und in der Liste der installierten Pakete des Betriebssystems angezeigt wird.

Daher müssen wir uns auf die Verwendung von Anwendungen wie "Alacarte" oder "Menulibre" berufen, um den entsprechenden Link im Startmenü manuell zu erstellen.

Und obwohl diese Grafikanwendungen für diesen Zweck sehr einfach zu verwenden sind, ist es nie zu viel zu wissen Erstellen Sie ein eigenes Skript, um diese Operation auszuführen, und wissen Sie so genau, wie diese Operation innerhalb des Betriebssystems ausgeführt wird.

Wenn Sie mit der Erstellung und / oder Verwendung von Shell Scripting-Dateien nicht vertraut sind, können Sie dies tun lesen Sie dies vorheriger Beitrag (Shell, Bash und Scripts) Para Empezar und dann bei Bedarf zu erkunden alle Veröffentlichungen zu diesem Thema.

Kostenlose Linux-Menüanwendung

Erstellen des Programms mit Shell Scripting

Aus Platzgründen gehen wir davon aus, dass wir bereits wissen, wie ein Skript von Grund auf neu erstellt wird, dh wir wissen bereits, wie der Header oder die ersten Teile unseres Skripts erstellt werden, und wir gehen direkt zum Inhalt des Skripts.

Wenn Sie jedoch Zweifel haben, überprüfen Sie dies Vorheriger Beitrag (Erstellen Sie Ihr Programm Schritt für Schritt mit Shell Scripting - Teil 1), um Zweifel zu klären.

Inhalt


#!/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
###############################################################################
Skriptinhalt auf Mousepad

Skriptinhalt auf Mousepad

Mitteilung

Da Sie anhand des Codes analysieren und den Header weglassen können, führt das folgende Skript die folgenden Vorgänge automatisiert aus:

  1. Überprüfen Sie, ob es als Super-User-Root- oder Super-User-Root-Berechtigung verwendet wird.
  2. Löschen Sie frühere Links in der Anwendung, die von einer früheren Version erstellt wurden.
  3. Erstellen Sie die neue Desktop-Datei (Link) der Anwendung in einem eigenen Ordner bei der Benutzer zu Hause.
  4. Weisen Sie der erstellten Datei die Berechtigung des Benutzereigentümers zu.
  5. Weisen Sie der erstellten Datei die entsprechenden Lese- / Schreib- / Ausführungsberechtigungen zu.
  6. Erstellen Sie die neuen symbolischen Links zu den erforderlichen Routen.
  7. Aktualisieren Sie das Startmenü, um die erstellte .desktop-Datei anzuzeigen.
  8. Führen Sie eine bestimmte URL für die erstellte Anwendung aus.

Empfehlung

Es wird empfohlen, diese Datei in dem Ordner zu erstellen, der die betreffende Anwendung / ausführbare Datei mit dem darin angegebenen Symbol (Bild / Logo) enthält, und dass sich dieser Ordner im Pfad befindet /opt anstelle der Route `echo $HOME`/mi_app/ dh /home/mi_usuario/mi_app.

Ich hoffe, dieses kleine Skript ermöglicht es Ihnen, Ihre diesbezüglichen Bedürfnisse zu diesem Thema zu lösen! Bis zum nächsten Artikel.

Während ich dir das verlasse Link auf der offiziellen Gnome-Website zum Thema und dieses Video:


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   Rechnung sagte

    Vielen Dank für diese und alle Ihre Artikel.
    Eine Frage: Wie könnten Sie, wenn Sie kein Root sind, nach dem Passwort mit Sternchen fragen, um die Ausführung mit den entsprechenden Berechtigungen fortzusetzen?

    1.    José Albert sagte

      Sie könnten eine Schnittstelle mit Dialog erstellen und dem Passwort-Eingabefeld die Eigenschaft „Schlüssel verschlüsseln“ geben! Ich erinnere mich noch gut daran, dass es im Dialog eine solche Eigenschaft gibt.

      In diesem vorherigen Eintrag hat jemand etwas Ähnliches gemacht, allerdings grafisch, aber die angehängten Dateien, also der verwendete Code, sind nicht mehr verfügbar: https://blog.desdelinux.net/script-avanzado-en-bash-bashmd5-para-proteger-algo-explicacion-detallada/

  2.   Rechnung sagte

    Danke, es wäre schön, die Bash-Umgebung nicht verlassen zu müssen, falls sie ohne GUI läuft. In diesem Fall spielt es keine Rolle, auch wenn keine Sternchen oder ähnliches vorhanden sind, dass nach dem Schlüssel gefragt wird und kein Text angezeigt wird. Ähm, ich finde es darin http://www.tormentadebits.com/2012/08/scripts-bash-introducir-password-sin-mostrarlo-en-pantalla.html