Shell Scripting upang lumikha ng isang .desktop file para sa isang portable application

Bash Shell Scripting: Lumikha ng isang Link ng isang Portable App.

Bash Shell Scripting: Lumikha ng isang Link ng isang Portable App.

Ang term na Shell na inilapat sa Mga Operating System ay tumutukoy sa interpreter ng utos ng Operating System. Sa pangkalahatan, ito ay isang interface ng teksto na may mahusay na pagganap na nagpapakita ng sarili sa anyo ng isang Terminal (Console) at mahalagang ihinahatid ang 3 mahahalagang lugar ng trabaho: Pangasiwaan ang Operating System, Pagpapatakbo ng mga application at pakikipag-ugnay sa kanila, at paghahatid bilang pangunahing kapaligiran programa At ang Scripting ay tumutukoy sa pamamaraan ng pagdidisenyo at paglikha ng mga Script gamit ang isang Shell.

Ang mga Shell Script ay lubos na kapaki-pakinabang. Magandang ideya na isulat ang mga pangangailangan na mayroon kami at pagkatapos ay i-edit ang mga script na gumagana sa amin. At sa partikular na kasong ito ay gagamitin namin ito upang lumikha ng mga link ng application (mga shortcut) sa panimulang menu at desktop ng portable, self-executing at self-nilalaman na mga app.

Application ng Alacarte Linux

Pagpapakilala

Maraming beses na nag-download at nag-install kami ng mga application na, nasa o hindi sa mga repository ng aming Pamamahagi ng GNU / Linux, kapag na-install o naisakatuparan ito, hindi ito lumilikha ng kani-kanilang mga .desktop file ng pareho o sa pinakamahusay na mga kaso hindi ito inilalagay sa tamang landas upang pagkatapos ng pag-update ng Start Menu ay nabasa at ipinakita sa listahan ng mga naka-install na pakete ng Operating System.

Samakatuwid, kailangan naming mag-apela sa paggamit ng mga application tulad ng "Alacarte" o "Menulibre" upang manu-manong likhain ang kani-kanilang link sa Start Menu.

At bagaman ang mga graphic application na ito ay napakadaling gamitin para sa hangaring ito, hindi ito masyadong nalalaman lumikha ng aming sariling script upang maisakatuparan ang nasabing operasyon at sa gayon ay malaman mula sa loob ng kung paano isinagawa ang nasabing operasyon sa loob ng Operating System.

Kung hindi ka pamilyar sa paglikha at / o paggamit ng mga Shell Scripting file na maaari mo Basahin mo ito nakaraang post (Shell, Bash at Script) upang magsimula at pagkatapos kung kinakailangan upang galugarin lahat ng mga pahayagan sa paksa.

Application ng Libreng Menu ng Linux

Lumilikha ng programa gamit ang Shell Scripting

Ipagpapalagay namin para sa mga kadahilanang puwang na alam na namin kung paano lumikha ng isang script mula sa simula, iyon ay, alam na namin kung paano lumikha ng header o paunang mga bahagi ng aming script at direktang pupunta kami sa nilalaman nito.

Gayunpaman, kung mayroon kang pagdududa tungkol dito, suriin ito nakaraang post (Buuin ang iyong programa nang sunud-sunod gamit ang Shell Scripting - Bahagi 1) upang linawin ang mga pagdududa.

Nilalaman


#!/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
###############################################################################
Nilalaman ng script sa Mousepad

Nilalaman ng script sa Mousepad

Komento

Tulad ng maaari mong pag-aralan mula sa code at pag-alis sa header, ang sumusunod na script ay nagsasagawa ng mga sumusunod na operasyon sa isang awtomatikong paraan:

  1. Patunayan na ginagamit ka bilang isang super-user root o super-user root na pahintulot.
  2. Tanggalin ang mga nakaraang link sa application na nilikha ng isang nakaraang bersyon.
  3. Lumikha ng bagong .desktop file (link) ng application sa sarili nitong folder sa loob ng tahanan ng gumagamit.
  4. Magtalaga ng pahintulot ng may-ari ng gumagamit sa nilikha na file.
  5. Italaga ang nilikha file na naaangkop na mga pahintulot na basahin / isulat / magpatupad.
  6. Lumikha ng mga bagong simbolikong link sa mga kinakailangang ruta.
  7. I-update ang panimulang menu upang maipakita ang nilikha .desktop file.
  8. Ipatupad ang isang tukoy na URL sa nilikha na application.

Rekomendasyon

Inirerekumenda na ang file na ito ay malikha sa loob ng folder na naglalaman ng application / maipapatupad na pinag-uusapan na may kani-kanilang icon (imahe / logo) na tinukoy sa loob nito at ang nasabing folder ay matatagpuan sa path /opt sa halip na ruta `echo $HOME`/mi_app/ iyon ay, /home/mi_usuario/mi_app.

Inaasahan kong payagan ka ng maliit na script na ito na malutas ang iyong mga pangangailangan sa bagay na ito sa paksang ito! Hanggang sa susunod na artikulo.

Habang iniiwan kita nito link sa opisyal na website ng Gnome sa paksa at ang video na ito:


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   Guillermo dijo

    Maraming salamat sa ito at sa lahat ng iyong mga artikulo.
    Isang tanong: Paano, kung hindi ka root, maaari mong hilingin ang password na nagpapakita ng mga asterisk upang ipagpatuloy ang pagpapatupad sa mga naaangkop na pahintulot?

    1.    Ing.Jose Albert dijo

      Maaari kang lumikha ng isang interface na may dayalogo at ilapat sa kahon ng kahilingan sa password ang pag-aari ng naka-encrypt ang susi! Naaalala kong mabuti na ang pag-aari na ito ay umiiral sa dayalogo.

      Sa nakaraang post na ito, may gumawa ng katulad sa graphic ngunit ang mga nakakabit na file, iyon ay, ang ginamit na code ay hindi na magagamit: https://blog.desdelinux.net/script-avanzado-en-bash-bashmd5-para-proteger-algo-explicacion-detallada/

  2.   Guillermo dijo

    Salamat, magiging maganda hindi na iwanan ang bash na kapaligiran kung sakaling tumakbo ito nang walang isang graphic na interface, sa kasong iyon hindi mahalaga kahit na walang mga asterisk o anupaman, humihiling ito para sa susi at walang lilitaw na teksto. Ummm, nakita ko ito sa http://www.tormentadebits.com/2012/08/scripts-bash-introducir-password-sin-mostrarlo-en-pantalla.html