Сценарії оболонки для створення файлу .desktop для портативної програми

Сценарії Bash Shell: Створіть посилання на портативний додаток.

Сценарії Bash Shell: Створіть посилання на портативний додаток.

Термін «оболонка», застосований до операційних систем, позначає інтерпретатор команд операційної системи. Загалом, це високопродуктивний текстовий інтерфейс, який проявляється у формі терміналу (консолі) і, який служить, по суті, для 3 важливих напрямків роботи: адміністрування операційної системи, запуск програм та взаємодія з ними, а також базове середовище програмування. А сценарії стосуються техніки проектування та створення сценаріїв за допомогою оболонки.

Сценарії оболонки надзвичайно корисні. Це гарна ідея написати ті потреби, які ми маємо, а потім відредагувати сценарії, які роблять цю роботу за нас. І в цьому конкретному випадку ми будемо використовувати його для створення посилань (ярликів) додатків у меню «Пуск» та на робочому столі портативних, самовиконуючих та автономних програм.

Додаток Alacarte Linux

Введення

Багато разів ми завантажували та встановлювали програми, які, перебуваючи чи не у сховищах нашого розподілу GNU / Linux, під час встановлення або виконання його не створюють відповідних файлів .desktop того ж самого або в кращих випадках він не розміщує його в правильному шляху, щоб після оновлення меню "Пуск" він був прочитаний і показаний у списку встановлених пакетів операційної системи.

Тому ми маємо апелювати до використання таких програм, як "Alacarte" або "Menulibre", щоб вручну створити відповідне посилання в меню "Пуск".

І хоча ці графічні програми дуже прості у використанні для цієї мети, про це ніколи не надто багато знати створити наш власний сценарій для виконання цієї операції і, отже, знати зсередини, як ця операція виконується в операційній системі.

Якщо ви не знайомі зі створенням та / або використанням файлів сценаріїв оболонки, ви можете Прочитай це попереднє повідомлення (Shell, Bash і сценарії) , щоб почати а потім при необхідності дослідити всі публікації на цю тему.

Безкоштовне меню Linux

Створення програми за допомогою сценарію Shell

З міркувань простору ми припустимо, що ми вже знаємо, як створити сценарій з нуля, тобто ми вже знаємо, як створити заголовок або початкові частини нашого сценарію, і ми перейдемо безпосередньо до його змісту.

Однак якщо у вас є сумніви щодо цього, перевірте це попереднє повідомлення (Побудуйте свою програму поетапно, використовуючи сценарії оболонки - Частина 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
###############################################################################
Вміст сценарію на коврику для миші

Вміст сценарію на коврику для миші

Коментарі

Як ви можете аналізувати за допомогою коду та опускаючи заголовок, наступний сценарій виконує наступні операції в автоматизованому режимі:

  1. Переконайтеся, що ви використовуєтесь як суперкористувач root або суперкористувач root прав.
  2. Видаліть попередні посилання в програмі, створені попередньою версією.
  3. Створіть новий файл .desktop (посилання) програми у власній папці вдома користувача.
  4. Призначте дозвіл власника користувача створеному файлу.
  5. Надайте створеному файлу відповідні дозволи на читання / запис / виконання.
  6. Створіть нові символічні посилання на необхідні маршрути.
  7. Оновіть меню «Пуск», щоб відобразити створений файл .desktop.
  8. Виконайте певну URL-адресу для створеної програми.

Рекомендації

Рекомендується створювати цей файл у папці, що містить відповідну програму / виконуваний файл, із відповідною піктограмою (зображенням / логотипом), вказаною в ній, і що вказана папка розташована у шляху /opt замість маршруту `echo $HOME`/mi_app/ тобто /home/mi_usuario/mi_app.

Сподіваюся, цей маленький сценарій дозволяє вирішити ваші потреби з цього приводу з цього питання! До наступної статті.

Поки я тобі це залишаю посилання на тему на офіційному веб-сайті Gnome і це відео:


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Білл - сказав він

    Щиро дякую за це та всі ваші статті.
    Одне питання: Як, якщо ви не root, ви можете попросити пароль із зірочками, щоб продовжити виконання з відповідними дозволами?

    1.    Інж. Хосе Альберт - сказав він

      Ви можете створити інтерфейс з діалоговим вікном і застосувати властивість шифрування ключа до вікна запиту пароля! Я добре пам’ятаю, що ця властивість існує у діалоговому вікні.

      У цьому попередньому дописі хтось робив щось подібне, але графічно, але вкладені файли, тобто використаний код, більше не доступний: https://blog.desdelinux.net/script-avanzado-en-bash-bashmd5-para-proteger-algo-explicacion-detallada/

  2.   Білл - сказав він

    Дякуємо, було б непогано не залишати середовище bash, якщо воно працює без графічного інтерфейсу, в цьому випадку не має значення, навіть якщо немає зірочок або чогось іншого, що воно запитує ключ, а текст не з'являється. Мммм, я знаходжу це в http://www.tormentadebits.com/2012/08/scripts-bash-introducir-password-sin-mostrarlo-en-pantalla.html