Сценарий оболочки для создания файла .desktop для портативного приложения

Bash Shell Scripting: создайте ссылку на портативное приложение.

Bash Shell Scripting: создайте ссылку на портативное приложение.

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

Сценарии оболочки чрезвычайно полезны. Хорошая идея - написать те потребности, которые у нас есть, а затем отредактировать сценарии, которые выполняют эту работу за нас. И в этом конкретном случае мы будем использовать его для создания ссылок (ярлыков) приложений в меню «Пуск» и на рабочем столе переносимых, самоисполняемых и автономных приложений.

Приложение Alacarte для Linux

Введение

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

Поэтому мы должны обратиться к использованию таких приложений, как «Alacarte» или «Menulibre», чтобы вручную создать соответствующую ссылку в меню «Пуск».

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

Если вы не знакомы с созданием и / или использованием файлов сценариев оболочки, вы можете прочитайте это предыдущая запись (Shell, Bash и скрипты) начать а затем при необходимости изучить все публикации по теме.

Бесплатное приложение для Linux

Создание программы с использованием сценариев оболочки

Мы предположим из соображений экономии места, что мы уже знаем, как создать сценарий с нуля, то есть мы уже знаем, как создать заголовок или начальные части нашего сценария, и перейдем непосредственно к его содержимому.

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