이 저장소는 Bottles의 비공식 Appimage를 생성하고 배포합니다.
버리다
동기 부여
공법
Conty를 사용하여 병 만들기
콘티는 왜?
왜 Conty를 AppImage로 사용하나요?
다운로드
이전 대체 방법
문제 해결
크레딧
간편하게 설치하고 업데이트하세요
공식 Bottles 패키지는 Flatpak으로만 제공됩니다.
모든 빌드 방법은 비공식 AUR 패키지(https://aur.archlinux.org/packages/bottles)를 기반으로 합니다.
모든 불만은 이러한 정신적 폐쇄로 인해 발생합니다!
패키저로서 나는 업스트림이나 비공식 개발자가 나에게 준 것만을 따를 수 있습니다.
개발자와 패키저는 완전히 반대되는 두 가지 범주입니다.
개발자가 프로그램을 만든다
패키저는 역량 있는 플랫폼을 위해 이를 번들로 묶어 배포합니다(deb, rpm, flatpak, snap, appimage...).
개발자는 자신의 응용 프로그램이 모든 곳에서 작동하는 것을 확인하는 데 확실히 관심이 있으므로 패키지가 플랫폼에서 작동하는지 여부에 관계없이 이를 호환 가능하게 만드는 것은 패키저의 책임입니다.
Bottles 프로젝트의 가장 큰 장애물은 Flatpak을 유일한 포장 형식으로 지원하기 위해 대체 포장 형식을 사용하라는 모든 요청이나 제안에 대해 확고한 거부를 제공하는 일부 협력자입니다. 이러한 오만한 사람들 중 일부를 만난 것은 그들이 말한 것과 반대되는 행동을 계속하도록 자극하는 역할을 했습니다.
팁과 요령을 알려줌으로써 여러 번의 시도 끝에 AppImage를 구축하는 데 도움을 준 Bottles 개발자 @mirkobrombin에게 감사드립니다. 그라치 미르코!
저는 Flatpak을 사용하지 않는 사용자가 어려움 없이 Bottles를 다른 방식으로 사용할 수 있도록 여러 번 시도했습니다.
현재 확실하게 작동하는 유일한 방법은 Conty를 이용하는 것입니다.
현재 제가 제작한 AppImage에는 다음과 같은 구조가 포함되어 있습니다.
|---- AppRun |---- com.usebottles.bottles.desktop |---- com.usebottles.bottles.svg |---- conty.sh
AppRun은 AppImage의 핵심 스크립트입니다.
Bottles의 .desktop 파일
병의 아이콘
"conty.sh"라는 Arch Linux 컨테이너에는 Bottle, WINE 및 그래픽 드라이버가 포함되어 있습니다.
포인트 1, 2, 3은 모든 AppImage의 필수 요소입니다.
"conty.sh"(4) 스크립트는 이 AppImage의 요소 중 가장 큰 것입니다.
내 작업 흐름의 각 파일은 다음과 같습니다.
create-arch-bootstrap.sh는 AUR에서 Bottles가 설치되는 Arch Linux chroot를 생성합니다. 이것은 사용될 첫 번째 스크립트입니다("root" 필요).
create-conty.sh는 이 프로세스에 사용되는 두 번째 스크립트로, "create-arch-bootstrap.sh"로 생성된 Arch Linux chroot를 "conty-start.sh"가 포함된 "conty.sh"라는 큰 스크립트로 변환합니다. ";
conty-start.sh는 Conty가 작동하도록 시작 초기화 프로세스를 담당하는 스크립트입니다. 여기에는 필요한 Nvidia 드라이버 버전을 감지하는 기능이 포함되어 있습니다. 필요한 경우 스크립트는 해당 드라이버를 ~/.local/share/Conty에 다운로드하여 설치합니다. 또한 "bubblewrap;을 사용하여 Conty와 호스트 시스템의 완전한 통합을 담당합니다.
utils_dwarfs.tar.gz에는 파일 시스템을 압축하기 위한 squashfs와 유사한 도구 세트인 "dwarfs"가 포함되어 있으며 "conty.sh"를 최대한 압축하는 데 필요합니다.
Bottle-conty-builder.sh는 AppRun, .desktop 파일 및 모든 것을 AppImage로 변환하는 아이콘 근처에 "conty.sh"를 넣기 위해 작성한 스크립트입니다. 이는 github 작업에 사용되지만 내 Conty 포크의 "conty.sh" 테스트 릴리스를 사용하여 AppImage를 빌드하기 위해 로컬에서 실행할 수 있습니다.
파일 1, 2, 3, 4는 내 포크인 https://github.com/Kron4ek/Conty에서 가져온 것입니다.
파일 1, 2, 3은 원본 파일의 모드로, 병을 작동시키는 데 필요한 것만 포함하여 더 작게 만들었습니다.
"Conty"에 대해 자세히 알아보거나, 더 많은 완전한 빌드를 다운로드하거나, 자신만의 빌드를 만드는 방법에 대해 자세히 알아보려면 프로젝트의 공식 저장소를 방문하세요.
Conty는 자체 리소스를 갖춘 휴대용 Arch Linux 컨테이너입니다.
컨테이너 자체에서 사용할 수 없는 경우 자체 Nvidia 드라이버 복사본을 설치하는 유일한 솔루션입니다(아래 그림 참조).
드라이버는 ~/.local/share/Conty 디렉터리에 설치되며 최대 700MB의 공간을 차지할 수 있습니다.
Bottles가 처음 시작할 때 필요한 라이브러리를 다운로드하고 WINE용 프로필을 생성하면 ~/.local/share/bottles에서 약 1.4GB의 공간에 도달한다는 점을 고려하면 그 크기는 허용 가능한 수준 이상이라고 말하고 싶습니다.
Flatpak 런타임을 설치하는 것과 약간 비슷합니다. 하지만 단 하나뿐입니다. 나머지 파일은 Conty 자체에 저장됩니다.
Conty를 AppImage로 래핑하면 패키지 관리자 "AM"을 사용하여 (버블랩 샌드박스를 통해) 격리할 수 있습니다.
이 AppImage는 차세대 버전(Type3 AppImage)이므로 이를 사용하기 위해 시스템에 libfuse2
설치할 필요가 없습니다.
https://github.com/ivan-hc/Bottles-appimage/releases/tag/continuous에서 AppImage를 다운로드할 수 있습니다.
사용할 수 있는 리소스가 거의 없다는 사실이 제가 가능성의 한계 내에서 어느 정도 효과적인 시행착오를 거쳐 진행하도록 강요했습니다.
Conty의 사용은 긴 시리즈 중 가장 최근에 나온 것입니다.
이전 빌드 스크립트는 이 저장소의 디렉터리에서 사용할 수 있습니다.
"레거시"에는 JuNest 위에 AppImage를 구축하기 위한 실험적 스크립트가 포함되어 있지만 하드웨어 가속이 부족합니다(ivan-hc/ArchImage#20 참조).
"하이브리드"는 내 두 프로젝트인 AppImaGen과 ArchImage를 혼합한 Arch Linux와 Debian 패키지 덕분에 작동한 것이었습니다. 이 방법을 유지하는 것이 좋지 않은 필수 Arch Linux 패키지(python)에 대한 최신 변경 사항과 최신 배포판에서만 작동했습니다. 이 방법의 유일한 릴리스를 https://github.com/ivan-hc/Bottles-appimage/releases/tag/51.11-2에서 다운로드할 수 있습니다.
이 저장소의 "문제가 있는" 기록을 고려할 때 Conty가 내 작업 흐름에 대한 궁극적인 솔루션인지는 알 수 없습니다. 그것은 모두 업스트림 개발자나 제3자가 나에게 제공하는 패키지에 따라 다릅니다.
처음 시작할 때 필요한 경우 Conty를 통해 비디오 카드용 드라이버가 다운로드됩니다(위 스크린샷 참조). 이 작업은 몇 초 또는 몇 분이 걸릴 수 있습니다. 이 동작은 처음 시작할 때 실행 프로그램을 사용하는 대신 터미널에서 Bottles를 실행하는 경우에만 알 수 있습니다.
bottles-cli
사용에 프로그램 추가 이 Appimage에 대한 심볼릭 링크 " bottles-cli
"를 생성하고 $PATH에 추가하면 바탕 화면에 프로그램을 추가할 때 관련 아이콘이 있는 메뉴에서 실행할 수 있습니다. 이 기능은 "AM" 및 "AppMan"을 사용하여 "병"을 설치한 경우 이미 사용할 수 있습니다.
나에게 보여준 모든 인내심과 가용성에 대해 @mirkobrombin
콘티 https://github.com/Kron4ek/Conty
"AM"/"AppMan"은 APT가 DEB 패키지, RPM DNF 등을 관리하는 것과 같은 방식으로 AppImage 패키지 및 기타 이식 가능한 형식을 설치, 업데이트 및 관리하기 위한 스크립트 및 모듈 세트입니다. Arch User Repository에서 영감을 받은 쉘 스크립트의 대규모 데이터베이스로, 각각은 앱 또는 애플리케이션 세트 전용입니다.
"AM"/"AppMan"의 엔진은 설치 또는 이름 변경 방법에 따라 시스템 전체(단일 시스템 관리자의 경우) 또는 로컬(각 사용자의 경우)에 앱을 설치할 수 있는 "APP-MANAGER" 스크립트입니다. ).
"AM"/"AppMan"은 모든 AppImage 패키지의 기본 패키지 관리자가 되어 머물 수 있는 공간을 제공하는 것을 목표로 합니다.
Portable-linux-apps.github.io/apps 에서 관리되는 앱의 전체 목록을 참조할 수 있습니다.
"AM"을 설치하세요 | 사용 가능한 모든 앱 보기 | ko-fi.com에서 저를 지원해주세요 | PayPal.me에서 저를 지원해주세요 |
---|