Skriptiranje školjki 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 sisteme odnosi se na interpretator naredbi operativnog sistema. 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: upravljanje operativnim sistemom, pokretanje aplikacija i interakcija s njima te služenje kao osnovno programiranje okoline. A skriptiranje se odnosi na tehniku ​​dizajniranja i stvaranja skripti pomoću ljuske.

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 aplikacija (prečica) u izborniku Start i radnoj površini prijenosnih, samoizvršavajućih se i samostalnih aplikacija.

Alacarte Linux aplikacija

Uvod

Mnogo puta smo 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 listi instaliranih paketa operativnog sistema.

Stoga moramo apelirati na upotrebu aplikacija kao što su "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 sistemu.

Ako niste upoznati sa stvaranjem i / ili upotrebom Shell Scripting datoteka, možete pročitaj ovo prethodni post (Shell, Bash i skripte) para empezar a zatim ako je potrebno istražiti sve publikacije na tu temu.

Linux Free Menu aplikacija

Izrada programa pomoću Shell Scriptinga

Iz svemirskih ćemo razloga pretpostaviti da već znamo kako stvoriti skriptu od nule, to jest, već znamo kako stvoriti zaglavlje ili početne dijelove naše skripte i ići ćemo izravno na njen 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.

Contenido


#!/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 automatski izvodi sljedeće operacije:

  1. Potvrdite da se koristite kao odobrenje superkorisničkog ili root korisnika.
  2. Izbrišite prethodne veze u aplikaciji koje su kreirane u prethodnoj verziji.
  3. Stvorite novu .desktop datoteku (vezu) aplikacije u njenoj vlastitoj mapi u korisnikovom domu.
  4. Dodijelite dozvolu vlasnika korisnika kreiranoj datoteci.
  5. Dajte stvorenoj datoteci odgovarajuće dozvole za čitanje / pisanje / izvršavanje.
  6. Stvorite nove simboličke veze do potrebnih ruta.
  7. Ažurirajte izbornik Start da biste prikazali stvorenu .desktop datoteku.
  8. Izvršite određeni URL na kreiranoj 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 ovaj mali skript omogućuje rješavanje vaših potreba u vezi s tim 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:


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Guillermo rekao je

    Puno vam hvala na ovom i svim vašim člancima.
    Pitanje: Kako, ako niste root, možete li tražiti lozinku koja pokazuje zvjezdice da biste nastavili izvršenje uz odgovarajuće dozvole?

    1.    ing. Jose Albert rekao je

      Možete stvoriti sučelje s dijalogom i primijeniti svojstvo šifriranja ključa na okvir za zahtjev za lozinkom! Sjećam se dobro da ovo svojstvo postoji u dijalogu.

      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 rekao je

    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