paint-brush
Chạy SerenityOS, một bức thư tình gửi đến giao diện người dùng của thập niên 90từ tác giả@ChrisChinchilla
2,705 lượt đọc
2,705 lượt đọc

Chạy SerenityOS, một bức thư tình gửi đến giao diện người dùng của thập niên 90

từ tác giả Chris Chinchilla5m2022/10/20
Read on Terminal Reader
Read this story w/o Javascript

dài quá đọc không nổi

SerenityOS là một hệ điều hành lấy cảm hứng từ phong cách hoài cổ cho kỷ nguyên hiện đại. Bài đăng này cho biết cách tôi chạy nó trên máy Mac cũng như các thử nghiệm của tôi với dự án trình duyệt của dự án không sử dụng Chromium hoặc WebKit.
featured image - Chạy SerenityOS, một bức thư tình gửi đến giao diện người dùng của thập niên 90
Chris Chinchilla HackerNoon profile picture


Tôi đã luôn thích lộn xộn với hệ điều hành và môi trường máy tính để bàn. Tôi tin rằng hệ điều hành đồ họa đầu tiên của tôi là AmigaOS. Trong nhiều thập kỷ kể từ khi tôi làm việc qua các phiên bản Windows khác nhau, mọi phiên bản macOS kể từ 7.0, các hương vị và sự kết hợp Linux khác nhau, và nhiều hệ điều hành thích hợp nhỏ khác mà tôi đã quên mất trong một biển cửa sổ và menu.


Trong một cuộc sống thay thế (có thể là trong tương lai?), Tôi muốn tạo giao diện người dùng hư cấu cho phim, chương trình truyền hình và trò chơi. Một trong những cuốn sách yêu thích của tôi là " Make it so ", cuốn sách so sánh giữa giao diện trong khoa học viễn tưởng và giao diện thực.


Hệ điều hành yêu thích của bạn là gì hoặc là gì? Hãy cho chúng tôi biết bằng cách sử dụng lời nhắc viết này .


Lần đầu tiên tôi nghe nói về SerenityOS qua một mục tin tức trên Changelog. Họ đề cập rằng một số ít lập trình viên mã nguồn mở đang làm việc trên một trình duyệt và công cụ trình duyệt thay thế, Ladybird . Đây là một viễn cảnh thú vị đối với tôi vì tôi lo ngại về quyền bá chủ của trình duyệt dựa trên Chromium và có một số tùy chọn khác không được kiểm soát chặt chẽ (WebKit) hoặc biến mất từ từ (Firefox). Ladybird không giả vờ là đã có đầy đủ tính năng hoặc sẵn sàng nhưng đang phát triển nhanh chóng.


Sau đó, khi tôi tìm hiểu về Ladybird, tôi phát hiện ra đó là một trình duyệt được thiết kế cho một hệ điều hành độc đáo không kém, và tôi đã bị hấp dẫn! Để làm rõ, Serenity không phải là một giao diện Linux hoặc BSD khác. Đó là một thứ gì đó được xây dựng từ đầu nhưng lấy cảm hứng từ hệ điều hành hiện đại và cổ điển như nhau. Nó nhằm mục đích trở thành một hệ điều hành đầy đủ chức năng và có thể sử dụng để sử dụng hàng ngày.


Trong bài đăng này, tôi xem xét việc xây dựng và chạy Ladybird và SerenityOS trên chiếc MacBookPro M1 của mình. Việc sử dụng Apple Silicon gây ra một số phức tạp, nhưng không quá nhiều và cộng đồng của dự án rất hữu ích và có thể giao tiếp khi bạn gặp sự cố.



Xây dựng và chạy Ladybird

Ban đầu được xây dựng như một thử nghiệm trong việc tạo trình duyệt với các thư viện HTML của SerenityOS, gần đây, nó đã phát triển thành một thứ có thể trở thành một tùy chọn trình duyệt đa nền tảng mới.

Nó sử dụng thư viện Qt UI, vì vậy nó trông không hoàn toàn đa nền tảng nhưng có thể sử dụng được trên tất cả các nền tảng hỗ trợ Qt và có nghĩa là sẽ có nhiều phạm vi để cải tiến hơn nữa.

Tôi không gặp vấn đề gì với việc tuân theo các điều kiện tiên quyết của bản dựng và hướng dẫn cho nền tảng bạn chọn . Kể từ phiên bản 6.2, Qt hỗ trợ Apple Silicon, vì vậy không có vấn đề nào trong số này gây ra vấn đề cho tôi. Chỉ có điều tôi phải cài đặt Xcode. Có một điểm mà chỉ cần cài đặt Công cụ dòng lệnh của Apple là đủ, nhưng tôi thấy rằng tôi ngày càng cần các công cụ mà chỉ Xcode cung cấp.


Các bước xây dựng sẽ mất một chút thời gian và sau đó trình duyệt sẽ mở ra. Trọng tâm ban đầu của trình duyệt là giúp mọi người gỡ lỗi các ứng dụng mà họ đang xây dựng bằng các thư viện HTML của Serenity, vì vậy có rất nhiều công cụ gỡ lỗi có sẵn, nhưng vẫn chưa có quá nhiều cho người dùng cuối. Ban đầu, tôi gặp sự cố hiển thị phông chữ, có thể do màn hình Retina của tôi, nhưng một câu hỏi trong máy chủ Serenity Discord đã nhận được phản hồi nhanh chóng (đây là điều dành riêng cho macOS).


Nhấp chuột phải vào tệp nhị phân được xây dựng trong Build / ladybird và mở tệp Contents / info.plist (có thể trong Xcode, nhưng bất kỳ trình chỉnh sửa nào cũng vậy. Thay đổi giá trị của NSHighResolutionCapable thành "NO" và khởi chạy lại. Kết xuất văn bản vẫn trông hơi kỳ quặc, nhưng nó có thể đọc được.


Tôi nhận thấy rằng Ladybird không hiển thị âm thanh hoặc video. Cho dù điều này là do nó chưa triển khai tính năng đó của HTML hay do các vấn đề cấp phép, tôi không chắc chắn.

Xây dựng và chạy SerenityOS

Xây dựng và chạy trình duyệt là một chuyện, việc xây dựng và chạy toàn bộ hệ điều hành là một việc hoàn toàn phức tạp hơn. Vì Serenity được thiết kế cho hệ thống X86_64, điều này cũng có nghĩa là tôi, với tư cách là người dùng Apple Silicon, cần chạy nó trong một môi trường giả lập. May mắn thay, vì Serenity là một hệ điều hành toàn bộ, cộng đồng thường giả định rằng bạn muốn chạy nó trong một máy ảo và đã cung cấp các bước trong tập lệnh chạy để sử dụng QEMU. Với một vài bước bổ sung, bạn cũng có thể làm cho điều này hoạt động khi chạy trên Apple Silicon, mặc dù với một số điểm hiệu suất.


Đầu tiên, tôi đã làm theo hướng dẫn điều kiện tiên quyết của bản xây dựng macOSđối với người dùng Linux, có các hướng dẫn điều kiện tiên quyết khác nhau . Sau đó, bạn có thể quay lại hướng dẫn xây dựng chung . Tất cả đều hoạt động tốt nhưng mất nhiều thời gian, điều này là hợp lý để xây dựng một hệ điều hành.

Ban đầu, chạy Serenity không thành công ở giai đoạn QEMU và trước đó tôi đã gặp một số vấn đề với QEMU cho một bài báo mô phỏng và ảo hóa macOS chung mà tôi đang thực hiện. Tuy nhiên, một phản hồi nhanh khác trong máy chủ Discord và tôi đã có giải pháp.


Trong run.sh trên dòng 256 (tại thời điểm viết bài), hãy thêm thông tin sau:


 -machine pc-i440fx-7.0


Toàn bộ khối đó xác định máy ảo QEMU mà Serenity sẽ sử dụng và " pc-i440fx-7.0 " xác định một cấu hình PC cụ thể. Sau khi thêm điều này, việc chạy Serenity đã hoạt động. Nó có độ trễ do sử dụng bộ xử lý giả lập, nhưng chỉ một chút, với độ trễ giây mỗi khi tôi nhấp vào thứ gì đó. Không thể sử dụng hàng ngày, nhưng có thể chấp nhận được cho mục đích thử nghiệm.


Serenity chắc chắn có giao diện người dùng Windows ban đầu nhưng với tư duy Linux. Không có trình quản lý gói chính thức, nhưng các cổng có sẵn để xây dựng . Thay vào đó, nó đóng gói rất nhiều ứng dụng phổ biến với bản dựng hệ điều hành. Có một trình soạn thảo mã, một trình duyệt (không phải Ladybird), trò chơi và hơn thế nữa.

Quay lại tương lai

Đây là bạn có nó. Với một vài chỉnh sửa và rất nhiều thời gian chờ tải xuống và xây dựng, bạn cũng có thể chạy một trình duyệt và hệ điều hành hoàn toàn mới và độc đáo! Tôi không hoàn toàn chắc chắn về mục tiêu cuối cùng của dự án Serenity là gì, vì nó bắt đầu như một dự án đam mê dành cho những người bảo trì chính và phát triển thành một thứ gì đó lớn hơn. Đó là một trong những điều tôi yêu thích ở dự án. Nó được tạo ra hoàn toàn bởi những người tận hưởng quá trình tạo ra thứ mà họ tự hào và thế giới nguồn mở cần nhiều dự án như vậy hơn.


Đó là tháng hacktoberfest, nếu bạn yêu thích các dự án mã nguồn mở như SerenityOS, hãy cho chúng tôi biết về kinh nghiệm của bạn khi đóng góp cho mã nguồn mở bằng cách sử dụng lời nhắc này .


Hệ điều hành yêu thích của bạn là gì hoặc là gì? Hãy cho chúng tôi biết bằng cách sử dụng lời nhắc viết này .