Shell Scripting เพื่อสร้างไฟล์. desktop สำหรับแอปพลิเคชันแบบพกพา

Bash Shell Scripting: สร้างลิงค์ของแอพพกพา

Bash Shell Scripting: สร้างลิงค์ของแอพพกพา

คำว่าเชลล์ที่ใช้กับระบบปฏิบัติการหมายถึงตัวแปลคำสั่งของระบบปฏิบัติการ โดยทั่วไปมันเป็นอินเทอร์เฟซข้อความประสิทธิภาพสูงที่แสดงออกมาในรูปแบบของเทอร์มินัล (คอนโซล) และทำหน้าที่สำคัญในการทำงาน 3 ส่วน: การดูแลระบบปฏิบัติการการเรียกใช้แอปพลิเคชันและการโต้ตอบกับพวกเขา การเขียนโปรแกรม และสคริปต์หมายถึงเทคนิคการออกแบบและสร้างสคริปต์โดยใช้เชลล์.

เชลล์สคริปต์มีประโยชน์อย่างยิ่ง เป็นความคิดที่ดีที่จะเขียนความต้องการเหล่านั้นที่เรามีแล้วแก้ไขสคริปต์ที่ทำงานนี้ให้เรา และในกรณีนี้เราจะใช้มันเพื่อสร้างลิงค์แอพพลิเคชั่น (ทางลัด) ในเมนูเริ่มและเดสก์ท็อปของแอพแบบพกพาที่ดำเนินการด้วยตัวเองและในตัว

แอปพลิเคชัน Alacarte Linux

การแนะนำ

หลายครั้งที่เราดาวน์โหลดและติดตั้งแอปพลิเคชันที่อยู่หรือไม่อยู่ในที่เก็บของ GNU / Linux Distribution ของเราเมื่อติดตั้งหรือเรียกใช้งานแอปพลิเคชันนั้นจะไม่สร้างไฟล์. 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. ตรวจสอบว่ากำลังใช้เป็นสิทธิ์ super-user root หรือ super-user root
  2. ลบลิงก์ก่อนหน้านี้ในแอปพลิเคชันที่สร้างขึ้นโดยเวอร์ชันก่อนหน้า
  3. สร้างไฟล์. desktop ใหม่ (ลิงค์) ของแอปพลิเคชันในโฟลเดอร์ของตัวเองภายในบ้านของผู้ใช้
  4. กำหนดสิทธิ์เจ้าของผู้ใช้ให้กับไฟล์ที่สร้างขึ้น
  5. กำหนดไฟล์ที่สร้างขึ้นด้วยสิทธิ์ในการอ่าน / เขียน / ดำเนินการที่เหมาะสม
  6. สร้างลิงก์สัญลักษณ์ใหม่ไปยังเส้นทางที่จำเป็น
  7. อัปเดตเมนูเริ่มต้นเพื่อแสดงไฟล์. desktop ที่สร้างขึ้น
  8. ดำเนินการ URL เฉพาะบนแอปพลิเคชันที่สร้างขึ้น

ข้อเสนอแนะ

ขอแนะนำให้สร้างไฟล์นี้ภายในโฟลเดอร์ที่มีแอปพลิเคชัน / ปฏิบัติการที่เป็นปัญหาโดยมีไอคอนตามลำดับ (รูปภาพ / โลโก้) ระบุอยู่ภายในและโฟลเดอร์ดังกล่าวจะอยู่ในเส้นทาง /opt แทนเส้นทาง `echo $HOME`/mi_app/ นั่นคือ /home/mi_usuario/mi_app.

ฉันหวังว่าสคริปต์เล็ก ๆ นี้จะช่วยให้คุณสามารถแก้ปัญหาความต้องการของคุณในเรื่องนี้ได้! จนกว่าจะถึงบทความถัดไป.

ในขณะที่ฉันปล่อยให้คุณนี้ ลิงก์บนเว็บไซต์ Gnome อย่างเป็นทางการในหัวข้อ และวิดีโอนี้:


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   กิ dijo

    ขอบคุณมากสำหรับเรื่องนี้และบทความทั้งหมดของคุณ
    คำถามหนึ่ง: หากคุณไม่ได้รูทคุณจะขอรหัสผ่านที่แสดงเครื่องหมายดอกจันเพื่อดำเนินการต่อด้วยสิทธิ์ที่เหมาะสมได้อย่างไร

    1.    Jose Albert dijo

      คุณสามารถสร้างอินเทอร์เฟซพร้อมกล่องโต้ตอบและนำไปใช้กับกล่องขอรหัสผ่านซึ่งเป็นคุณสมบัติของการเข้ารหัสคีย์! ฉันจำได้ดีว่าคุณสมบัตินี้มีอยู่ในกล่องโต้ตอบ

      ในโพสต์ก่อนหน้านี้มีคนทำสิ่งที่คล้ายกัน แต่เป็นภาพกราฟิก แต่ไฟล์ที่แนบมานั่นคือรหัสที่ใช้ไม่สามารถใช้ได้อีกต่อไป: https://blog.desdelinux.net/script-avanzado-en-bash-bashmd5-para-proteger-algo-explicacion-detallada/

  2.   กิ dijo

    ขอบคุณคงจะดีที่ไม่ต้องออกจากสภาพแวดล้อม bash ในกรณีที่มันทำงานโดยไม่มีอินเทอร์เฟซแบบกราฟิกในกรณีนี้มันไม่สำคัญแม้ว่าจะไม่มีเครื่องหมายดอกจันหรืออะไรก็ตามที่ขอคีย์และไม่มีข้อความปรากฏขึ้น อืมฉันหามันเจอ http://www.tormentadebits.com/2012/08/scripts-bash-introducir-password-sin-mostrarlo-en-pantalla.html