Shell Scripting để tạo tệp .desktop cho ứng dụng di động

Bash Shell Scripting: Tạo liên kết của một ứng dụng di động.

Bash Shell Scripting: Tạo liên kết của một ứng dụng di động.

Thuật ngữ Shell áp dụng cho Hệ điều hành đề cập đến trình thông dịch lệnh của Hệ điều hành. Nói chung, nó là một giao diện văn bản hiệu suất cao thể hiện dưới dạng một Terminal (Bảng điều khiển) và về cơ bản phục vụ 3 lĩnh vực công việc quan trọng: Quản trị Hệ điều hành, Chạy các ứng dụng và tương tác với chúng, và đóng vai trò cơ bản lập trình môi trường. Và Scripting đề cập đến kỹ thuật thiết kế và tạo Scripts bằng cách sử dụng Shell.

Shell Scripts cực kỳ hữu ích. Bạn nên viết những nhu cầu mà chúng tôi có và sau đó chỉnh sửa các tập lệnh thực hiện công việc này cho chúng tôi. Và trong trường hợp cụ thể này, chúng tôi sẽ sử dụng nó để tạo liên kết (phím tắt) của các ứng dụng trong menu bắt đầu và màn hình nền của các ứng dụng di động, tự thực thi và độc lập.

Ứng dụng Alacarte Linux

Giới thiệu

Nhiều lần chúng tôi đã tải xuống và cài đặt các ứng dụng có hoặc không có trong kho của Bản phân phối GNU / Linux của chúng tôi, khi cài đặt hoặc thực thi nó, nó không tạo ra các tệp .desktop tương ứng giống nhau hoặc trong trường hợp tốt nhất là nó không đặt nó vào đúng đường dẫn để sau khi cập nhật Start Menu, nó sẽ được đọc và hiển thị trong danh sách các gói đã cài đặt của Hệ điều hành.

Do đó, chúng tôi phải kêu gọi sử dụng các ứng dụng như "Alacarte" hoặc "Menulibre" để tạo thủ công liên kết tương ứng trong Start Menu.

Và mặc dù các ứng dụng đồ họa này rất đơn giản để sử dụng cho mục đích này, nhưng không bao giờ là quá nhiều để biết tạo tập lệnh của riêng chúng ta để thực hiện thao tác này và từ đó biết được cách thao tác này được thực hiện trong Hệ điều hành.

Nếu bạn không quen với việc tạo và / hoặc sử dụng các tệp Shell Scripting, bạn có thể đọc này bài đăng trước (Shell, Bash và Scripts) để bắt đầu và sau đó nếu cần thiết để khám phá tất cả các ấn phẩm về chủ đề này.

Ứng dụng menu miễn phí Linux

Tạo chương trình bằng Shell Scripting

Chúng tôi sẽ giả sử vì lý do không gian mà chúng tôi đã biết cách tạo tập lệnh từ đầu, tức là chúng tôi đã biết cách tạo tiêu đề hoặc các phần ban đầu của tập lệnh và chúng tôi sẽ đi thẳng vào nội dung của nó.

Tuy nhiên, nếu bạn nghi ngờ về điều đó, hãy kiểm tra điều này bài trước (Xây dựng chương trình của bạn từng bước bằng cách sử dụng Shell Scripting - Phần 1) để làm rõ những nghi ngờ.

nội dung


#!/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
###############################################################################
Nội dung tập lệnh trên Mousepad

Nội dung tập lệnh trên Mousepad

Bình luận

Khi bạn có thể phân tích từ mã và bỏ qua tiêu đề, tập lệnh sau thực hiện các hoạt động sau theo cách tự động:

  1. Xác thực rằng bạn đang được sử dụng làm quyền root siêu người dùng hoặc quyền root siêu người dùng.
  2. Xóa các liên kết trước đó trong ứng dụng đã được tạo bởi phiên bản trước.
  3. Tạo tệp .desktop mới (liên kết) của ứng dụng trong thư mục riêng của nó trong nhà của người dùng.
  4. Gán quyền của chủ sở hữu người dùng cho tệp đã tạo.
  5. Cung cấp cho tệp đã tạo các quyền đọc / ghi / thực thi thích hợp.
  6. Tạo các liên kết tượng trưng mới đến các tuyến đường cần thiết.
  7. Cập nhật menu bắt đầu để hiển thị tệp .desktop đã tạo.
  8. Thực thi một URL cụ thể trên ứng dụng đã tạo.

Khuyến nghị

Bạn nên tạo tệp này trong thư mục chứa ứng dụng / tệp thực thi được đề cập với biểu tượng tương ứng (hình ảnh / logo) được chỉ định trong đó và thư mục đó nằm trong đường dẫn /opt thay vì tuyến đường `echo $HOME`/mi_app/ nghĩa là, /home/mi_usuario/mi_app.

Tôi hy vọng kịch bản nhỏ này cho phép bạn giải quyết nhu cầu của bạn về vấn đề này về chủ đề này! Cho đến bài viết tiếp theo.

Trong khi tôi để lại cho bạn cái này liên kết trên trang web chính thức của Gnome về chủ đề này và video này:


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   Guillermo dijo

    Cảm ơn bạn rất nhiều về điều này và tất cả các bài viết của bạn.
    Một câu hỏi: Làm thế nào, nếu bạn chưa root, bạn có thể yêu cầu mật khẩu hiển thị dấu hoa thị để tiếp tục thực thi với các quyền thích hợp không?

    1.    Jose Albert dijo

      Bạn có thể tạo một giao diện với hộp thoại và áp dụng cho hộp yêu cầu mật khẩu thuộc tính mã hóa khóa! Tôi nhớ rõ rằng thuộc tính này tồn tại trong hộp thoại.

      Trong bài trước này, ai đó đã làm điều gì đó tương tự nhưng bằng đồ họa nhưng các tệp đính kèm, tức là mã được sử dụng không còn nữa: https://blog.desdelinux.net/script-avanzado-en-bash-bashmd5-para-proteger-algo-explicacion-detallada/

  2.   Guillermo dijo

    Cảm ơn, sẽ thật tuyệt nếu không phải rời khỏi môi trường bash trong trường hợp nó chạy mà không có giao diện đồ họa, trong trường hợp đó không thành vấn đề ngay cả khi không có dấu hoa thị hoặc bất cứ thứ gì, nó yêu cầu khóa và không có văn bản nào xuất hiện. Ummm, tôi tìm thấy nó trong http://www.tormentadebits.com/2012/08/scripts-bash-introducir-password-sin-mostrarlo-en-pantalla.html