Shell Scripting na vytvorenie súboru .desktop pre prenosnú aplikáciu

Skriptovanie Bash Shell: Vytvorte odkaz na prenosnú aplikáciu.

Skriptovanie Bash Shell: Vytvorte odkaz na prenosnú aplikáciu.

Pojem Shell použitý v operačných systémoch sa vzťahuje na tlmočník príkazov operačného systému. Všeobecne ide o vysoko výkonné textové rozhranie, ktoré sa prejavuje vo forme terminálu (konzoly) a v podstate slúži 3 dôležitým oblastiam práce: správa operačného systému, beh aplikácií a interakcia s nimi a slúži ako základná programovanie prostredia. A skriptovanie označuje techniku ​​navrhovania a vytvárania skriptov pomocou shellu.

Skripty Shell sú mimoriadne užitočné. Je dobré napísať tie potreby, ktoré máme, a potom upraviť skripty, ktoré túto prácu urobia za nás. A v tomto konkrétnom prípade ho použijeme na vytvorenie odkazov (skratiek) aplikácií v ponuke Štart a na ploche prenosných, samostatných a samostatných aplikácií.

Aplikácia Alacarte Linux

Úvod

Mnohokrát sme stiahli a nainštalovali aplikácie, ktoré, či už sú alebo nie sú v úložiskách našej distribúcie GNU / Linux, pri inštalácii alebo spustení nevytvárajú príslušné súbory .desktop. toho istého alebo v lepšom prípade neumiestňuje na správnu cestu, aby sa po aktualizácii ponuky Štart načítala a zobrazila v zozname nainštalovaných balíkov operačného systému.

Preto musíme apelovať na použitie aplikácií ako „Alacarte“ alebo „Menulibre“ na manuálne vytvorenie príslušného odkazu v ponuke Štart.

A hoci sú tieto grafické aplikácie na tento účel veľmi jednoduché, nikdy nie je o nich veľa vedieť vytvorte si vlastný skript, ktorý vykoná túto operáciu, a teda bude vedieť, ako sa uvedená operácia v operačnom systéme vykonáva.

Ak nie ste oboznámení s vytváraním a / alebo používaním súborov Shell Scripting, môžete prečítaj toto predchádzajúci príspevok (Shell, Bash a skripty) začať a potom v prípade potreby preskúmať všetky publikácie na túto tému.

Aplikácia Linux Free Menu

Vytvorenie programu pomocou programu Shell Scripting

Z priestorových dôvodov budeme predpokladať, že už vieme, ako vytvoriť skript od nuly, to znamená, že už vieme, ako vytvoriť hlavičku alebo počiatočné časti nášho skriptu a prejdeme priamo k jeho obsahu.

Ak však o tom máte pochybnosti, začiarknite toto predchádzajúci príspevok (Vytvorte si program krok za krokom pomocou Shell Scripting - 1. časť), aby ste 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 podložke Mousepad

Obsah skriptu na podložke Mousepad

komentáre

Ako môžete analyzovať z kódu a vynechaním hlavičky, nasledujúci skript vykoná nasledujúce operácie automatizovaným spôsobom:

  1. Overte, či sa používa ako oprávnenie superužívateľa root alebo superuživateľ root.
  2. Odstráňte predchádzajúce odkazy v aplikácii, ktoré boli vytvorené predchádzajúcou verziou.
  3. Vytvorte nový súbor .desktop (odkaz) aplikácie v jej vlastnom priečinku v domácnosti používateľa.
  4. Priraďte vytvorenému súboru povolenie vlastníka používateľa.
  5. Poskytnite vytvorenému súboru príslušné povolenia na čítanie, zápis / vykonávanie.
  6. Vytvorte nové symbolické odkazy na potrebné trasy.
  7. Aktualizujte ponuku Štart, aby sa zobrazil vytvorený súbor .desktop.
  8. Vo vytvorenej aplikácii vykonajte konkrétnu adresu URL.

Odporúčania

Odporúča sa, aby bol tento súbor vytvorený v priečinku, ktorý obsahuje príslušnú aplikáciu / spustiteľný súbor, s príslušnou ikonou (obrázkom / logom), ktorá je v ňom uvedená, a aby sa tento priečinok nachádzal v ceste. /opt namiesto trasy `echo $HOME`/mi_app/ to znamená, /home/mi_usuario/mi_app.

Dúfam, že vám tento malý skript umožní vyriešiť vaše potreby v tejto súvislosti v tejto oblasti! Až do nasledujúceho článku.

Zatiaľ čo ti to nechám odkaz na oficiálnu webovú stránku Gnome k tejto téme a toto video:


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   Účet dijo

    Veľmi pekne ďakujem za toto a za všetky vaše články.
    Jedna otázka: Ako, ak nie ste root, môžete požiadať o heslo s hviezdičkami, aby ste mohli pokračovať v exekúcii s príslušnými oprávneniami?

    1.    Ing.Jose Albert dijo

      Môžete vytvoriť rozhranie s dialógovým oknom a použiť na pole žiadosti o heslo vlastnosť šifrovania kľúča! Dobre si pamätám, že táto vlastnosť existuje v dialógovom okne.

      V tomto predchádzajúcom príspevku niekto urobil niečo podobné, ale graficky, ale priložené súbory, to znamená, že použitý kód už nie je k dispozícii: https://blog.desdelinux.net/script-avanzado-en-bash-bashmd5-para-proteger-algo-explicacion-detallada/

  2.   Účet dijo

    Vďaka, bolo by pekné nemusieť opustiť prostredie bash pre prípad, že beží bez grafického rozhrania, v takom prípade nezáleží na tom, že aj keď nie sú žiadne hviezdičky alebo nič, že si vypýta kľúč a neobjaví sa text . Hmmm, nájdem to v http://www.tormentadebits.com/2012/08/scripts-bash-introducir-password-sin-mostrarlo-en-pantalla.html