Skrypty powłoki w celu utworzenia pliku .desktop dla aplikacji przenośnej

Skrypty powłoki Bash: utwórz łącze do aplikacji przenośnej.

Skrypty powłoki Bash: utwórz łącze do aplikacji przenośnej.

Termin Shell stosowany do systemów operacyjnych odnosi się do interpretera poleceń systemu operacyjnego. Ogólnie jest to wysoce wydajny interfejs tekstowy, który przejawia się w postaci terminala (konsoli) i służy zasadniczo do 3 ważnych obszarów pracy: administrowania systemem operacyjnym, uruchamiania aplikacji i interakcji z nimi oraz służąc jako podstawowe programowanie środowiska. A Scripting odnosi się do techniki projektowania i tworzenia skryptów przy użyciu powłoki.

Skrypty powłoki są niezwykle przydatne. Dobrze jest napisać te potrzeby, które mamy, a następnie edytować skrypty, które wykonują tę pracę za nas. W tym konkretnym przypadku użyjemy go do stworzenia linków do aplikacji (skrótów) w menu Start i na pulpicie przenośnych, samoczynnie wykonujących się i samodzielnych aplikacji.

Aplikacja Alacarte Linux

Wprowadzenie

Wiele razy pobieraliśmy i instalowaliśmy aplikacje, które będąc lub nie w repozytoriach naszej Dystrybucji GNU / Linuksa, instalując lub uruchamiając je, nie tworzą odpowiednich plików .desktop z tego samego lub w najlepszym przypadku nie umieszcza go we właściwej ścieżce, aby po zaktualizowaniu menu Start zostało odczytane i pokazane na liście zainstalowanych pakietów systemu operacyjnego.

Dlatego musimy odwołać się do korzystania z aplikacji takich jak „Alacarte” czy „Menulibre”, aby ręcznie utworzyć odpowiedni link w menu Start.

I chociaż te aplikacje graficzne są bardzo proste w użyciu do tego celu, nigdy nie jest zbyt wiele, aby wiedzieć stworzyć własny skrypt do wykonania tej operacji i dzięki temu dowiedzieć się, jak ta operacja jest wykonywana w systemie operacyjnym.

Jeśli nie jesteś zaznajomiony z tworzeniem i / lub używaniem plików Shell Scripting, możesz to zrobić Przeczytaj to Poprzedni post (Shell, Bash i Scripts) para empezar a następnie, jeśli to konieczne, do zbadania wszystkie publikacje na ten temat.

Darmowa aplikacja menu Linux

Tworzenie programu za pomocą skryptów powłoki

Ze względów kosmicznych założymy, że wiemy już, jak stworzyć skrypt od podstaw, czyli wiemy już, jak stworzyć nagłówek lub początkowe części naszego skryptu i przejdziemy bezpośrednio do jego zawartości.

Jeśli jednak masz co do tego wątpliwości, sprawdź to previous post (Zbuduj swój program krok po kroku za pomocą skryptów powłoki - część 1), aby wyjaśnić wątpliwości.

zawartość


#!/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
###############################################################################
Zawartość skryptu na podkładce pod mysz

Zawartość skryptu na podkładce pod mysz

komentarze

Jak można przeanalizować z kodu i pomijając nagłówek, poniższy skrypt wykonuje w sposób zautomatyzowany następujące operacje:

  1. Sprawdź, czy jesteś używany jako uprawnienia roota superużytkownika lub roota superużytkownika.
  2. Usuń poprzednie łącza w aplikacji, które zostały utworzone w poprzedniej wersji.
  3. Utwórz nowy plik .desktop (łącze) aplikacji w jej własnym folderze w domu użytkownika.
  4. Przypisz uprawnienia właściciela użytkownika do utworzonego pliku.
  5. Nadaj utworzonemu plikowi odpowiednie uprawnienia do odczytu / zapisu / wykonywania.
  6. Utwórz nowe dowiązania symboliczne do niezbędnych tras.
  7. Zaktualizuj menu Start, aby wyświetlić utworzony plik .desktop.
  8. Wykonaj określony adres URL w utworzonej aplikacji.

Zalecenie

Zaleca się, aby ten plik został utworzony w folderze zawierającym aplikację / plik wykonywalny, o którym mowa, z określoną w nim odpowiednią ikoną (obrazem / logo) oraz aby wspomniany folder znajdował się w ścieżce /opt zamiast trasy `echo $HOME`/mi_app/ to znaczy /home/mi_usuario/mi_app.

Mam nadzieję, że ten mały skrypt pozwoli Ci rozwiązać Twoje potrzeby w tym zakresie! Do następnego artykułu.

Podczas gdy ja ci to zostawiam link na oficjalnej stronie Gnome na ten temat i ten film:


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Guillermo powiedział

    Bardzo dziękuję za to i wszystkie twoje artykuły.
    Pytanie: Jak, jeśli nie jesteś rootem, możesz poprosić o hasło z gwiazdkami, aby kontynuować wykonywanie z odpowiednimi uprawnieniami?

    1.    Inż. Jose Albert powiedział

      Możesz stworzyć interfejs z oknem dialogowym i zastosować właściwość zaszyfrowania klucza do pola żądania hasła! Pamiętam dobrze, że ta właściwość istnieje w oknie dialogowym.

      W tym poprzednim poście ktoś zrobił coś podobnego ale graficznie ale załączone pliki czyli użyty kod nie jest już dostępny: https://blog.desdelinux.net/script-avanzado-en-bash-bashmd5-para-proteger-algo-explicacion-detallada/

  2.   Guillermo powiedział

    Dzięki, byłoby miło nie musieć opuszczać środowiska bash, gdyby działało bez interfejsu graficznego, w takim przypadku nie ma znaczenia, nawet jeśli nie ma gwiazdek ani nic, że pyta o klucz i nie pojawia się tekst. Ummm, znajduję to w http://www.tormentadebits.com/2012/08/scripts-bash-introducir-password-sin-mostrarlo-en-pantalla.html