„Shell Scripting“ sukuria .desktop failą nešiojamai programai

„Bash Shell“ scenarijai: sukurkite nešiojamosios programos nuorodą.

„Bash Shell“ scenarijai: sukurkite nešiojamosios programos nuorodą.

Terminas „Shell“, taikomas operacinėms sistemoms, reiškia operacinės sistemos komandų vertėją. Apskritai, tai yra didelio našumo tekstinė sąsaja, kuri pasireiškia terminalo (konsolės) pavidalu ir iš esmės tarnauja 3 svarbioms darbo sritims: operacinės sistemos administravimui, programų paleidimui ir sąveikai su jomis bei pagrindiniam naudojimui. aplinkos programavimas. „Scripting“ reiškia scenarijų projektavimo ir kūrimo naudojant „Shell“ techniką.

„Shell“ scenarijai yra nepaprastai naudingi. Gera mintis parašyti tuos poreikius, kuriuos turime, ir tada redaguoti scenarijus, kurie mums padaro šį darbą. Šiuo konkrečiu atveju mes jį naudosime kurdami programų nuorodas (nuorodas) meniu „Pradėti“ ir nešiojamųjų, savarankiškai vykdančių ir savarankiškų programų darbalaukyje.

„Alacarte Linux“ programa

Įvadas

Daug kartų mes atsisiuntėme ir įdiegėme programas, kurios, būdamos ar ne mūsų GNU / Linux paskirstymo saugyklose, diegdamos ar vykdydamos nesukuria atitinkamų .desktop failų to paties arba geriausiais atvejais jis jo nenurodo teisingame kelyje, kad atnaujinus meniu Pradėti jis būtų perskaitytas ir rodomas įdiegtų operacinės sistemos paketų sąraše.

Todėl, norėdami rankiniu būdu sukurti atitinkamą nuorodą meniu Pradėti, turime kreiptis į tokių programų kaip „Alacarte“ ar „Menulibre“ naudojimą.

Nors šias grafines programas labai paprasta naudoti šiam tikslui, žinoti niekada nėra per daug sukurti savo scenarijų šiai operacijai atlikti ir iš vidaus žinoti, kaip ši operacija atliekama operacinėje sistemoje.

Jei nesate susipažinę su „Shell Scripting“ failų kūrimu ir (arba) naudojimu, galite perskaityk tai ankstesnis įrašas („Shell“, „Bash“ ir „Scripts“) para empezaras o tada prireikus ištirti visų publikacijų šia tema.

„Linux Free Menu“ programa

Programos kūrimas naudojant „Shell Scripting“

Dėl erdvės manysime, kad jau žinome, kaip sukurti scenarijų nuo nulio, tai yra, mes jau žinome, kaip sukurti antraštę ar pradines scenarijaus dalis ir pereisime tiesiai prie jo turinio.

Tačiau, jei turite abejonių dėl to, patikrinkite tai ankstesnis įrašas (Kurkite savo programą žingsnis po žingsnio naudodami „Shell Scripting“ - 1 dalis), kad išsiaiškintumėte abejones.

turinys


#!/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
###############################################################################
Scenarijaus turinys pelės klaviatūroje

Scenarijaus turinys pelės klaviatūroje

Komentarai

Kaip galite analizuoti pagal kodą ir praleidę antraštę, šis scenarijus automatiškai atlieka šias operacijas:

  1. Patvirtinkite, kad esate naudojamas kaip super vartotojo root arba super vartotojo root leidimas.
  2. Ištrinkite ankstesnes programos nuorodas, kurias sukūrė ankstesnė versija.
  3. Sukurkite naują programos .desktop failą (nuorodą) savo aplanke vartotojo namuose.
  4. Priskirkite vartotojo savininko leidimą sukurtam failui.
  5. Suteikite sukurtam failui atitinkamas skaitymo / rašymo / vykdymo teises.
  6. Sukurkite naujas simbolines nuorodas į būtinus maršrutus.
  7. Atnaujinkite pradžios meniu, kad būtų parodytas sukurtas .desktop failas.
  8. Sukurtos programos vykdykite konkretų URL.

Rekomendacija

Rekomenduojama, kad šis failas būtų sukurtas aplanke, kuriame yra atitinkama programa / vykdomoji programa su joje nurodyta atitinkama piktograma (paveikslėlis / logotipas) ir kad aplankas yra kelyje /opt vietoj maršruto `echo $HOME`/mi_app/ tai yra, /home/mi_usuario/mi_app.

Tikiuosi, kad šis mažasis scenarijus leis jums išspręsti jūsų poreikius šiuo klausimu! Iki kito straipsnio.

Nors aš tau tai paliksiu nuoroda oficialioje „Gnome“ svetainėje šia tema ir šis vaizdo įrašas:


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   Guillermo sakė

    Labai ačiū už tai ir visus jūsų straipsnius.
    Vienas klausimas: Kaip, jei nesate root, galėtumėte paprašyti žvaigždutes rodančio slaptažodžio, kad tęstumėte vykdymą turėdami atitinkamus leidimus?

    1.    Ing. Jose Albertas sakė

      Galite sukurti sąsają su dialogo langu ir pritaikyti nuosavybės slaptažodžio laukelį, kad užšifruotumėte raktą! Gerai prisimenu, kad ši ypatybė egzistuoja dialogo lange.

      Šiame ankstesniame įraše kažkas padarė kažką panašaus, bet grafiškai, tačiau pridėtų failų, tai yra, naudojamo kodo nebėra: https://blog.desdelinux.net/script-avanzado-en-bash-bashmd5-para-proteger-algo-explicacion-detallada/

  2.   Guillermo sakė

    Ačiū, būtų gerai, kad nereikėtų palikti „bash“ aplinkos, jei ji veikia be grafinės sąsajos, tokiu atveju nesvarbu, net jei nėra žvaigždžių ar nieko, kad ji prašo rakto ir nepasirodo jokio teksto. Hmmm, aš jį randu http://www.tormentadebits.com/2012/08/scripts-bash-introducir-password-sin-mostrarlo-en-pantalla.html