Shell Scripting za ustvarjanje datoteke .desktop za prenosno aplikacijo

Skriptiranje lupine bash: ustvarite povezavo prenosne aplikacije.

Skriptiranje lupine bash: ustvarite povezavo prenosne aplikacije.

Izraz Shell, ki se uporablja za operacijske sisteme, se nanaša na ukazni tolmač operacijskega sistema. Na splošno gre za visokozmogljiv besedilni vmesnik, ki se kaže v obliki terminala (konzole) in v bistvu služi 3 pomembnim področjem dela: upravljanje operacijskega sistema, zagon aplikacij in interakcija z njimi ter služi kot osnovno okoljsko programiranje. Skriptiranje se nanaša na tehniko oblikovanja in ustvarjanja skriptov z uporabo lupine.

Skripti lupine so zelo koristni. Dobro je, da napišemo tiste potrebe, ki jih imamo, in nato uredimo skripte, ki to opravijo namesto nas. In v tem primeru ga bomo uporabili za ustvarjanje povezav (bližnjic) do aplikacij v začetnem meniju in na namizju prenosnih, samoizvajajočih se in samostojnih aplikacij.

Aplikacija Alacarte Linux

uvod

Velikokrat smo prenesli in namestili aplikacije, ki, če so v repozitorijih naše distribucije GNU / Linux, med namestitvijo ali izvajanjem ne ustvarijo ustreznih datotek .desktop istega ali v najboljših primerih ne postavi na pravilno pot, tako da se po posodobitvi menija Start prebere in prikaže na seznamu nameščenih paketov operacijskega sistema.

Zato se moramo pritožiti na uporabo aplikacij, kot sta "Alacarte" ali "Menulibre" za ročno ustvarjanje ustrezne povezave v meniju Start.

In čeprav so te grafične aplikacije v ta namen zelo enostavne za uporabo, ni nikoli preveč vedeti ustvarite svoj skript za izvedbo te operacije in tako od znotraj vemo, kako se ta operacija izvaja v operacijskem sistemu.

Če niste seznanjeni z ustvarjanjem in / ali uporabo datotek Shell Scripting, lahko Preberi to prejšnja objava (Shell, Bash in skripte) začeti in nato po potrebi raziskati vse publikacije na to temo.

Brezplačna aplikacija za Linux

Ustvarjanje programa s pomočjo Shell Scripting

Zaradi prostora bomo domnevali, da že vemo, kako ustvariti skript iz nič, to pomeni, da že znamo ustvariti glavo ali začetne dele našega skripta in bomo šli neposredno do njegove vsebine.

Če pa dvomite o tem, preverite to prejšnja objava (Korak po korakih zgradite svoj program s pomočjo skripta Shell - 1. del), da razjasnite dvome.

vsebina


#!/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
###############################################################################
Vsebina skripte na miški

Vsebina skripte na miški

Komentarji

Kot lahko analizirate iz kode in izpustite glavo, naslednji skript samodejno izvede naslednje operacije:

  1. Potrdite, da ste uporabljeni kot korensko dovoljenje super-uporabnika ali korenskega uporabnika super-uporabnika.
  2. Izbrišite prejšnje povezave v aplikaciji, ki jih je ustvarila prejšnja različica.
  3. Ustvarite novo datoteko .desktop (povezava) aplikacije v lastni mapi v uporabnikovem domu.
  4. Ustvarjeni datoteki dodelite dovoljenje lastnika uporabnika.
  5. Ustvarjeni datoteki dodelite ustrezna dovoljenja za branje / pisanje / izvajanje.
  6. Ustvarite nove simbolne povezave do potrebnih poti.
  7. Posodobite meni Start, da se prikaže ustvarjena datoteka .desktop.
  8. Izvedite določen URL v ustvarjeni aplikaciji.

Priporočilo

Priporočljivo je, da to datoteko ustvarite v mapi, ki vsebuje zadevno aplikacijo / izvedljivo datoteko, z ustrezno ikono (sliko / logotipom), ki je navedena v njej, in da je navedena mapa na poti /opt namesto poti `echo $HOME`/mi_app/ to je /home/mi_usuario/mi_app.

Upam, da vam ta mali skript omogoča, da v zvezi s tem rešite svoje potrebe! Do naslednjega članka.

Medtem ko ti pustim to povezava na uradni spletni strani Gnome o tej temi in ta video:


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   Guillermo je dejal

    Najlepša hvala za to in vse vaše članke.
    Eno vprašanje: Kako, če niste root, lahko zahtevate geslo z zvezdicami za nadaljevanje izvajanja z ustreznimi dovoljenji?

    1.    ing. Jose Albert je dejal

      Lahko ustvarite vmesnik z pogovornim oknom in uporabite lastnost šifriranja ključa v polju za zahtevo gesla! Dobro se spominjam, da ta lastnost obstaja v pogovornem oknu.

      V tej prejšnji objavi je nekdo naredil nekaj podobnega, vendar grafično, vendar priložene datoteke, to je uporabljena koda, ni več na voljo: https://blog.desdelinux.net/script-avanzado-en-bash-bashmd5-para-proteger-algo-explicacion-detallada/

  2.   Guillermo je dejal

    Hvala, lepo bi bilo, če ne bi morali zapustiti okolja bash, če deluje brez grafičnega vmesnika, v tem primeru ni pomembno, tudi če ni zvezdic ali česar koli drugega, da zahteva ključ in se ne prikaže besedilo . Ummm, najdem v http://www.tormentadebits.com/2012/08/scripts-bash-introducir-password-sin-mostrarlo-en-pantalla.html