พื้นที่เก็บข้อมูลนี้สร้างและแจกจ่าย Appimage of Bottles อย่างไม่เป็นทางการ
ข้อจำกัดความรับผิดชอบ
แรงจูงใจ
วิธีการก่อสร้าง
สร้างขวดโดยใช้ Conty
ทำไมต้องคอนตี้?
เหตุใดจึงต้อง Conty เป็น AppImage
ดาวน์โหลด
วิธีการทางเลือกก่อนหน้า
การแก้ไขปัญหา
เครดิต
ติดตั้งและอัพเดตได้อย่างง่ายดาย
แพ็คเกจ Bottles อย่างเป็นทางการมีเฉพาะในรูปแบบ Flatpak เท่านั้น
วิธีการสร้างทั้งหมดขึ้นอยู่กับแพ็คเกจ AUR อย่างไม่เป็นทางการที่ https://aur.archlinux.org/packages/bottles
การร้องเรียนใด ๆ เกิดจากการปิดจิตนี้เท่านั้น!
ในฐานะผู้ทำแพ็กเกจ ฉันสามารถทำตามสิ่งที่ฉันอัพสตรีมหรือนักพัฒนาที่ไม่เป็นทางการมอบให้ฉันเท่านั้น
นักพัฒนาและผู้ทำแพ็กเกจเป็นสองประเภทที่ตรงกันข้ามกันโดยสิ้นเชิง:
นักพัฒนาสร้างโปรแกรม
ผู้ทำแพ็กเกจจะรวมกลุ่มและแจกจ่าย (เป็น deb, rpm, flatpak, snap, appimage...) สำหรับแพลตฟอร์มความสามารถ
นักพัฒนามีความสนใจที่จะเห็นแอปพลิเคชันของเขาทำงานได้ทุกที่ ดังนั้นหากแพ็คเกจใช้งานได้หรือไม่บนแพลตฟอร์ม มันเป็นความรับผิดชอบของ Packager ที่จะทำให้มันเข้ากันได้
อุปสรรคที่ใหญ่ที่สุดในโครงการ Bottles คือผู้ร่วมมือบางรายที่สนับสนุน Flatpak เป็นรูปแบบบรรจุภัณฑ์เพียงรูปแบบเดียว โดยให้ NO แก่ทุกคำขอหรือข้อเสนอเพื่อใช้รูปแบบบรรจุภัณฑ์ทางเลือก การได้พบกับคนที่หยิ่งยโสเหล่านี้กลายเป็นแรงจูงใจให้ทำสิ่งที่ตรงกันข้ามกับสิ่งที่พวกเขาพูดต่อไป
ฉันขอขอบคุณผู้พัฒนา Bottles @mirkobrombin ที่ช่วยฉันสร้าง AppImage หลังจากพยายามมาหลายครั้งโดยบอกเคล็ดลับและลูกเล่นให้ฉันฟัง กราซี่ เมอร์โก!
ฉันได้ลองมาหลายครั้งแล้วเพื่อให้ผู้ใช้ที่ไม่ใช่ Flatpak ใช้ Bottles ด้วยวิธีอื่นได้ และไม่ยุ่งยากเลย
ในเวลานี้ วิธีเดียวที่ได้ผลอย่างแน่นอนคือผ่าน Conty
ปัจจุบัน AppImage ที่ฉันสร้างมีโครงสร้างดังต่อไปนี้:
|---- AppRun |---- com.usebottles.bottles.desktop |---- com.usebottles.bottles.svg |---- conty.sh
AppRun เป็นสคริปต์หลักของ AppImage
ไฟล์ .desktop ของ Bottles
ไอคอนของขวด
คอนเทนเนอร์ Arch Linux ชื่อ "conty.sh" ประกอบด้วยไดรเวอร์ Bottles, WINE และกราฟิก
จุดที่ 1, 2 และ 3 เป็นองค์ประกอบสำคัญของ AppImage
สคริปต์ "conty.sh" (4) เป็นสคริปต์ที่สำคัญในบรรดาองค์ประกอบของ AppImage นี้
นี่คือสิ่งที่แต่ละไฟล์ในเวิร์กโฟลว์ของฉันกล่าวถึง:
create-arch-bootstrap.sh สร้าง Arch Linux chroot โดยที่ติดตั้ง Bottles จาก AUR นี่เป็นสคริปต์แรกที่จะใช้ (จำเป็นต้องมี "root");
create-conty.sh เป็นสคริปต์ตัวที่สองที่ใช้ในกระบวนการนี้ โดยจะแปลง Arch Linux chroot ที่สร้างโดย "create-arch-bootstrap.sh" เป็นสคริปต์ขนาดใหญ่ชื่อ "conty.sh" ซึ่งรวมถึง "conty-start.sh" ";
conty-start.sh เป็นสคริปต์ที่รับผิดชอบกระบวนการเริ่มต้นการเริ่มต้นระบบเพื่อให้ Conty ทำงาน ประกอบด้วยฟังก์ชันที่ตรวจจับเวอร์ชันของไดรเวอร์ Nvidia ที่จำเป็น หากจำเป็น สคริปต์จะดาวน์โหลดและติดตั้งใน ~/.local/share/Conty นอกจากนี้ ยังรับผิดชอบในการบูรณาการ Conty เข้ากับระบบโฮสต์โดยสมบูรณ์ โดยใช้ "bubblewrap;
utils_dwarfs.tar.gz มี "dwarfs" ซึ่งเป็นชุดเครื่องมือที่คล้ายกับ squashfs เพื่อบีบอัดระบบไฟล์ และจำเป็นต้องบีบอัด "conty.sh" ให้มากที่สุด
Bottles-conty-builder.sh เป็นสคริปต์ที่ฉันเขียนเพื่อแยก "conty.sh" ใกล้กับ AppRun, ไฟล์ .desktop และไอคอนสำหรับแปลงทุกอย่างให้เป็น AppImage มีไว้สำหรับใช้ในการดำเนินการ github แต่สามารถดำเนินการในเครื่องเพื่อสร้าง AppImage โดยใช้รุ่นทดสอบ "conty.sh" จากทางแยก Conty ของฉัน
ไฟล์ 1, 2, 3 และ 4 มาจากทางแยกของฉัน https://github.com/Kron4ek/Conty
ไฟล์ 1, 2 และ 3 เป็นม็อดของไฟล์ต้นฉบับเพื่อทำให้ไฟล์มีขนาดเล็กลง และมีเพียงส่วนที่จำเป็นในการทำให้ Bottles ใช้งานได้เท่านั้น
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ "Conty" หากต้องการดาวน์โหลดบิลด์ที่สมบูรณ์เพิ่มเติม หรือเรียนรู้เพิ่มเติมเกี่ยวกับวิธีสร้างบิลด์ของคุณเอง โปรดไปที่พื้นที่เก็บข้อมูลอย่างเป็นทางการของโปรเจ็กต์:
Conty เป็นคอนเทนเนอร์ Arch Linux แบบพกพาที่มีทรัพยากรของตัวเอง
มันเป็นทางออกเดียวที่จะติดตั้งสำเนาไดรเวอร์ Nvidia ของตัวเอง หากไม่มีอยู่ในคอนเทนเนอร์นั้นเอง (ดูภาพด้านล่าง)
ไดรเวอร์ได้รับการติดตั้งในไดเร็กทอรี ~/.local/share/Conty และสามารถใช้พื้นที่ได้ถึง 700 MB
เมื่อพิจารณาว่า Bottles ในการเริ่มต้นครั้งแรก ดาวน์โหลดไลบรารีที่จำเป็นและสร้างโปรไฟล์สำหรับ WINE มีพื้นที่ถึงประมาณ 1.4 GB ใน ~/.local/share/bottles ฉันจะบอกว่าขนาดนั้นมากกว่าที่ยอมรับได้
มันเหมือนกับการติดตั้งรันไทม์ Flatpak เล็กน้อย แต่มีเพียงหนึ่งเดียวเท่านั้น ไฟล์ที่เหลือจะถูกเก็บไว้ใน Conty เอง
การรวม Conty ลงใน AppImage ช่วยให้สามารถแยกได้ (ผ่านแซนด์บ็อกซ์แบบบับเบิ้ลแรป) โดยใช้ตัวจัดการแพ็คเกจ "AM" ของฉัน
AppImage นี้เป็นรุ่นใหม่ (Type3 AppImage) ดังนั้นคุณไม่จำเป็นต้องติดตั้ง libfuse2
บนระบบของคุณเพื่อใช้งาน
คุณสามารถดาวน์โหลด AppImage ได้จากhttps://github.com/ivan-hc/Bottles-appimage/releases/tag/continuous
การมีทรัพยากรที่มีอยู่น้อยเป็นสิ่งที่ผลักดันให้ฉันดำเนินการโดยการลองผิดลองถูก ไม่ว่าจะมีประสิทธิภาพไม่มากก็น้อยภายในขอบเขตความเป็นไปได้ของฉัน
การใช้ Conty เป็นเพียงซีรีส์ยาวล่าสุดเท่านั้น
สคริปต์การสร้างเก่ามีอยู่ในไดเร็กทอรีของที่เก็บนี้:
"legacy" มีสคริปต์ทดลองเพื่อสร้าง AppImage บน JuNest แต่ขาดการเร่งด้วยฮาร์ดแวร์ โปรดดู ivan-hc/ArchImage#20
"ไฮบริด" เป็นสิ่งที่ใช้งานได้ด้วยการผสมผสานระหว่างสองโปรเจ็กต์ของฉัน AppImaGen และ ArchImage ซึ่งเป็นการผสมผสานระหว่างแพ็คเกจ Arch Linux และ Debian มันใช้งานได้กับ distros รุ่นใหม่เท่านั้นและจนกว่าจะมีการเปลี่ยนแปลงใหม่ในแพ็คเกจ Arch Linux (python) ที่สำคัญซึ่งไม่ดีที่จะรักษาวิธีนี้ไว้ ยังคงสามารถดาวน์โหลดลูกรุ่นเดียวที่มีของวิธีนี้ได้ที่https://github.com/ivan-hc/Bottles-appimage/releases/tag/51.11-2
เมื่อพิจารณาถึงประวัติที่ "มีปัญหา" ของที่เก็บนี้ ฉันไม่รู้ว่า Conty จะเป็นทางออกที่ดีที่สุดสำหรับเวิร์กโฟลว์ของฉันหรือไม่ ทุกอย่างขึ้นอยู่กับแพ็คเกจที่นักพัฒนาอัพสตรีมหรือบุคคลที่สามมอบให้ฉัน
ในการเริ่มต้นครั้งแรก หากจำเป็น ไดรเวอร์สำหรับการ์ดแสดงผลของคุณจะถูกดาวน์โหลดผ่าน Conty (ดูภาพหน้าจอด้านบน) การดำเนินการนี้อาจใช้เวลาหลายวินาทีหรือหลายนาที ลักษณะการทำงานนี้จะสังเกตได้ก็ต่อเมื่อคุณเริ่มใช้งานครั้งแรก คุณเปิด Bottles จากเทอร์มินัลแทนที่จะใช้ Launcher
bottles-cli
สร้างลิงก์สัญลักษณ์ " bottles-cli
" สำหรับ Appimage นี้และเพิ่มลงใน $PATH ดังนั้นเมื่อคุณเพิ่มโปรแกรมลงบนเดสก์ท็อป คุณจะสามารถเปิดโปรแกรมได้จากเมนูที่มีไอคอนที่เกี่ยวข้อง คุณลักษณะนี้มีอยู่แล้วหากคุณติดตั้ง "ขวด" โดยใช้ "AM" และ "AppMan"
@mirkobrombin สำหรับความอดทนและความพร้อมใช้งานทั้งหมดที่แสดงให้ฉันเห็น
คอนตี้ https://github.com/Kron4ek/Conty
"AM"/"AppMan" คือชุดของสคริปต์และโมดูลสำหรับการติดตั้ง อัปเดต และจัดการแพ็คเกจ AppImage และรูปแบบพกพาอื่นๆ ในลักษณะเดียวกับที่ APT จัดการแพ็คเกจ DEB, DNF RPM และอื่นๆ... โดยใช้ ฐานข้อมูลขนาดใหญ่ของสคริปต์เชลล์ที่ได้รับแรงบันดาลใจจาก Arch User Repository ซึ่งแต่ละฐานข้อมูลมีไว้สำหรับแอปหรือชุดแอปพลิเคชันโดยเฉพาะ
กลไกของ "AM"/"AppMan" คือสคริปต์ "APP-MANAGER" ซึ่งช่วยให้คุณสามารถติดตั้งแอปทั่วทั้งระบบ (สำหรับผู้ดูแลระบบคนเดียว) หรือในเครื่อง (สำหรับผู้ใช้แต่ละคน ขึ้นอยู่กับวิธีการติดตั้งหรือเปลี่ยนชื่อ) ).
"AM"/"AppMan" มุ่งหวังที่จะเป็นตัวจัดการแพ็คเกจเริ่มต้นสำหรับแพ็คเกจ AppImage ทั้งหมด ทำให้พวกเขารู้สึกเหมือนอยู่บ้าน
คุณสามารถดู รายการแอปที่มีการจัดการ ทั้งหมดได้ที่ portable-linux-apps.github.io/apps
ติดตั้ง "เอเอ็ม" | ดูแอพที่มีอยู่ทั้งหมด | สนับสนุนฉันบน ko-fi.com | สนับสนุนฉันที่ PayPal.me |
---|