Shell Scripting για δημιουργία αρχείου .desktop για φορητή εφαρμογή

Bash Shell Scripting: Δημιουργία συνδέσμου φορητής εφαρμογής.

Bash Shell Scripting: Δημιουργία συνδέσμου φορητής εφαρμογής.

Ο όρος Shell που εφαρμόζεται στα Λειτουργικά Συστήματα αναφέρεται στον διερμηνέα εντολών του Λειτουργικού Συστήματος. Σε γενικές γραμμές, είναι μια διεπαφή κειμένου υψηλής απόδοσης που εκδηλώνεται με τη μορφή τερματικού (Κονσόλα) και εξυπηρετεί ουσιαστικά 3 σημαντικούς τομείς εργασίας: Διαχείριση του λειτουργικού συστήματος, εκτέλεση εφαρμογών και αλληλεπίδραση μαζί τους και χρησιμεύει ως βασικό προγραμματισμός περιβάλλοντος. Και το Scripting αναφέρεται στην τεχνική σχεδιασμού και δημιουργίας σεναρίων χρησιμοποιώντας ένα κέλυφος.

Τα σενάρια Shell είναι εξαιρετικά χρήσιμα. Είναι καλή ιδέα να γράψετε εκείνες τις ανάγκες που έχουμε και στη συνέχεια να επεξεργαστείτε σενάρια που το κάνουν αυτό για εμάς. Και σε αυτήν τη συγκεκριμένη περίπτωση θα το χρησιμοποιήσουμε για να δημιουργήσουμε συνδέσμους εφαρμογών (συντομεύσεις) στο μενού έναρξης και στην επιφάνεια εργασίας φορητών, αυτοεξυπηρετούμενων και αυτόνομων εφαρμογών.

Εφαρμογή Alacarte Linux

Εισαγωγή

Πολλές φορές έχουμε κατεβάσει και εγκαταστήσει εφαρμογές που, που βρίσκονται ή όχι στα αποθετήρια της διανομής GNU / Linux, κατά την εγκατάσταση ή την εκτέλεση της, δεν δημιουργεί τα αντίστοιχα αρχεία .desktop του ίδιου ή στις καλύτερες περιπτώσεις δεν το τοποθετεί στη σωστή διαδρομή έτσι ώστε μετά την ενημέρωση του μενού Έναρξη να διαβάζεται και να εμφανίζεται στη λίστα των εγκατεστημένων πακέτων του λειτουργικού συστήματος.

Επομένως, πρέπει να απευθυνθούμε στη χρήση εφαρμογών όπως "Alacarte" ή "Menulibre" για να δημιουργήσετε χειροκίνητα τον αντίστοιχο σύνδεσμο στο μενού "Έναρξη".

Και παρόλο που αυτές οι γραφικές εφαρμογές είναι πολύ απλές στη χρήση για το σκοπό αυτό, δεν είναι ποτέ πάρα πολύ γνωστό δημιουργήστε το δικό μας σενάριο για να εκτελέσετε την εν λόγω λειτουργία και, επομένως, μάθετε από μέσα πώς εκτελείται η εν λόγω λειτουργία εντός του Λειτουργικού Συστήματος.

Εάν δεν είστε εξοικειωμένοι με τη δημιουργία ή / και τη χρήση αρχείων Shell Scripting μπορείτε διάβασε αυτό προηγούμενη ανάρτηση (Shell, Bash και Scripts) για να ξεκινήσει και στη συνέχεια, εάν είναι απαραίτητο, να εξερευνήσετε όλες οι δημοσιεύσεις για το θέμα.

Εφαρμογή δωρεάν μενού Linux

Δημιουργία προγράμματος χρησιμοποιώντας το Shell Scripting

Θα υποθέσουμε για λόγους χώρου ότι ήδη γνωρίζουμε πώς να δημιουργήσουμε ένα σενάριο από το μηδέν, δηλαδή ήδη γνωρίζουμε πώς να δημιουργήσουμε την κεφαλίδα ή τα αρχικά μέρη του σεναρίου μας και θα μεταβούμε απευθείας στο περιεχόμενο του.

Ωστόσο, εάν έχετε αμφιβολίες σχετικά με αυτό, ελέγξτε το προηγούμενη ανάρτηση (Δημιουργήστε το πρόγραμμά σας βήμα προς βήμα χρησιμοποιώντας το Shell Scripting - Μέρος 1) για να ξεκαθαρίσετε τις αμφιβολίες.

περιεχόμενο


#!/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
###############################################################################
Περιεχόμενο σεναρίου στο Mousepad

Περιεχόμενο σεναρίου στο Mousepad

σχόλια

Καθώς μπορείτε να αναλύσετε από τον κώδικα και να παραλείψετε την κεφαλίδα, το ακόλουθο σενάριο εκτελεί τις ακόλουθες λειτουργίες με αυτοματοποιημένο τρόπο:

  1. Επικυρώστε ότι χρησιμοποιείται ως άδεια ρίζας υπερήχων ή ρίζα υπερήχων.
  2. Διαγράψτε προηγούμενους συνδέσμους στην εφαρμογή που έχουν δημιουργηθεί από προηγούμενη έκδοση.
  3. Δημιουργήστε το νέο αρχείο .desktop (σύνδεσμος) της εφαρμογής στον δικό του φάκελο στο σπίτι του χρήστη.
  4. Εκχωρήστε άδεια κατόχου χρήστη στο δημιουργημένο αρχείο.
  5. Εκχωρήστε στο δημιουργημένο αρχείο τα κατάλληλα δικαιώματα ανάγνωσης / εγγραφής / εκτέλεσης.
  6. Δημιουργήστε τους νέους συμβολικούς συνδέσμους προς τις απαραίτητες διαδρομές.
  7. Ενημερώστε το μενού έναρξης για να εμφανιστεί το αρχείο .desktop που δημιουργήθηκε.
  8. Εκτελέστε μια συγκεκριμένη διεύθυνση URL στη δημιουργημένη εφαρμογή.

Σύσταση

Συνιστάται να δημιουργηθεί αυτό το αρχείο εντός του φακέλου που περιέχει την εν λόγω εφαρμογή / εκτελέσιμο με το αντίστοιχο εικονίδιο (εικόνα / λογότυπο) που καθορίζεται σε αυτό και ότι ο εν λόγω φάκελος βρίσκεται στη διαδρομή /opt αντί της διαδρομής `echo $HOME`/mi_app/ δηλαδή, /home/mi_usuario/mi_app.

Ελπίζω αυτό το μικρό σενάριο να σας επιτρέψει να λύσετε τις ανάγκες σας σχετικά με αυτό το θέμα! Μέχρι το επόμενο άρθρο.

Ενώ σε αφήνω αυτό σύνδεσμος στον επίσημο ιστότοπο του Gnome για το θέμα και αυτό το βίντεο:


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   Guillermo dijo

    Σας ευχαριστώ πολύ για αυτό και για όλα τα άρθρα σας.
    Μια ερώτηση: Πώς, εάν δεν είστε root, θα μπορούσατε να ζητήσετε τον κωδικό πρόσβασης που εμφανίζει αστερίσκους για να συνεχίσει την εκτέλεση με τα κατάλληλα δικαιώματα;

    1.    Ινγκ. Jose Albert dijo

      Θα μπορούσατε να δημιουργήσετε μια διεπαφή με διάλογο και να εφαρμόσετε στο πλαίσιο αίτησης κωδικού πρόσβασης την ιδιότητα κρυπτογράφησης του κλειδιού! Θυμάμαι καλά ότι αυτή η ιδιότητα υπάρχει στο διάλογο.

      Σε αυτήν την προηγούμενη ανάρτηση, κάποιος έκανε κάτι παρόμοιο αλλά γραφικά, αλλά τα συνημμένα αρχεία, δηλαδή, ο κωδικός που χρησιμοποιείται δεν είναι πλέον διαθέσιμος: https://blog.desdelinux.net/script-avanzado-en-bash-bashmd5-para-proteger-algo-explicacion-detallada/

  2.   Guillermo dijo

    Ευχαριστώ, θα ήταν ωραίο να μην πρέπει να αφήσετε το περιβάλλον bash σε περίπτωση που λειτουργεί χωρίς γραφική διεπαφή, σε αυτήν την περίπτωση δεν έχει σημασία ακόμη και αν δεν υπάρχουν αστερίσκοι ή οτιδήποτε, ζητά το κλειδί και δεν εμφανίζεται κείμενο . Εμμ, το βρίσκω http://www.tormentadebits.com/2012/08/scripts-bash-introducir-password-sin-mostrarlo-en-pantalla.html