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í.
Ú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.
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
###############################################################################
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:
- Overte, či sa používa ako oprávnenie superužívateľa root alebo superuživateľ root.
- Odstráňte predchádzajúce odkazy v aplikácii, ktoré boli vytvorené predchádzajúcou verziou.
- Vytvorte nový súbor .desktop (odkaz) aplikácie v jej vlastnom priečinku v domácnosti používateľa.
- Priraďte vytvorenému súboru povolenie vlastníka používateľa.
- Poskytnite vytvorenému súboru príslušné povolenia na čítanie, zápis / vykonávanie.
- Vytvorte nové symbolické odkazy na potrebné trasy.
- Aktualizujte ponuku Štart, aby sa zobrazil vytvorený súbor .desktop.
- 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:
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?
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/
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