Shell Scripting за създаване на .desktop файл за преносимо приложение

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

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

Терминът Shell, приложен към операционните системи, се отнася до интерпретатора на команди на операционната система. Като цяло това е високоефективен текстов интерфейс, който се проявява под формата на терминал (конзола) и който по същество обслужва 3 важни области на работа: Администриране на операционната система, стартиране на приложения и взаимодействие с тях и служещ като основна среда програмиране. А Сценариите се отнасят до техниката за проектиране и създаване на скриптове с помощта на черупка.

Shell Scripts са изключително полезни. Добра идея е да напишем онези нужди, които имаме, и след това да редактираме скриптове, които вършат тази работа вместо нас. И в този конкретен случай ще го използваме за създаване на връзки (преки пътища) на приложения в стартовото меню и работния плот на преносими, самоизпълняващи се и самостоятелни приложения.

Приложение на Alacarte Linux

Въвеждане

Много пъти сме изтегляли и инсталирали приложения, които, намирайки се или не в хранилищата на нашата GNU / Linux Distribution, при инсталирането или изпълнението му не създават съответните .desktop файлове на същия или в най-добрия случай не го поставя по правилния път, така че след актуализиране на менюто "Старт" да бъде прочетен и показан в списъка с инсталирани пакети на операционната система.

Следователно трябва да апелираме за използването на приложения като "Alacarte" или "Menulibre" за ръчно създаване на съответната връзка в менюто "Старт".

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

Ако не сте запознати със създаването и / или използването на Shell Scripting файлове, можете Прочети това предишна публикация (Shell, Bash и скриптове) para empezar и след това ако е необходимо да се изследва всички публикации по темата.

Приложение за безплатно меню на 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
###############################################################################
Съдържание на скриптове в подложка за мишка

Съдържание на скриптове в подложка за мишка

коментари

Както можете да анализирате от кода и пропускате заглавката, следният скрипт извършва следните операции по автоматизиран начин:

  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