ऑपरेटिंग सिस्टम पर लागू शेल शब्द ऑपरेटिंग सिस्टम के कमांड इंटरप्रेटर को संदर्भित करता है। सामान्य तौर पर, यह एक उच्च-प्रदर्शन वाला टेक्स्ट इंटरफ़ेस है जो स्वयं को एक टर्मिनल (कंसोल) के रूप में प्रकट करता है और जो अनिवार्य रूप से कार्य के 3 महत्वपूर्ण क्षेत्रों में कार्य करता है: ऑपरेटिंग सिस्टम का प्रबंधन करना, एप्लिकेशन चलाना और उनके साथ इंटरैक्ट करना, और एक बुनियादी के रूप में कार्य करना पर्यावरण. प्रोग्रामिंग. और स्क्रिप्टिंग से तात्पर्य शेल का उपयोग करके स्क्रिप्ट डिजाइन करने और बनाने की तकनीक से है.
शैल स्क्रिप्ट अत्यंत उपयोगी हैं। यह एक अच्छा विचार है कि हमें जो चाहिए वह लिखें और फिर उन स्क्रिप्ट्स को संपादित करें जो हमारे लिए यह काम करती हैं। और इस विशेष मामले में हम इसका उपयोग पोर्टेबल, स्व-निष्पादित और स्व-निहित ऐप्स के स्टार्ट मेनू और डेस्कटॉप में एप्लिकेशन लिंक (शॉर्टकट) बनाने के लिए करेंगे।
परिचय
कई बार हमने ऐसे एप्लिकेशन डाउनलोड और इंस्टॉल किए हैं, चाहे वे हमारे जीएनयू/लिनक्स डिस्ट्रीब्यूशन के रिपॉजिटरी में हों या नहीं, इंस्टॉल या निष्पादित होने पर, यह संबंधित .desktop फ़ाइलें नहीं बनाता है। उसी या सर्वोत्तम मामलों में यह इसे सही पथ पर नहीं रखता है ताकि स्टार्ट मेनू को अपडेट करने के बाद इसे ऑपरेटिंग सिस्टम के स्थापित पैकेजों की सूची में पढ़ा और प्रदर्शित किया जा सके।
इसलिए, हमें स्टार्ट मेनू में संबंधित लिंक को मैन्युअल रूप से बनाने के लिए "अलाकार्ट" या "मेनुलिब्रे" जैसे एप्लिकेशन के उपयोग की अपील करनी होगी।
और यद्यपि इन ग्राफिक अनुप्रयोगों को इस उद्देश्य के लिए उपयोग करना बहुत आसान है, यह जानने में कभी कोई दिक्कत नहीं होती है उक्त ऑपरेशन को करने के लिए अपनी स्वयं की स्क्रिप्ट बनाएं और इस प्रकार अंदर से जानें कि ऑपरेटिंग सिस्टम के भीतर उक्त ऑपरेशन कैसे किया जाता है।
यदि आप शेल स्क्रिप्टिंग फ़ाइलें बनाने और/या उपयोग करने से परिचित नहीं हैं, तो आप परिचित हो सकते हैं इस पढ़ें पुरानी पोस्ट (शैल, बैश और स्क्रिप्ट) शुरू करने के लिए और फिर यदि आवश्यक हो तो अन्वेषण करें विषय पर सभी संबंधित प्रकाशन।
शेल स्क्रिप्टिंग का उपयोग करके प्रोग्राम बनाना
हम स्थान के कारणों से यह मान लेंगे कि हम पहले से ही जानते हैं कि स्क्रैच से स्क्रिप्ट कैसे बनाई जाती है, यानी, हम पहले से ही जानते हैं कि हमारी स्क्रिप्ट के हेडर या शुरुआती हिस्सों को कैसे बनाया जाए और हम सीधे इसकी सामग्री पर जाएंगे।
हालाँकि, यदि आपको इसके बारे में संदेह है, तो इसकी जाँच करें पिछली पोस्ट (शैल स्क्रिप्टिंग का उपयोग करके चरण दर चरण अपना प्रोग्राम बनाएं - भाग 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
###############################################################################
टिप्पणियां
जैसा कि आप कोड से विश्लेषण कर सकते हैं और हेडर को छोड़ सकते हैं, निम्न स्क्रिप्ट स्वचालित रूप से निम्नलिखित ऑपरेशन करती है:
- सत्यापित करें कि इसका उपयोग रूट सुपर-यूज़र या रूट सुपर-यूज़र अनुमति के रूप में किया जा रहा है।
- पिछले संस्करण द्वारा बनाए गए पिछले ऐप लिंक हटाएं।
- उपयोगकर्ता के घर के भीतर अपने स्वयं के फ़ोल्डर में नई एप्लिकेशन .डेस्कटॉप (लिंक) फ़ाइल बनाएं।
- बनाई गई फ़ाइल पर उपयोगकर्ता स्वामी की अनुमति निर्दिष्ट करें।
- बनाई गई फ़ाइल को उपयुक्त पढ़ने/लिखने/निष्पादित करने की अनुमतियाँ निर्दिष्ट करें।
- आवश्यक पथों के लिए नए प्रतीकात्मक लिंक बनाएं।
- बनाई गई .desktop फ़ाइल को प्रदर्शित करने के लिए प्रारंभ मेनू को ताज़ा करें।
- बनाए गए एप्लिकेशन पर एक विशिष्ट यूआरएल निष्पादित करें।
सिफारिश
यह अनुशंसा की जाती है कि इस फ़ाइल को उस फ़ोल्डर के भीतर बनाया जाए जिसमें संबंधित एप्लिकेशन/निष्पादन योग्य उसके संबंधित आइकन (छवि/लोगो) के साथ निर्दिष्ट हो और उक्त फ़ोल्डर को पथ में पाया जाए /opt
मार्ग के बजाय `echo $HOME`/mi_app/
यह decir, /home/mi_usuario/mi_app
.
मुझे आशा है कि यह छोटी सी स्क्रिप्ट आपको इस संबंध में अपनी आवश्यकताओं को हल करने की अनुमति देगी! अगले लेख तक.
जबकि मैं इसे छोड़ रहा हूं थीम पर आधिकारिक गनोम वेबसाइट पर लिंक और यह वीडियो:
इसके लिए और आपके सभी लेखों के लिए बहुत-बहुत धन्यवाद।
एक प्रश्न: यदि आप रूट नहीं हैं, तो क्या आप उपयुक्त अनुमतियों के साथ निष्पादन जारी रखने के लिए तारांकन दिखाते हुए पासवर्ड मांग सकते हैं?
आप डायलॉग के साथ एक इंटरफ़ेस बना सकते हैं और पासवर्ड प्रॉम्प्ट बॉक्स को एन्क्रिप्ट कुंजी प्रॉपर्टी दे सकते हैं! मुझे अच्छी तरह याद है कि डायलॉग में एक ऐसी प्रॉपर्टी होती है.
इस पिछली प्रविष्टि में, किसी ने कुछ ऐसा ही किया था लेकिन ग्राफ़िक रूप से लेकिन संलग्न फ़ाइलें, यानी उपयोग किया गया कोड अब उपलब्ध नहीं है: https://blog.desdelinux.net/script-avanzado-en-bash-bashmd5-para-proteger-algo-explicacion-detallada/
धन्यवाद, अगर बैश वातावरण बिना जीयूआई के चलता है तो अच्छा होगा कि उसे बाहर न निकलना पड़े, उस स्थिति में इससे कोई फर्क नहीं पड़ता, भले ही कोई तारांकन या कुछ भी न हो, यह कुंजी मांगता है और कोई पाठ प्रकट नहीं होता है। उम्म्म, मुझे यह मिल गया http://www.tormentadebits.com/2012/08/scripts-bash-introducir-password-sin-mostrarlo-en-pantalla.html