Linux 애플리케이션 개발 방법(2부)
목차
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.
자세한 내용은 tutorials 및 troubleshooting 설명서가 있습니다.
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에서 데스크톱 애플리케이션을 배포하기 위한 프레임워크이며 독립적인 오픈 소스 프로젝트로 실행됩니다.
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 snaps 및 troubleshooting 을 확인하십시오.
Back to TOC
유용한 링크
Linux 앱 개발자가 되시겠습니까?
즐거운 코딩하세요!
Reference
이 문제에 관하여(Linux 애플리케이션 개발 방법(2부)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/tmchuynh/how-to-develop-linux-applications-part-2-7im텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)