휴대용 애플리케이션을위한 .desktop 파일을 생성하기위한 쉘 스크립팅

Bash Shell 스크립팅 : 휴대용 앱의 링크를 만듭니다.

Bash Shell 스크립팅 : 휴대용 앱의 링크를 만듭니다.

운영 체제에 적용된 셸이라는 용어는 운영 체제의 명령 인터프리터를 나타냅니다. 일반적으로 터미널 (콘솔)의 형태로 나타나고 기본적으로 운영 체제 관리, 응용 프로그램 실행 및 상호 작용의 3 가지 중요한 작업 영역에 사용되는 고성능 텍스트 인터페이스입니다. 기본 환경 프로그래밍. 그리고 스크립팅은 셸을 사용하여 스크립트를 디자인하고 만드는 기술을 말합니다..

쉘 스크립트는 매우 유용합니다. 우리가 가지고있는 이러한 요구 사항을 작성한 다음이 작업을 수행하는 스크립트를 편집하는 것이 좋습니다. 그리고이 특별한 경우에 우리는 그것을 사용하여 휴대용, 자체 실행 가능, 자체 포함 앱의 시작 메뉴와 데스크탑에 애플리케이션 링크 (바로 가기)를 생성 할 것입니다.

Alacarte Linux 애플리케이션

소개

여러 번 우리는 GNU / Linux 배포판의 저장소에 있든 없든, 설치하거나 실행할 때 해당 .desktop 파일을 생성하지 않는 응용 프로그램을 다운로드하고 설치했습니다. 동일하거나 가장 좋은 경우에는 올바른 경로에 배치하지 않으므로 시작 메뉴를 업데이트 한 후 운영 체제의 설치된 패키지 목록에 읽고 표시됩니다.

따라서 시작 메뉴에서 각 링크를 수동으로 생성하려면 "Alacarte"또는 "Menulibre"와 같은 응용 프로그램 사용에 호소해야합니다.

그리고 이러한 그래픽 응용 프로그램은 이러한 목적으로 사용하기가 매우 간단하지만 알아두면 그다지 많지 않습니다. 이 작업을 수행하기 위해 자체 스크립트를 생성하여 운영 체제 내에서이 작업이 수행되는 방식을 알 수 있습니다.

쉘 스크립팅 파일 생성 및 / 또는 사용에 익숙하지 않은 경우 다음을 수행 할 수 있습니다. 이것을 읽으십시오 이전 게시물 (쉘, 배시 및 스크립트) 시작하다 그런 다음 필요한 경우 탐색 주제에 대한 모든 출판물.

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. 수퍼 유저 루트 또는 수퍼 유저 루트 권한으로 사용되고 있는지 확인합니다.
  2. 이전 버전에서 생성 된 애플리케이션의 이전 링크를 삭제합니다.
  3. 사용자의 홈에있는 자체 폴더에 응용 프로그램의 새 .desktop 파일 (링크)을 만듭니다.
  4. 생성 된 파일에 사용자 소유자 권한을 할당합니다.
  5. 생성 된 파일에 적절한 읽기 / 쓰기 / 실행 권한을 부여합니다.
  6. 필요한 경로에 대한 새 심볼릭 링크를 만듭니다.
  7. 생성 된 .desktop 파일을 표시하도록 시작 메뉴를 업데이트합니다.
  8. 생성 된 애플리케이션에서 특정 URL을 실행합니다.

추천

해당 아이콘 (이미지 / 로고)이 지정된 해당 응용 프로그램 / 실행 파일이 포함 된 폴더 내에이 파일을 생성하고 해당 폴더가 경로에있는 것이 좋습니다. /opt 경로 대신 `echo $HOME`/mi_app/ 즉, /home/mi_usuario/mi_app.

이 작은 스크립트가이 주제와 관련하여 귀하의 요구를 해결할 수 있기를 바랍니다! 다음 기사까지.

내가 너를 떠나는 동안 주제에 대한 공식 Gnome 웹 사이트의 링크 그리고이 비디오 :


기사의 내용은 우리의 원칙을 준수합니다. 편집 윤리. 오류를보고하려면 여기에.

3 코멘트, 당신의 것을 남겨주세요

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   길레

    이것과 모든 기사에 대해 대단히 감사합니다.
    한 가지 질문 : 루트가 아닌 경우 적절한 권한으로 실행을 계속하기 위해 별표가 표시된 암호를 어떻게 요청할 수 있습니까?

    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