Израз Схелл који се примењује на оперативне системе односи се на интерпретатор наредби оперативног система. Генерално, реч је о текстуалном интерфејсу високих перформанси који се манифестује у облику терминала (конзоле) и који у суштини служи у 3 важна подручја рада: администрирање оперативним системом, покретање апликација и интеракција са њима и служи као основни програмирање окружења. А скриптирање се односи на технику дизајнирања и креирања скрипти помоћу шкољке.
Схелл скрипте су изузетно корисне. Добра је идеја да напишемо све што имамо и затим уредимо скрипте које ово раде за нас. И у овом конкретном случају користићемо га за креирање веза до апликација (пречица) у почетном менију и радној површини преносних, самоизвршавајућих се и самосталних апликација.
Увод
Много пута смо преузимали и инсталирали апликације које, налазећи се или не у спремиштима наше ГНУ / Линук дистрибуције, приликом инсталирања или извршавања не стварају одговарајуће .десктоп датотеке истог или га у најбољим случајевима не поставља на исправан пут тако да се након ажурирања менија Старт чита и приказује на листи инсталираних пакета оперативног система.
Због тога морамо да апелујемо на употребу апликација као што су „Алацарте“ или „Менулибре“ за ручно креирање одговарајуће везе у менију Старт.
Иако су ове графичке апликације врло једноставне за употребу у ове сврхе, никад није превише знати створимо сопствену скрипту за извођење ове операције и тако изнутра знамо како се та операција изводи у оперативном систему.
Ако нисте упознати са стварањем и / или употребом Схелл Сцриптинг датотека, можете Прочитај ово претходни пост (шкољка, басх и скрипте) за почетак а затим ако је потребно истражити све публикације на ту тему.
Креирање програма помоћу Схелл Сцриптинг-а
Из свемирских разлога претпоставићемо да већ знамо како да креирамо скрипту од нуле, то јест, већ знамо како да креирамо заглавље или почетне делове наше скрипте и прећи ћемо директно на њен садржај.
Међутим, ако сумњате у то, проверите ово претходни пост (Изградите свој програм корак по корак користећи Схелл Сцриптинг - 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
###############################################################################
Коментари
Као што можете анализирати из кода и изостављајући заглавље, следећа скрипта аутоматски извршава следеће операције:
- Потврдите да се користите као суперкорисничка роот или суперкорисничка роот дозвола.
- Избришите претходне везе у апликацији које су креиране у претходној верзији.
- Направите нову .десктоп датотеку (везу) апликације у сопственој фасцикли у корисниковом дому.
- Доделите дозволу власника корисника креираној датотеци.
- Доделите створеној датотеци одговарајуће дозволе за читање / писање / извршавање.
- Створите нове симболичке везе до потребних рута.
- Ажурирајте мени Старт да бисте приказали креирану .десктоп датотеку.
- Извршите одређени УРЛ на креираној апликацији.
Препорука
Препоручује се да се ова датотека креира у фасцикли која садржи дотичну апликацију / извршну датотеку са одговарајућом иконом (сликом / логотипом) која је наведена у њој и да се наведена мапа налази на путу /opt
уместо руте `echo $HOME`/mi_app/
то је, /home/mi_usuario/mi_app
.
Надам се да вам ова мала скрипта омогућава да решите своје потребе у вези са овом темом! До следећег чланка.
Док ти ово остављам линк на званичној веб локацији Гноме о тој теми и овај видео:
Пуно вам хвала на овом и свим вашим чланцима.
Једно питање: Како, ако нисте роот, можете ли тражити лозинку која показује звездице да бисте наставили извршење са одговарајућим дозволама?
Можете створити интерфејс са дијалогом и применити својство шифровања кључа на оквир за захтев за лозинком! Добро се сећам да ово својство постоји у дијалогу.
У овом претходном посту неко је урадио нешто слично, али графички, али приложене датотеке, односно коришћени код више није доступан: https://blog.desdelinux.net/script-avanzado-en-bash-bashmd5-para-proteger-algo-explicacion-detallada/
Хвала, било би лепо да не морате да напустите басх окружење у случају да ради без графичког интерфејса, у том случају није важно чак и ако нема звездица или било чега другог, што тражи кључ и не појављује се текст. Уммм, проналазим га у http://www.tormentadebits.com/2012/08/scripts-bash-introducir-password-sin-mostrarlo-en-pantalla.html