Izraz Shell primijenjen na operativne sustave odnosi se na interpretator naredbi operativnog sustava. Općenito, riječ je o tekstualnom sučelju visokih performansi koje se manifestira u obliku terminala (konzole) i koje u osnovi služi za 3 važna područja rada: administriranje operativnim sustavom, pokretanje aplikacija i interakcija s njima te služi kao osnovno programiranje okoline. A skriptiranje se odnosi na tehniku dizajniranja i stvaranja skripti pomoću školjke.
Shell skripte su izuzetno korisne. Dobra je ideja napisati one potrebe koje imamo, a zatim urediti skripte koje ovo rade za nas. I u ovom konkretnom slučaju koristit ćemo ga za stvaranje veza (prečaca) aplikacija u izborniku Start i radnoj površini prijenosnih, samoizvršavajućih se i samostalnih aplikacija.
I
Mnogo smo puta preuzimali i instalirali aplikacije koje, nalazeći se ili ne u spremištima naše GNU / Linux distribucije, prilikom instaliranja ili izvršavanja ne stvaraju odgovarajuće .desktop datoteke istog ili ga u najboljem slučaju ne postavlja na ispravan put tako da se nakon ažuriranja izbornika Start čita i prikazuje na popisu instaliranih paketa operativnog sustava.
Stoga moramo apelirati na upotrebu aplikacija poput "Alacarte" ili "Menulibre" za ručno stvaranje odgovarajuće veze u izborniku Start.
Iako su ove grafičke aplikacije vrlo jednostavne za upotrebu u tu svrhu, nikad nije previše znati stvorimo vlastitu skriptu za izvođenje ove operacije i tako iznutra znamo kako se ta operacija izvodi u operativnom sustavu.
Ako niste upoznati sa stvaranjem i / ili upotrebom Shell Scripting datoteka, možete Pročitaj ovo prethodni post (Shell, Bash i skripte) za početak a zatim ako je potrebno istražiti sve publikacije na tu temu.
Izrada programa pomoću Shell Scriptinga
Iz prostora ćemo pretpostaviti da već znamo kako stvoriti skriptu od nule, to jest, već znamo kako stvoriti zaglavlje ili početne dijelove naše skripte i idemo izravno na njezin sadržaj.
Međutim, ako sumnjate u to, provjerite ovo prethodni post (Izradite svoj program korak po korak koristeći Shell Scripting - 1. dio) kako biste razjasnili sumnje.
sadržaj
#!/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
###############################################################################
komentari
Kao što možete analizirati iz koda i izostavljajući zaglavlje, sljedeća skripta izvršava sljedeće operacije na automatiziran način:
- Potvrdite da se upotrebljavate kao dopuštenje root-a super-korisnika ili root-a super-korisnika.
- Izbrišite prethodne veze u aplikaciji koje su stvorene u prethodnoj verziji.
- Stvorite novu .desktop datoteku (vezu) aplikacije u vlastitoj mapi u korisnikovom domu.
- Dodijelite dozvolu vlasnika korisnika stvorenoj datoteci.
- Stvorenoj datoteci dajte odgovarajuća dopuštenja za čitanje / pisanje / izvršavanje.
- Stvorite nove simboličke poveznice do potrebnih ruta.
- Ažurirajte izbornik Start da biste prikazali stvorenu .desktop datoteku.
- Izvršite određeni URL na stvorenoj aplikaciji.
preporuka
Preporučuje se da se ova datoteka kreira u mapi koja sadrži dotičnu aplikaciju / izvršnu datoteku sa odgovarajućom ikonom (slikom / logotipom) koja je navedena u njoj i da se navedena mapa nalazi na putu /opt
umjesto rute `echo $HOME`/mi_app/
to jest, /home/mi_usuario/mi_app
.
Nadam se da vam ova mala skripta omogućuje rješavanje vaših potreba u vezi s ovom temom! Do sljedećeg članka.
Dok vam ovo ostavljam link na službenoj web stranici Gnome o toj temi i ovaj video:
Puno vam hvala na ovom i svim vašim člancima.
Jedno pitanje: Kako, ako niste root, možete li tražiti lozinku koja pokazuje zvjezdice da biste nastavili izvršavanje s odgovarajućim dozvolama?
Možete stvoriti sučelje s dijaloškim okvirom i primijeniti na okvir za zahtjev za lozinkom svojstvo za šifriranje ključa! Sjećam se dobro da ovo svojstvo postoji u dijaloškom okviru.
U ovom prethodnom postu netko je učinio nešto slično, ali grafički, ali priložene datoteke, odnosno korišteni kod više nije dostupan: https://blog.desdelinux.net/script-avanzado-en-bash-bashmd5-para-proteger-algo-explicacion-detallada/
Hvala, bilo bi lijepo da ne morate napustiti bash okruženje u slučaju da se izvodi bez grafičkog sučelja, u tom slučaju nije važno čak i ako nema zvjezdica ili nečega, što traži ključ i ne pojavljuje se tekst. Ummm, pronalazim ga u http://www.tormentadebits.com/2012/08/scripts-bash-introducir-password-sin-mostrarlo-en-pantalla.html