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í.
Ú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.
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
###############################################################################
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:
- Ověřte, že se používá jako oprávnění superuživatele root nebo oprávnění superuživatele root.
- Odstraňte předchozí odkazy v aplikaci, které byly vytvořeny předchozí verzí.
- Vytvořte nový soubor .desktop (odkaz) aplikace ve vlastní složce v domově uživatele.
- Přiřaďte vytvořenému souboru oprávnění vlastníka uživatele.
- Poskytněte vytvořenému souboru příslušná oprávnění ke čtení / zápisu / spuštění.
- Vytvořte nové symbolické odkazy na potřebné trasy.
- Aktualizujte nabídku Start, aby se zobrazil vytvořený soubor .desktop.
- 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:
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?
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/
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