Skriptování Shell pro vytvoření souboru .desktop pro přenosnou aplikaci

Skriptování Bash Shell: Vytvořte odkaz na přenosnou aplikaci.

Skriptování Bash Shell: Vytvořte odkaz na přenosnou aplikaci.

Termín Shell použitý v operačních systémech označuje interpreta příkazů operačního systému. Obecně se jedná o vysoce výkonné textové rozhraní, které se projevuje ve formě terminálu (konzoly) a slouží v zásadě pro 3 důležité oblasti práce: správa operačního systému, spouštění aplikací a interakce s nimi a slouží jako základní programování prostředí. A skriptování odkazuje na techniku ​​navrhování a vytváření skriptů pomocí prostředí Shell.

Skripty Shell jsou velmi užitečné. Je dobré napsat ty potřeby, které máme, a poté upravit skripty, které tuto práci za nás dělají. A v tomto konkrétním případě jej použijeme k vytvoření aplikačních odkazů (zkratek) v nabídce Start a na ploše přenosných, samostatných a samostatných aplikací.

Alacarte Linux aplikace

Úvod

Mnohokrát jsme stáhli a nainstalovali aplikace, které, ať už jsou nebo nejsou v úložištích naší distribuce GNU / Linux, při instalaci nebo spuštění nevytvoří příslušné soubory .desktop stejného nebo v nejlepším případě neumístí na správnou cestu, takže po aktualizaci nabídky Start bude načtena a zobrazena v seznamu nainstalovaných balíků operačního systému.

Proto musíme apelovat na použití aplikací jako „Alacarte“ nebo „Menulibre“ k ručnímu vytvoření příslušného odkazu v nabídce Start.

A i když se tyto grafické aplikace pro tento účel velmi snadno používají, nikdy toho není příliš mnoho vědět vytvořte si vlastní skript, který tuto operaci provede, a poznáte tak zevnitř, jak se tato operace v operačním systému provádí.

Pokud nejste obeznámeni s vytvářením a / nebo používáním souborů Shell Scripting, můžete přečti si tohle předchozí příspěvek (Shell, Bash a skripty) začít a pak je-li to nutné prozkoumat všechny publikace na toto téma.

Aplikace Linux Free Menu

Vytvoření programu pomocí skriptování Shell

Předpokládáme z vesmírných důvodů, že již víme, jak vytvořit skript od nuly, to znamená, že už víme, jak vytvořit záhlaví nebo počáteční části našeho skriptu a přejdeme přímo k jeho obsahu.

Pokud však o tom máte pochybnosti, zaškrtněte toto předchozí příspěvek (Sestavte si svůj program krok za krokem pomocí skriptování Shell - část 1), abyste vyjasnili pochybnosti.

obsah


#!/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
###############################################################################
Obsah skriptu na Mousepad

Obsah skriptu na Mousepad

Komentáře

Jak můžete analyzovat z kódu a vynecháním záhlaví, následující skript provede následující operace automatizovaným způsobem:

  1. Ověřte, že se používá jako oprávnění superuživatele root nebo oprávnění superuživatele root.
  2. Odstraňte předchozí odkazy v aplikaci, které byly vytvořeny předchozí verzí.
  3. Vytvořte nový soubor .desktop (odkaz) aplikace ve vlastní složce v domově uživatele.
  4. Přiřaďte vytvořenému souboru oprávnění vlastníka uživatele.
  5. Poskytněte vytvořenému souboru příslušná oprávnění ke čtení / zápisu / spuštění.
  6. Vytvořte nové symbolické odkazy na potřebné trasy.
  7. Aktualizujte nabídku Start, aby se zobrazil vytvořený soubor .desktop.
  8. Proveďte konkrétní adresu URL vytvořené aplikace.

Doporučení

Doporučuje se, aby byl tento soubor vytvořen ve složce, která obsahuje dotyčnou aplikaci / spustitelný soubor s příslušnou ikonou (obrázkem / logem), která je v něm uvedena, a aby uvedená složka byla umístěna v cestě /opt místo trasy `echo $HOME`/mi_app/ to znamená, /home/mi_usuario/mi_app.

Doufám, že vám tento malý skript umožní vyřešit vaše potřeby v tomto ohledu na toto téma! Až do dalšího článku.

Zatímco ti to nechávám odkaz na oficiální web Gnome na toto téma a toto video:


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   Guillermo řekl

    Moc děkuji za toto a všechny vaše články.
    Otázka: Jak, pokud nejste root, můžete požádat o heslo s hvězdičkami, abyste mohli pokračovat v provádění s příslušnými oprávněními?

    1.    Ing.Jose Albert řekl

      Můžete vytvořit rozhraní s dialogovým oknem a použít vlastnost šifrování klíče do pole požadavku na heslo! Dobře si pamatuji, že tato vlastnost existuje v dialogu.

      V tomto předchozím příspěvku někdo udělal něco podobného, ​​ale graficky, ale připojené soubory, to znamená, že použitý kód již není k dispozici: https://blog.desdelinux.net/script-avanzado-en-bash-bashmd5-para-proteger-algo-explicacion-detallada/

  2.   Guillermo řekl

    Díky, bylo by hezké nemuset opouštět prostředí bash v případě, že běží bez grafického rozhraní, v takovém případě nezáleží na tom, že tam nejsou žádné hvězdičky nebo cokoli jiného, ​​že si vyžádá klíč a neobjeví se žádný text. Hmmm, najdu to http://www.tormentadebits.com/2012/08/scripts-bash-introducir-password-sin-mostrarlo-en-pantalla.html