Shell Scripting za stvaranje .desktop datoteke za prijenosnu aplikaciju

Bash Shell skriptiranje: Stvorite vezu prijenosne aplikacije.

Bash Shell skriptiranje: Stvorite vezu prijenosne aplikacije.

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.

Alacarte Linux 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.

Linux besplatna aplikacija izbornika

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
###############################################################################
Sadržaj skripte na podlozi za miša

Sadržaj skripte na podlozi za miša

komentari

Kao što možete analizirati iz koda i izostavljajući zaglavlje, sljedeća skripta izvršava sljedeće operacije na automatiziran način:

  1. Potvrdite da se upotrebljavate kao dopuštenje root-a super-korisnika ili root-a super-korisnika.
  2. Izbrišite prethodne veze u aplikaciji koje su stvorene u prethodnoj verziji.
  3. Stvorite novu .desktop datoteku (vezu) aplikacije u vlastitoj mapi u korisnikovom domu.
  4. Dodijelite dozvolu vlasnika korisnika stvorenoj datoteci.
  5. Stvorenoj datoteci dajte odgovarajuća dopuštenja za čitanje / pisanje / izvršavanje.
  6. Stvorite nove simboličke poveznice do potrebnih ruta.
  7. Ažurirajte izbornik Start da biste prikazali stvorenu .desktop datoteku.
  8. 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:


3 komentara, ostavi svoj

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Guillermo dijo

    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?

    1.    ing. Jose Albert dijo

      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/

  2.   Guillermo dijo

    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