Linux 애플리케이션 개발 방법(2부)

목차


  • AppCenter Dashboard
  • AppImage
  • Flatpak
  • Snapcraft
  • Helpful Links

  • AppCenter 대시보드



    • New apps get featured with a large, branded banner. Plus, trending and recently-updated apps are featured on the front page.
    • Define your app's keywords, categories, and subcategories to help people find it.
    • With built-in social media sharing and app URLs, users can easily share your app right from AppCenter.

    Application.vala 폴더의 src 파일 접두사를 확인하고 코드 라이센스와 일치하고 저작권을 할당해야 합니다.

    /*
     * SPDX-License-Identifier: GPL-3.0-or-later
     * SPDX-FileCopyrightText: 2021 Your Name <[email protected]>
     */
    


    MetaInfo 파일에는 AppCenter에 앱을 나열하는 데 필요한 모든 정보가 포함되며 다음과 같이 표시됩니다.

    <?xml version="1.0" encoding="UTF-8"?>
    <component type="desktop-application">
      <id>com.github.myteam.myapp</id>
    
      <name>My App</name>
      <summary>Proves that we can use Vala and Gtk</summary>
    
      <metadata_license>CC-BY-4.0</metadata_license>
      <project_license>GPL-3.0-or-later</project_license>
    
      <description>
        <p>
          A quick summary of your app's main selling points and features. Just a couple sentences per paragraph is best
        </p>
      </description>
    
      <launchable type="desktop-id">com.github.myteam.myapp.desktop</launchable>
    </component>
    


    데스크톱 항목 파일에는 응용 프로그램 메뉴와 도크에 앱을 표시하는 데 필요한 모든 정보가 포함되며 다음과 같이 표시되어야 합니다.

    [Desktop Entry]
    Version=1.0
    Type=Application
    
    Name=My App
    Comment=Proves that we can use Vala and Gtk
    Categories=Development;Education;
    
    Icon=com.github.myteam.myapp
    Exec=com.github.myteam.myapp
    Terminal=false
    


    나머지 코드와 전체 설명 및 세부 사항은 여기Our First App를 확인하십시오.

    Back to TOC

    AppImage



    데스크탑 Linux 애플리케이션을 AppImage 형식으로 배포하고 모든 일반 Linux 배포판을 실행하는 사용자를 확보하십시오.

    appimage-builder is a novel tool for creating AppImages. It uses the system package manager to resolve the application dependencies and creates a complete bundle. It can be used to pack almost any kind of applications including those made using: C/C++, Python, and Java.



    자세한 내용은 tutorialstroubleshooting 설명서가 있습니다.



    appimage-builder 설치 방법



    옵션 1: amd64 시스템용 AppImage

    wget -O appimage-builder-x86_64.AppImage https://github.com/AppImageCrafters/appimage-builder/releases/download/v1.0.0-beta.1/appimage-builder-1.0.0-677acbd-x86_64.AppImage
    chmod +x appimage-builder-x86_64.AppImage
    
    # install (optional)
    sudo mv appimage-builder-x86_64.AppImage /usr/local/bin/appimage-builder
    


    옵션 2: 도커 이미지

    NOTE: Testing AppImages is not supported on this format. Always use –skip-test.



    docker pull appimagecrafters/appimage-builder:latest
    


    옵션 3: 수동 설치

    The project is built using Python 3 and uses various command-line applications to fulfill its goal. Depending on the host system and the recipe the packages providing such applications may vary.



    1단계: 종속 항목 설치
    데비안/우분투

    sudo apt install -y python3-pip python3-setuptools patchelf desktop-file-utils libgdk-pixbuf2.0-dev fakeroot strace fuse
    
    # Install appimagetool AppImage
    sudo wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /usr/local/bin/appimagetool
    sudo chmod +x /usr/local/bin/appimagetool
    


    아치 리눅스

    sudo pacman -Sy python-pip python-setuptools binutils patchelf desktop-file-utils gdk-pixbuf2 wget fakeroot strace
    
    # Install appimagetool AppImage
    sudo wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /usr/local/bin/appimagetool
    sudo chmod +x /usr/local/bin/appimagetool
    


    2단계: appimage-builder 설치
    옵션 1: 태그가 지정된 최신 릴리스 설치:

    sudo pip3 install appimage-builder
    


    옵션 2: 개발 버전 설치:

    sudo pip3 install git+https://github.com/AppImageCrafters/appimage-builder.git
    


    3단계: appimagetool 설치

    There is an issue in the AppImage runtime format that prevents it proper execution inside docker containers. Therefore we must use the following workaround to make appimagetool work properly.



    # Install appimagetool AppImage
    sudo wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /opt/appimagetool
    
    # workaround AppImage issues with Docker
    cd /opt/; sudo chmod +x appimagetool; sed -i 's|AI\x02|\x00\x00\x00|' appimagetool; sudo ./appimagetool --appimage-extract
    sudo mv /opt/squashfs-root /opt/appimagetool.AppDir
    sudo ln -s /opt/appimagetool.AppDir/AppRun /usr/local/bin/appimagetool
    


    Back to TOC

    플랫팩



    Flatpak은 Linux에서 데스크톱 애플리케이션을 배포하기 위한 프레임워크이며 독립적인 오픈 소스 프로젝트로 실행됩니다.


  • 모든 배포판용 빌드
  • 새 버전의 Linux 배포판과 호환되는 앱 개발
  • Flathub을(를) 사용하여 앱을 사용할 수 있도록 합니다.
  • 독립 커뮤니티에서 Flatpak을 개발함

  • developer guide을 확인하거나 distros Flatpak과 함께 사용할 수 있는 번호를 참조하십시오.

    Flatpak documentation을 읽고 Flatpak을 사용하여 응용 프로그램을 구축하고 배포하는 데 필요한 모든 정보를 얻으십시오.

    Building your first Flatpak부터 시작하는 것이 좋습니다! 그들은 심지어 tips and tricks

    스냅크래프트



    스냅을 만들고 게시합니다Snap store.

    At the heart of the snapcraft build process is a file called snapcraft.yaml. This file describes a snap’s build dependencies and run-time requirements, it integrates remote repositories and extensions, and runs custom scripts and hooks for better integration with CI systems.


    snapcraft.yaml는 최상위 메타데이터, 앱 및 서비스, 부품의 세 가지 기본 섹션으로 구성됩니다.

  • top-level metadata 상점에서 일반적으로 사용되는 값 포함

  • - architectures
    - assumes
    - base
    - compression
    - contact
    - description
    - hooks
    - issues
    - icon
    - layout
    - license
    - summary
    - title
    - type
    - version
    - plugs
    

  • app and services 앱과 서비스가 호스트 시스템에 노출되는 방식 설명

  • - adapter
    - autostart
    - command
    - command-chain
    - desktop
    - environment
    - install-mode
    - listen-stream
    - restart-condition
    - refresh-mode
    

  • parts은 스냅
  • 의 각 필수 부분을 가져오고 빌드하는 방법을 설명합니다.

    - build-attributes
    - build-snaps
    - organize
    - parse-info
    - source
    - stage
    

    자세한 내용은 documentation guidelines , installing snapd , releasing your app , managing snapstroubleshooting 을 확인하십시오.

    Back to TOC

    유용한 링크


  • Building Introduction with Flatpak
  • Publishing with Flatpak
  • Creating snapcraft.yaml
  • Getting started with snapcraft

  • Linux 앱 개발자가 되시겠습니까?

    즐거운 코딩하세요!

    좋은 웹페이지 즐겨찾기