Gorgeous-GRUB - ชุดธีมสำหรับตกแต่ง GRUB bootloader ให้ดูมีสไตล์
(github.com/Jacksaur)- Gorgeous-GRUB เป็นคอลเลกชันที่รวบรวม ธีม GRUB ที่ชุมชนสร้างขึ้น ซึ่งน่าสนใจจากหลายเว็บไซต์ที่กระจัดกระจายอยู่ มาไว้ในที่เดียว
- Pling ถูกแนะนำว่าเป็นแหล่งที่โฮสต์ธีม GRUB มากที่สุดในปัจจุบัน แต่มีปัญหาว่าธีมจำนวนมากเป็น ผลงานที่ใช้ความพยายามต่ำ ทำให้หาธีมดีๆ ได้ยาก
- README แสดง ลิงก์ธีมและภาพพรีวิว หลากหลาย เช่น Minegrub, SteamOS, Persona 5 Royal, Catppuccin, Cyberpunk 2077, Dark Matter, Elegant ในรูปแบบตาราง
- ยังแนะนำ เครื่องมือและคู่มือเสริม เช่น เอกสารการติดตั้ง, เอกสารการมีส่วนร่วม, GRUB-Tweaks, GRUB2 Theme Preview, Background Cycler และ Theme Installer ที่ชุมชนสร้างขึ้น
- ในสภาพแวดล้อม Secure Boot ฟอนต์แบบกำหนดเองอาจไม่ถูกนำไปใช้หรือไม่แสดงผล และมีลิงก์ไปยัง โพสต์ในฟอรัม Arch Linux ที่อธิบายวิธีเซ็นไฟล์ฟอนต์เป็นข้อมูลอ้างอิง
วัตถุประสงค์ของโปรเจกต์
- Gorgeous-GRUB เป็น repository ที่รวบรวมธีมที่ชุมชนสร้างขึ้นสำหรับตกแต่งหน้าจอ GRUB bootloader ที่ปรากฏก่อนบูต
- ธีม GRUB กระจัดกระจายอยู่ในหลายเว็บไซต์ และการหาธีมดีๆ ทำได้ยาก จึงจัดทำให้สามารถดูได้จากหน้าเดียว
- Pling ถูกแนะนำว่าเป็นแหล่งที่โฮสต์ธีม GRUB มากที่สุดในปัจจุบัน แต่ธีมจำนวนมากอาจเรียบง่ายหรือเป็นผลงานที่ใช้ความพยายามต่ำ ทำให้การค้นหาค่อนข้างยุ่งยาก
- repository นี้ถูกสร้างขึ้นเพื่อชี้ให้เห็นธีมดีๆ ที่พบได้บนอินเทอร์เน็ตเมื่อเวลาผ่านไป
เครื่องมือที่มีประโยชน์และลิงก์อ้างอิง
- GitZip: สามารถดาวน์โหลด โฟลเดอร์และไฟล์แต่ละรายการ ได้โดยไม่ต้องดาวน์โหลด GitHub repository ทั้งหมด
- มีการขอโทเคน แต่แนะนำว่าสามารถใช้งานได้ดีแม้ไม่มีโทเคน
- GRUB-Tweaks: มี คู่มือการปรับแต่งและการตั้งค่าเพิ่มเติม หลายอย่างสำหรับปรับแต่งหรือกู้คืนการติดตั้ง GRUB
- Theme Tutorial / Theme References: ข้อมูลเกี่ยวกับการสร้างธีม GRUB2 ซึ่งซับซ้อน แต่ถูกแนะนำว่าเป็นแหล่งข้อมูลที่ดีที่สุดเท่าที่พบจนถึงตอนนี้
- การนำธีมเดิมมาปรับแก้เองอาจง่ายกว่าการสร้างใหม่ตั้งแต่ต้น
- GRUB2 Theme Preview: ซอฟต์แวร์ที่สามารถ พรีวิวธีม GRUB ได้โดยไม่ต้องรีบูตทั้งระบบ
- เนื่องจากเรียกใช้ VM ทั้งเครื่อง จึงมี dependency จำนวนมาก
- คำสั่งง่ายๆ สำหรับติดตั้ง dependency ที่จำเป็นอยู่ใน repository GRUB-Tweaks
- Background Cycler: สคริปต์ที่เปลี่ยนพื้นหลังของธีมทุกครั้งที่รีบูตระบบ
- Theme Installer (Community Made): สคริปต์ที่ FLEXIY0 สร้างขึ้น ซึ่งสามารถดาวน์โหลดและติดตั้งธีมจำนวนมากได้โดยอัตโนมัติ
- อาจเกิดข้อผิดพลาดได้ใน edge case บางกรณี
การติดตั้งและการมีส่วนร่วม
- Installing a theme: ลิงก์ไปยังเอกสารการติดตั้งธีม
- How to contribute: ลิงก์ไปยังวิธีมีส่วนร่วมกับคอลเลกชันธีม
วิธีสำรวจธีม
- รายการธีมจัดทำในรูปแบบตารางที่มี ภาพพรีวิวและลิงก์
- หากพบธีมที่ชอบ แนะนำให้ให้คะแนนบน Pling หรือกดดาวให้ GitHub repository
- บน Pling มีคนให้คะแนนไม่มากนัก และสิ่งนี้ถูกยกเป็นหนึ่งในเหตุผลที่ทำให้หาธีมดีๆ ได้ยาก
- ผู้สร้างจะได้เห็นว่าผู้คนกำลังเพลิดเพลินกับผลงานที่พวกเขาสร้างขึ้น
ตัวอย่างธีมที่รวมอยู่
- ธีมที่อิงจากเกมและผลงานต่างๆ:
- ธีมสไตล์ distribution, desktop และระบบ:
- ธีมสาย cyberpunk, retro และ terminal:
- ธีมชุดใหญ่หรือธีมที่มุ่งเน้นการปรับแต่ง:
ข้อควรระวังเกี่ยวกับ Secure Boot
- ในระบบที่เปิดใช้ Secure Boot ฟอนต์แบบกำหนดเองอาจไม่ถูกนำไปใช้ หรืออาจไม่แสดงผลเลย
- โพสต์ในฟอรัม Arch Linux อธิบายวิธีเซ็นไฟล์ฟอนต์เพื่อให้กลับมาแสดงผลได้
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ผมชอบการปรับแต่งมาก แต่โดยส่วนตัวแล้ว ยิ่งไม่ต้องเห็นหรือคิดถึง GRUB เลยก็ยิ่งดี
"Grand Theft Gentoo": https://raw.githubusercontent.com/Jacksaur/Gorgeous-GRUB/ref...
สิ่งที่อยากได้จริง ๆ คือการเลียนแบบ หน้าจอเริ่มต้นของ SGI แบบเก่า รวมถึงเสียงบูตและไมโครดิสโทรสำหรับตั้งค่าระบบปฏิบัติการด้วย
สมัยนี้มี filesystem แบบ snapshot แล้ว น่าจะไม่ยากขนาดนั้น ชีวิตนี้เคยต้อง chroot เพื่อซ่อมระบบอยู่ไม่กี่ครั้ง แต่ไม่น่าเชื่อว่าการทำให้มันเป็นอัตโนมัติจะยากขนาดนี้
NixOS บูตกลับไปยัง generation ก่อนหน้าได้ แต่เป็นแนวทางที่พลิกทั้ง filesystem ส่วน OpenSUSE รองรับ snapshot แต่ใช้ BTRFS เป็นฐาน ทำให้ดิสโทรอื่นใช้ implementation เดียวกันได้ยาก และ ZFS ก็ยอดเยี่ยม แต่บน Linux เรื่องไลเซนส์มักก่อแรงเสียดทานเสมอ Ubuntu ทำให้การบูตลื่นไหลมากด้วย Plymouth แต่ก็มีความเป็น Ubuntu มาก
อย่างไรก็ดี ถ้าอยู่ในสภาพแวดล้อมที่ใช้ ZFS บน Linux ได้ ก็อยากแนะนำ zfsbootmenu
แน่นอนว่ายังยิงเท้าตัวเองได้ด้วยการทำให้การเข้าถึงระยะไกลใช้ไม่ได้ เช่น ทำค่า SSH พัง สำหรับเรื่องนี้ก็มีทางออกชื่อ deploy-rs พร้อมฟีเจอร์ magic rollback ที่จะย้อนระบบกลับหากเชื่อมต่อกลับจากคอมพิวเตอร์ที่เริ่มการ deploy ไม่ได้ https://github.com/serokell/deploy-rs?tab=readme-ov-file#mag...
ผมใช้ฟีเจอร์เหล่านี้มาหลายปีแล้ว และแนะนำได้อย่างมั่นใจ
แม้จะไม่เกี่ยวกับคำถามเดิมตรง ๆ แต่ตอนนี้ให้ CI รันการ build ระบบ และทำให้การทดสอบด้วย Playwright ครอบคลุมมากขึ้นเรื่อย ๆ ทำให้ค่อนข้างมั่นใจว่าจะพบปัญหาได้เร็ว หรือย้อนกลับได้
arch-chrootกู้ระบบปฏิบัติการหลักได้ ดิสโทรอื่นก็น่าจะมีวิธีคล้ายกันเสียงเริ่มต้นของเครื่อง SGI ต่างกันไปตามรุ่น หมายถึง Indy กับ Onyx มีเสียงไม่เหมือนกัน พีซีเครื่องแรกของผมที่เป็น 80286 ก็มีเสียงตอนเปิดเครื่องที่เป็นเอกลักษณ์ และผมลืมไม่ลง
ไมโครดิสโทรก็คือระบบปฏิบัติการกู้คืน ระบบปฏิบัติการเดสก์ท็อปหลักทั้ง 3 ตัวล้วนมีฟีเจอร์แบบนั้น หรือมีคีย์ลัดสำหรับเปิดใช้ เท่าที่รู้ Android มีพาร์ทิชันกู้คืนสองชุด ซึ่งหัวใจคือความซ้ำซ้อนเพื่อความทนทาน
ถ้าชอบพลังของ snapshot, filesystem แบบ copy-on-write (CoW) อย่าง ZFS สามารถแสดงรายการระหว่างบูตได้ ระบบปฏิบัติการอย่าง NixOS ไม่ต้องใช้ filesystem แบบนั้นด้วยซ้ำ บน Ext4FS เมนูบูตที่มี snapshot, ฟีเจอร์ rollback และอื่น ๆ ก็ทำงานได้ดี
ตัวอย่าง: https://github.com/kexecboot/kexecboot
เรื่องแบบนี้ทำให้ผมรัก Linux ที่นี่มีความคิดสร้างสรรค์น่าทึ่งมาก ถึงขั้นทำให้อยาก dual boot กับอะไรสักอย่าง เพื่อจะได้มีข้ออ้างให้เห็น GRUB
เท่ก็จริง แต่พูดตรง ๆ ผมอยากให้ GRUB โผล่มาเฉพาะตอนกดปุ่มค้างระหว่างบูตเท่านั้น การรอ 5 วินาทีให้มันหายไปแล้วค่อยบูตเข้าระบบปฏิบัติการเริ่มต้นนี่ไม่จำเป็นเลยจริง ๆ
GRUB_TIMEOUT_STYLE=hiddenกับGRUB_TIMEOUT=0ได้ แบบนั้นเมนู GRUB จะปรากฏเฉพาะตอนกดShiftค้างไว้ ไม่อย่างนั้นก็จะบูตเข้ารายการเริ่มต้นทันทีทุกคนที่บ่นเรื่อง GRUB ลืม lilo กันไปหมดแล้ว
ตอนนั้นมีธีมเจ๋ง ๆ ที่ทำเองจาก Ghost in the Shell และยังจำได้ว่าเคยแปลง jpeg ที่หาเจอออนไลน์ให้เป็นฟอร์แมตรูปภาพที่เข้าใจยากมาก ๆ ใช้เวลาไปเยอะจริง ๆ กับการแต่งสภาพแวดล้อม Linux คอมพิวเตอร์เหมือนสัตว์เลี้ยงที่ขัดเกลามาอย่างดีจริง ๆ มีทั้งเดสก์ท็อปทรงลูกบาศก์ที่มีปลาอยู่ข้างใน กับเอฟเฟกต์สะท้อนแสงอะไรพวกนั้น
ภาพพื้นหลังพวกนั้นปรับขนาดอย่างไรบนมอนิเตอร์และความละเอียดที่ต่างกัน?
ว่าแต่ GRUB รู้ได้อย่างไรว่าควรวาดอินเทอร์เฟซด้วยความละเอียดเท่าไร?
ในที่สุดก็น่าจะทำให้คอมพิวเตอร์ของฉันดูเหมือนคอมพิวเตอร์ในหนัง Hackers ได้แล้ว เท่ดี
ช่วงนี้ฟังซาวด์แทร็กตอนทำงานอยู่ด้วย อาจจะได้กลับไปดูซ้ำเร็ว ๆ นี้
GRUB เหมือนก้อนอะไรสักอย่างในชักโครกที่กดไม่ลง มันไม่จำเป็นเลยมาตั้งหลายปีแล้ว ซับซ้อนเกินไป เชลล์ที่ใช้สำนวนแบบปี 1995 ก็แทบใช้ไม่ได้ และยังมีทางเลือกที่เบากว่าและมีประโยชน์กว่าเยอะอย่าง extlinux
สมัยนี้ยังบูตเคอร์เนลโดยตรงด้วย EFI stub ได้แล้วด้วยซ้ำ แต่ก็ยังถูกติดตั้งต่อไปพร้อมพยายามหาเหตุผลรองรับการมีอยู่ของตัวเอง
ที่แย่กว่านั้นคือ ในระบบดูอัลบูต ถ้าแต่ละระบบปฏิบัติการติดตั้ง GRUB ของตัวเอง ก็อาจเกิดสถานการณ์แปลก ๆ ที่ GRUB chainload ไปยัง GRUB อีกตัว แล้วค่อยบูตระบบปฏิบัติการ
รู้สึกว่าแค่กดปุ่มอย่าง F12 แล้วดูเมนูตัวเลือกบูตทั้งหมดที่ UEFI ให้มาก็พอไม่ใช่หรือไง ก่อนที่ตัวติดตั้งจะเข้ามาทำพัง ทุกอย่างก็อยู่ตรงนั้นอย่างเป็นระเบียบอยู่แล้ว Windows ดูเหมือนจะชอบเข้ามาแทรก ทำของเดิมพัง แล้วดันตัวเองขึ้นไปอยู่บนสุดเสมอ
ต่อให้เมนบอร์ดมีพอร์ตอนุกรม ก็ไม่ให้ UEFI console redirection และไม่เปิดเผยการตั้งค่า secure boot หรือการจัดการตัวเลือกบูตให้ผู้ใช้เห็น ดังนั้นบูตโหลดเดอร์ที่อิงกับ EFI ล้วนอย่าง systemd-boot หรือ rEFInd จึงดูเป็นตัวเลือกที่น่ารำคาญน้อยที่สุดแล้ว
ลองเทียบกับการบูตบน ARM ดูก็ได้
หรือมีพีซีอีกเครื่องที่มีแค่ Void Linux โหมด UEFI ใช้งานไม่ได้เลยบูตด้วยโหมด compatibility อยู่ แต่ไม่รู้สาเหตุ เป็นปัญหา secure boot หรือโหมด MBR เทียบกับ GPT กันแน่ แล้วก็ไม่มีพาร์ทิชัน EFI ด้วย ที่นี่อะไรจะมาแทน GRUB ได้บ้าง?
บูตโหลดเดอร์ควรฉลาดพอที่จะอ่านไฟล์ซิสเต็มข้างล่างแล้วหาเคอร์เนลเองได้ rEFInd ทำแบบนั้น ถ้าเสียบ USB ที่บูตได้ หรือไปติดตั้ง Windows บน SSD ลูกที่สอง มันก็แสดงขึ้นมาในเมนูเองโดยไม่ต้องสั่งอย่างชัดเจน
อาจต้องมีข้อจำกัดประมาณว่า “/boot ต้องเป็นหนึ่งในไฟล์ซิสเต็ม n แบบที่รองรับดี” แต่ถ้าเป็นวิธีที่พอดีกับคนส่วนใหญ่ก็น่าจะพอแล้ว ส่วนคนที่รันอะไรอย่างการรวมไดรฟ์ USB floppy 128 ตัวบน RAID6 บน ZFS ค่อยพึ่งของอย่าง GRUB ก็ได้
ยังรอบูตโหลดเดอร์ที่แสดงบน มอนิเตอร์ภายนอก ได้ทันทีตั้งแต่แรก เหมือนเดสก์ท็อปกับจอ CRT เมื่อ 20 ปีก่อน
systemd-boot ที่มากับ Pop!_OS ไม่ทำแบบนั้น ดังนั้นถ้าจะเปลี่ยนตัวเลือกบูต ต้องเอาแล็ปท็อป ThinkPad X1 Extreme ออกจากแท่นแล้วเปิดฝา อยากรู้ประสบการณ์ของคนอื่นว่า GRUB เป็นอย่างไรในจุดนี้
ชุด ThinkPad+Dock ของผมทำงานได้ดี
แต่ในพีซีบางเครื่อง ถ้าตั้งแบบนั้น ระหว่างบูตจอของแล็ปท็อปเองอาจไม่แสดงอะไรเลย และบางครั้งแม้ใช้แล็ปท็อปเดี่ยว ๆ ก็อาจเป็นแบบนั้นด้วย ถ้า Initial Graphics Device ตั้งเป็น "Auto" แทนที่จะเป็นอุปกรณ์เฉพาะ ก็อาจใช้ได้ แต่ก็อาจไม่ต่างจากตอนนี้
มอนิเตอร์ภายนอกเองก็อาจมีหลายอินพุตอย่าง VGA, DVI, HDMI และถ้าตั้งให้สแกน "Auto" เพื่อหาอินพุตที่ใช้งานอยู่ บางครั้งเวลาตรวจจับอาจนานกว่าเวลาบูต ถ้าเป็นอย่างนั้น การตั้งอินพุตที่ต้องการให้เป็นอินพุตเดียวหรือค่าเริ่มต้นในตัวเลือกของมอนิเตอร์ อาจทำให้เห็นอะไรบางอย่างในช่วงที่ตอนนี้ดูเหมือนจอดำ
มอนิเตอร์ 4K ที่ต่อผ่าน DisplayPort ไม่มีปัญหา แต่จอ VGA/DVI เก่า ๆ ที่ใช้สำหรับกู้ระบบในโฮมแล็บ เปิดไม่เร็วพอ