Gorgeous-GRUB - Bộ sưu tập chủ đề giúp GRUB bootloader trông phong cách hơn
(github.com/Jacksaur)- Gorgeous-GRUB là một bộ sưu tập tập hợp những chủ đề GRUB do cộng đồng tạo ra đáng chú ý vốn đang nằm rải rác trên nhiều trang web
- Pling được giới thiệu là nơi hiện lưu trữ nhiều chủ đề GRUB nhất, nhưng vấn đề là nhiều chủ đề là sản phẩm đầu tư ít công sức, nên khó tìm được chủ đề tốt
- README cung cấp nhiều liên kết chủ đề và ảnh xem trước như Minegrub, SteamOS, Persona 5 Royal, Catppuccin, Cyberpunk 2077, Dark Matter, Elegant dưới dạng bảng
- Tài liệu cài đặt, tài liệu đóng góp, GRUB-Tweaks, GRUB2 Theme Preview, Background Cycler, Theme Installer do cộng đồng tạo cũng như các công cụ và hướng dẫn hỗ trợ cũng được giới thiệu kèm theo
- Trong môi trường Secure Boot, phông chữ tùy chỉnh có thể không được áp dụng hoặc không hiển thị, và một bài viết trên diễn đàn Arch Linux về cách ký tệp phông chữ được liên kết làm tài liệu tham khảo
Mục đích của dự án
- Gorgeous-GRUB là kho lưu trữ tập hợp các chủ đề do cộng đồng tạo ra để trang trí màn hình bootloader GRUB xuất hiện trước khi khởi động
- Các chủ đề GRUB đang phân tán trên nhiều trang web, và việc tìm chủ đề tốt khá khó khăn, nên dự án được tổ chức để có thể xem chúng trên một trang duy nhất
- Pling được giới thiệu là nơi hiện lưu trữ nhiều chủ đề GRUB nhất, nhưng vì nhiều chủ đề đơn điệu hoặc là sản phẩm đầu tư ít công sức nên việc khám phá có thể khá phiền phức
- Kho lưu trữ này được tạo ra để dần dần làm nổi bật những chủ đề hay được tìm thấy trên Internet theo thời gian
Công cụ hữu ích và liên kết tham khảo
- GitZip: có thể tải xuống từng thư mục và tệp riêng lẻ mà không cần tải toàn bộ kho GitHub
- Dù có yêu cầu token, công cụ này được giới thiệu là vẫn hoạt động tốt ngay cả khi không có token
- GRUB-Tweaks: cung cấp nhiều tinh chỉnh và hướng dẫn cấu hình bổ sung để tùy biến sâu hơn hoặc khôi phục cài đặt GRUB
- Theme Tutorial / Theme References: thông tin liên quan đến việc tạo chủ đề GRUB2, được giới thiệu là tài liệu tốt nhất đã tìm thấy cho đến nay dù khá phức tạp
- Có thể sẽ dễ hơn nếu lấy một chủ đề có sẵn rồi tự chỉnh sửa, thay vì tạo từ đầu
- GRUB2 Theme Preview: phần mềm cho phép xem trước chủ đề GRUB mà không cần khởi động lại toàn bộ hệ thống
- Vì chạy cả một VM hoàn chỉnh nên có khá nhiều phụ thuộc
- Lệnh đơn giản để cài các phụ thuộc cần thiết có trong kho GRUB-Tweaks
- Background Cycler: script thay đổi nền của chủ đề mỗi khi hệ thống khởi động lại
- Theme Installer (Community Made): script do FLEXIY0 tạo ra, có thể tự động tải xuống và cài đặt nhiều chủ đề
- Có thể phát sinh lỗi trong một số trường hợp biên
Cài đặt và đóng góp
- Installing a theme: liên kết đến tài liệu cài đặt chủ đề
- How to contribute: liên kết đến cách đóng góp cho bộ sưu tập chủ đề
Cách duyệt chủ đề
- Danh sách chủ đề được tổ chức dưới dạng bảng có ảnh xem trước và liên kết
- Nếu thấy chủ đề mình thích, dự án khuyến khích bạn để lại đánh giá trên Pling hoặc gắn sao cho kho GitHub
- Trên Pling, rất ít người để lại đánh giá, và điều này được giới thiệu là một trong những lý do khiến việc tìm chủ đề tốt trở nên khó khăn
- Điều đó cũng giúp tác giả biết rằng mọi người đang yêu thích những gì họ tạo ra
Ví dụ về các chủ đề có trong bộ sưu tập
- Chủ đề dựa trên game/tác phẩm:
- Chủ đề theo phong cách distro, desktop và hệ thống:
- Chủ đề theo phong cách cyberpunk, retro và terminal:
- Bộ chủ đề lớn hoặc thiên về tùy biến:
Lưu ý về Secure Boot
- Trên các hệ thống đã bật Secure Boot, phông chữ tùy chỉnh có thể không được áp dụng hoặc thậm chí không hiển thị
- Bài viết trên diễn đàn Arch Linux trình bày cách ký tệp phông chữ để chúng hiển thị trở lại
1 bình luận
Ý kiến trên Hacker News
Tôi rất thích tùy biến, nhưng cá nhân tôi thì càng ít phải nhìn thấy hoặc nghĩ đến GRUB càng tốt
"Grand Theft Gentoo": https://raw.githubusercontent.com/Jacksaur/Gorgeous-GRUB/ref...
Thứ tôi thật sự muốn là mô phỏng màn hình khởi động SGI ngày xưa. Bao gồm cả âm thanh khởi động và một bản phân phối siêu nhỏ để cấu hình hệ điều hành
Ngày nay đã có filesystem snapshot, nên có vẻ việc đó không quá khó. Trong đời tôi đã vài lần phải chroot để sửa hệ thống, và thật khó tin là việc tự động hóa chuyện này lại khó đến vậy
NixOS có thể boot vào thế hệ trước, nhưng đó là cách lật ngược toàn bộ filesystem; OpenSUSE hỗ trợ snapshot nhưng dựa trên BTRFS nên các distro khác khó dùng cùng cách triển khai; ZFS thì tuyệt vời nhưng trên Linux giấy phép luôn gây va chạm. Ubuntu đã làm quá trình boot rất mượt bằng Plymouth, nhưng lại rất kiểu Ubuntu
Dù sao, nếu bạn ở môi trường có thể dùng ZFS trên Linux thì tôi muốn khuyên dùng zfsbootmenu
Tất nhiên bạn vẫn có thể tự bắn vào chân mình bằng cách làm hỏng cấu hình SSH khiến không thể truy cập từ xa. Cũng có giải pháp deploy-rs cho việc này, với tính năng magic rollback sẽ hoàn nguyên hệ thống nếu không kết nối lại được từ máy đã khởi chạy deploy https://github.com/serokell/deploy-rs?tab=readme-ov-file#mag...
Tôi đã dùng các tính năng này vài năm rồi và có thể tự tin giới thiệu
Không hoàn toàn liên quan đến câu hỏi ban đầu, nhưng tôi đang chạy build hệ thống trong CI và cũng làm các bài test Playwright ngày càng bao quát hơn. Nhờ vậy tôi khá tự tin rằng có thể phát hiện vấn đề sớm hoặc rollback
arch-chrootđể khôi phục hệ điều hành chính. Các distro khác chắc cũng có cách tương tựÂm khởi động của máy SGI khác nhau tùy mẫu. Ý là Indy và Onyx khác nhau. Chiếc PC đầu tiên của tôi, 80286, cũng có âm thanh mang tính biểu tượng khi bật lên, và tôi không thể quên được
Bản phân phối siêu nhỏ tương ứng với hệ điều hành khôi phục. Cả 3 hệ điều hành desktop lớn đều có tính năng như vậy, hoặc có tổ hợp phím để bật nó. Theo tôi biết Android có hai phân vùng khôi phục, trong đó tính dự phòng là điểm cốt lõi
Nếu bạn thích sức mạnh của snapshot, các filesystem copy-on-write (CoW) như ZFS có thể hiển thị danh sách trong lúc boot. Các hệ điều hành như NixOS thậm chí không cần loại filesystem đó. Ngay cả trên Ext4FS, menu boot có snapshot, chức năng rollback, v.v. vẫn hoạt động tốt
Ví dụ: https://github.com/kexecboot/kexecboot
Những thứ như thế này khiến tôi yêu Linux. Ở đây có rất nhiều sự sáng tạo đáng kinh ngạc. Nó khiến tôi muốn dual boot với thứ gì đó chỉ để có cớ nhìn GRUB
Dù rất đẹp, nhưng nói thật tôi muốn GRUB chỉ hiện ra khi tôi giữ phím trong lúc boot. Việc chờ 5 giây cho nó biến mất rồi mới boot vào hệ điều hành mặc định thật sự là không cần thiết
GRUB_TIMEOUT_STYLE=hiddenvàGRUB_TIMEOUT=0. Khi đó menu GRUB chỉ hiện nếu giữShift, còn không thì boot ngay vào mục mặc địnhTất cả những ai phàn nàn về GRUB đều đã quên lilo
Hồi đó tôi có một theme tự làm rất ngầu theo Ghost in the Shell, và vẫn nhớ việc chuyển mấy ảnh jpeg tìm được trên mạng sang một định dạng ảnh cực kỳ khó hiểu. Tôi đã dành thật sự rất nhiều thời gian để tùy biến môi trường Linux. Máy tính lúc ấy giống như một con thú cưng được chăm chút kỹ lưỡng, có desktop hình khối lập phương chứa cá và những thứ như hiệu ứng phản chiếu
Những ảnh nền đó được co giãn thế nào trên các màn hình và độ phân giải khác nhau?
Nhân tiện, GRUB biết phải vẽ giao diện ở độ phân giải nào bằng cách nào?
Cuối cùng thì tôi cũng có thể làm máy tính của mình trông như máy tính trong phim Hackers. Tuyệt
Dạo này vừa làm việc vừa nghe soundtrack, nên chắc tôi sắp xem lại phim đó
GRUB giống như một cục mắc kẹt trong bồn cầu không xả trôi được. Từ vài năm trước nó đã hoàn toàn không cần thiết, quá phức tạp, gần như không dùng nổi với cái shell mang lối diễn đạt kiểu năm 1995, trong khi có những lựa chọn thay thế nhẹ hơn và hữu dụng hơn nhiều như extlinux
Ngày nay còn có thể boot kernel trực tiếp bằng EFI stub, vậy mà nó vẫn cứ được cài vào và cố biện minh cho sự tồn tại của mình
Tệ hơn nữa là trong dual boot, nếu mỗi hệ điều hành cài GRUB riêng của nó, có thể xảy ra tình huống kỳ quặc là GRUB chainload sang một GRUB khác rồi mới boot hệ điều hành
Tôi chỉ nghĩ cứ nhấn một phím như F12 để xem menu tất cả tùy chọn boot do UEFI cung cấp là được không phải sao. Trước khi các trình cài đặt nhảy vào phá hỏng, mọi thứ nằm trong đó khá gọn gàng. Windows thì dường như lúc nào cũng chen vào, làm hỏng cái có sẵn và đẩy chính nó lên đầu
Dù bo mạch chủ có cổng serial, họ cũng không cung cấp chuyển hướng console UEFI, và cũng không đưa ra cho người dùng các thiết lập Secure Boot hay quản lý tùy chọn boot. Vì thế các bootloader dựa trên EFI thuần như systemd-boot hay rEFInd có vẻ vẫn là lựa chọn ít phiền nhất
Cứ thử so với việc boot trên ARM mà xem
Hoặc tôi cũng có một PC chỉ chạy Void Linux. Chế độ UEFI không hoạt động nên đang boot ở chế độ tương thích, nhưng không rõ vì sao. Không biết là vấn đề Secure Boot, MBR so với GPT, hay vì cũng không có phân vùng EFI. Ở đây thì cái gì có thể thay thế GRUB?
Bootloader chỉ cần đủ thông minh để đọc filesystem bên dưới và tìm kernel là được. rEFInd làm như vậy. Cắm USB boot được vào, hoặc cài Windows trên SSD thứ hai, là nó tự xuất hiện trong menu dù không yêu cầu rõ ràng
Có thể vẫn cần ràng buộc kiểu “/boot phải là một trong n loại filesystem được hỗ trợ tốt”, nhưng một cách làm phù hợp với đa số là đủ rồi. Chỉ những người chạy kiểu gộp 128 ổ USB floppy trên RAID6 trên ZFS mới cần phụ thuộc vào thứ như GRUB
Tôi vẫn đang chờ một bootloader hiện ngay trên màn hình ngoài từ đầu, như combo desktop và màn hình CRT 20 năm trước
systemd-boot đi kèm Pop!_OS không làm vậy, nên mỗi khi muốn đổi tùy chọn boot tôi phải lấy laptop ThinkPad X1 Extreme ra khỏi giá đỡ rồi mở nắp. Tôi tò mò trải nghiệm của người khác với GRUB ở điểm này ra sao
Trên bộ ThinkPad + dock của tôi thì hoạt động tốt
Tuy nhiên trên một số PC, nếu đặt như vậy thì màn hình tích hợp của laptop có thể không hiện gì trong lúc boot, và đôi khi ngay cả khi dùng laptop độc lập cũng vậy. Nếu Initial Graphics Device được đặt là "Auto" thay vì một thiết bị cụ thể thì có thể ổn, nhưng cũng có thể chẳng khác hiện tại
Màn hình ngoài cũng có thể có nhiều ngõ vào như VGA, DVI, HDMI; nếu nó được đặt quét "Auto" để tìm ngõ vào đang hoạt động thì đôi khi thời gian phát hiện còn lâu hơn thời gian boot. Nếu vậy, trong tùy chọn input của màn hình, đặt ngõ vào ưa thích làm duy nhất hoặc mặc định có thể giúp bạn thấy được gì đó trong khoảng thời gian hiện đang chỉ là màn hình trống
Màn hình 4K nối qua DisplayPort thì không có vấn đề, nhưng màn VGA/DVI cũ tôi dùng để cứu hộ homelab thì không kịp bật đủ nhanh