Hãy biến Linux thành Windows
(philipbohun.com)> "Chúng ta nên làm cho một bản phân phối Linux hoạt động như Windows."
- Bài viết này đề xuất tạo ra một bản phân phối Linux có thể chạy tệp thực thi Windows qua Wine theo mặc định để giải quyết các vấn đề về tính di động và cách phân phối của Linux hiện nay
- Nhờ đó, người dùng Windows có thể chuyển sang Linux một cách dễ dàng mà hầu như không cần đào tạo, đồng thời cũng có thể giải quyết luôn các vấn đề tương thích tồn tại lâu nay của Linux
Sự bất ổn của môi trường Linux
- Trong khi trên Windows, ngay cả tệp
.exe20 năm tuổi vẫn có thể chạy được, thì trên Linux, ngay cả binary từ 1 năm trước cũng có thể không chạy nổi - Nguyên nhân là do sự khác biệt về phiên bản thư viện và các bản cập nhật trên Linux khiến cùng một tệp thực thi không thể hoạt động trên nhiều bản phân phối khác nhau
- System call của Linux thì ổn định, nhưng thư viện C (
libc) nằm phía trên lại không ổn định, và phần lớn không gian người dùng phụ thuộc vào nó
Vấn đề phân phối binary trên Linux
- Trên Linux hiện tồn tại tới bốn cách chính để phân phối tệp thực thi, và cách nào cũng có vấn đề riêng
- Binary thô: không chạy được trong phần lớn môi trường
- AppImage: bao gồm mọi phụ thuộc, nhưng khả năng bảo tồn lâu dài hoàn hảo vẫn chưa rõ
- Flatpak: cung cấp sandbox cho từng ứng dụng
- Snap: một trình quản lý gói khác dựa trên sandbox
- Tất cả chúng đều có cách cài đặt, cập nhật và gỡ bỏ khác nhau, và còn có thể cùng tồn tại đồng thời
- Phần lớn đều không phù hợp cho việc bảo tồn ứng dụng dài hạn và chạy lại trong tương lai, và khả năng còn chạy được sau 20 năm là gần như không có
Vì sao Win32 là lời giải
Win32 APIcủa Windows được đánh giá là ABI (Application Binary Interface) ổn định duy nhất trên Linux- Windows không gọi system call trực tiếp mà gọi thông qua thư viện động, nhờ đó duy trì được tính ổn định của API
- Nhờ cấu trúc này, Microsoft có thể thay đổi kernel bên trong mà vẫn cung cấp cùng một giao diện cho người dùng
- Ngược lại, Linux gọi system call trực tiếp, còn thư viện lại không ổn định nên vấn đề tương thích vẫn tiếp diễn
- Wine hiện thực cấu trúc Win32 này, nhờ đó có thể chạy cả ứng dụng từ thời Windows 95 trong thập niên 1990
- Đặc biệt, nếu chỉ dùng các ứng dụng dựa trên Win32 thì hầu như không có khác biệt về tương thích giữa Wine và Windows
Hình dung về một bản phân phối Linux mới
- Đây là đề xuất tạo ra một bản phân phối Linux có môi trường desktop tương tự Windows
- Bản phân phối này sẽ cài sẵn Wine theo mặc định, đồng thời dùng một bản vá kernel nhỏ để tự động nhận diện và chạy các tệp thực thi Windows
- Thiết lập môi trường Wine (prefix) theo từng người dùng, đồng thời cung cấp hệ thống tệp và GUI theo phong cách Windows
- Môi trường Linux hiện có vẫn được giữ lại ở hậu trường để người dùng nâng cao có thể truy cập
Hỗ trợ đa nền tảng thực sự
- Wine không chỉ chạy trên Linux mà còn trên nhiều OS khác như FreeBSD, macOS, Android
- Nếu mọi ứng dụng đều chỉ được phân phối dưới dạng ứng dụng Win32, thì có thể chạy trên nhiều nền tảng mà không cần port riêng
- Đây là một cấu trúc cho phép một ứng dụng duy nhất tương thích với nhiều hệ điều hành
Những mối đe dọa trong tương lai
- macOS và Windows đang ngày càng phát triển theo hướng khép kín hơn, tước đi quyền kiểm soát của người dùng
- Windows đang bổ sung tính năng chụp ảnh màn hình tự động và phân tích bằng AI
- macOS giới hạn chỉ cho phép chạy các ứng dụng đã được phê duyệt thông qua Gatekeeper
- Cả hai OS đều đang giám sát hoạt động của người dùng và thậm chí còn chuẩn bị cả tính năng dò tìm, báo cáo các tệp bị coi là bất hợp pháp
- Microsoft đang khiến việc dùng Windows mà không có tài khoản trực tuyến ngày càng khó hơn
- Điều này có thể dẫn tới tình huống khi tài khoản bị khóa thì ngay cả chiếc máy tính cũng không thể sử dụng được
> Xu hướng này được lý giải là không hẳn do ác ý, mà là hệ quả của áp lực kinh tế và chính trị
Vì sao phải đóng gói Linux thành Windows
- Bản phân phối Linux mới này giải quyết vấn đề tính di động và mang lại một môi trường chuyển đổi quen thuộc cho người dùng Windows
- Trong thời điểm việc nâng cấp lên Windows 11 bị thúc ép, nó có thể trở thành một lựa chọn thay thế dễ chuyển sang
- Bài viết cho rằng đây chính là thời điểm thích hợp để hình dung một bản phân phối Linux có thể khôi phục chủ quyền cho người dùng
10 bình luận
Một hệ sinh thái trụ vững suốt 20 năm thì đúng là khiến người ta phải gật gù, nhưng tại sao kết cục lại là
wine..Có lẽ không thể dùng macOS được nữa.
Tôi không muốn nhìn nhận theo hướng chỉ trích, nhưng với tư cách là người đã dùng qua nhiều hệ điều hành thì tôi thấy khá khó đồng cảm. Giờ đây hầu hết các công cụ GUI đều có thể dùng trên web, và nếu cần một desktop tốt thì làm trên Windows với giao diện đẹp sẽ tốt hơn, hơn nữa khả năng hỗ trợ driver của Windows cũng vượt trội hơn nhiều.
Đáng lẽ phải là Steam mới đúng...
https://www.codeweavers.com/crossover
TMax Windows... Lindows/Linspire... ReactOS... ôi đau cả đầu...
Có vẻ như Valve Proton thực sự đang làm được việc lớn
Đây đúng là một đề xuất khá mới lạ.
Có phải cứ nghĩ rằng chỉ cần tinh chỉnh để chạy tốt các game/phần mềm top-tier là được rồi... thì không ổn nhỉ? haha
Mong là sẽ đến thời có thể chơi game mà không cần PC chạy Windows 11 trở lên hu hu
Ý kiến trên Hacker News
Có ý kiến cho rằng nên tạo một bản phân phối Linux sử dụng Wine để mặc định chạy các tệp nhị phân Windows
sudo apt install wine-binfmtTrên Windows, ngay cả tệp exe đã 20 năm tuổi vẫn thường chạy được, nhưng trên Linux thì ngay cả tệp nhị phân mới 1 năm tuổi cũng có thể không chạy được do cập nhật
Không nghĩ rằng cần một bản phân phối mới
Zorin OS gần như cung cấp sẵn hỗ trợ Wine cho tệp .exe, còn Steam OS/Proton có hướng dẫn chính thức rằng thay vì làm bản port Linux cho game mới thì hãy tối ưu cho Proton
Các bản phân phối Linux thường liên kết động các tệp thực thi và không giữ lại các phiên bản thư viện cũ
System call của Linux rất ổn định, nhưng thư viện C ở phía trên thì không như vậy
Nghe giống như kiểu người muốn có Lindows/Linspire
Nếu ABI của Windows thực sự rất ổn định, thì cũng đáng thắc mắc vì sao những máy dùng Win95 hay NT lại thường không ai dám đụng vào vì sợ một số phần mềm nào đó sẽ ngừng chạy
Không cần vá kernel để chạy tệp exe, vì
binfmt_misccó thể xử lý việc đówine-binfmtsẽ tự động chạy các tệp PE thông qua Wine