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.
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.
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
###############################################################################
komentarze
Jak można przeanalizować z kodu i pomijając nagłówek, poniższy skrypt wykonuje w sposób zautomatyzowany następujące operacje:
- Sprawdź, czy jesteś używany jako uprawnienia roota superużytkownika lub roota superużytkownika.
- Usuń poprzednie łącza w aplikacji, które zostały utworzone w poprzedniej wersji.
- Utwórz nowy plik .desktop (łącze) aplikacji w jej własnym folderze w domu użytkownika.
- Przypisz uprawnienia właściciela użytkownika do utworzonego pliku.
- Nadaj utworzonemu plikowi odpowiednie uprawnienia do odczytu / zapisu / wykonywania.
- Utwórz nowe dowiązania symboliczne do niezbędnych tras.
- Zaktualizuj menu Start, aby wyświetlić utworzony plik .desktop.
- 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:
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?
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/
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