Giới thiệu chung

Mình làm lập trình web trên Windows trong một thời gian dài và nhìn chung mọi thứ đều ổn.
Vài năm trở lại đây Windows ngày càng có nhiều biểu hiện khó chịu, nhưng vì đã quá quen nên mình đều tặc lưỡi cho qua.

Vài tháng trước mình xem một số bài về "rice" Linux trên Reddit và khá thích thú với giao diện của những người dùng này.

Nếu thích giao diện windows, bạn hoàn toàn có thể "rice" giống như No_Beyond_5483 trên reddit đã làm:

"Start Menu" "Explorer"
1jBsCdgfB0rVspnik7GWktz98vOZ9QxrQ 1F_puADsFdKFJ_R06PhqC0N9DCt-GAS1U

Mình không xa lạ với Linux: có vài dự án yêu cầu làm việc với Ubuntu, các dự án khác mình làm trên WSL.
Ý tưởng nhảy sang CachyOS luẩn quẩn trong đầu mình mấy tuần nhưng chưa đủ để làm một cú "leap of faith".
Cho đến một sáng nọ, Windows tự động update và restart lại máy của mình giữa lúc đang làm việc.

Bài viết này là cảm nhận sau 3 tháng dùng CachyOS làm hệ điều hành chính cho công việc.
Cấu hình máy: Intel Core i7-12700, 64 GB RAM. Máy công ty, hiện mình dual boot Windows 11 và CachyOS — công ty cho phép xóa hẳn Windows nhưng mình vẫn giữ lại để phòng vài trường hợp bắt buộc.

Lý do chuyển đổi

Muốn dùng Hyprland

Đây là lý do đầu tiên khiến mình nghiêm túc nghĩ tới chuyện đổi hệ điều hành.
Hyprland là một Wayland compositor dạng tiling: giao diện đẹp, dễ tùy biến, nhanh và mượt hơn hẳn phần mềm tương tự trên Windows (komorebi).
Về mặt kỹ thuật Hyprland không phải đặc sản của CachyOS — nó chạy trên hầu hết distro — nhưng để dùng được nó thì mình phải rời Windows, và CachyOS là phương tiện mình chọn (lý do ở phần sau).
Mình sẽ đi vào chi tiết trong phần "Cái hay".

Start menu Windows 11 chật chội, quảng cáo

Bấm nút Start lên là đập vào mắt một loạt app và group app, nhìn rất rối.
Windows còn chèn quảng cáo mà người dùng không tắt được nếu không can thiệp sâu vào hệ thống.

1sNJ8-9eIXAydCR0EbNY2bQQhuWPFowaQ

Tự động cập nhật Windows

Vì lý do bảo mật, máy công ty không thể tắt hẳn chế độ cập nhật Windows.
Dù đã thiết lập chỉ cập nhật bằng tay, đôi khi Windows vẫn tự động update và khởi động lại — đúng vào lúc không mong muốn nhất.

Các vấn đề khi làm việc với WSL

Hẳn nhiều bạn ít nhiều gặp các vấn đề sau trong WSL:

  • Chạy Node chậm khi file nằm ngoài WSL (truy cập qua /mnt)
  • Vấn đề quyền khi file nằm trong Windows
  • Tên file Windows chứa dấu cách
  • Vấn đề CRLF và LF khi commit
  • Vấn đề network với Docker

Các vấn đề trên có thể giải quyết bằng cách đưa toàn bộ project vào trong WSL, cài Docker/Git trong WSL, chạy code . / cursor . từ WSL...
Nhưng nếu mọi thứ đều nằm trong WSL hết thì tại sao không chuyển hẳn sang Linux thay vì dùng Windows?

Tại sao chọn CachyOS

Mình có cân nhắc vài lựa chọn:

  • Arch thuần: mạnh nhưng tốn công dựng từ đầu.
  • EndeavourOS: gần Arch, dễ cài, nhưng không có phần tối ưu hiệu năng.
  • Fedora: ổn định, nhưng mình muốn kiểu rolling release + AUR + Arch Wiki.

Cuối cùng chọn CachyOS vì:

  • Dựa trên Arch: giữ triết lý tối giản, rolling release, kho AUR và toàn bộ Arch Wiki. Không cài sẵn nhiều thứ rác nhưng vẫn đủ dùng ngay sau khi cài (driver, DE, công cụ cơ bản).
  • Kernel và package được tối ưu: kernel riêng của CachyOS (scheduler BORE/sched-ext) và các gói biên dịch cho tập lệnh x86-64-v3/v4, hợp với CPU đời mới.
  • Trình cài đặt đồ họa (Calamares), chọn desktop environment ngay lúc cài — mình chọn Hyprland.

Cái hay

Tốc độ, đặc biệt là môi trường dev

Nhìn chung mọi thứ nhanh hơn Windows: thời gian tìm file, mở app, và rõ rệt nhất là tốc độ build.
Lý do chính: không còn lớp ảo hóa của WSL và không còn I/O chậm khi thao tác file qua ranh giới Windows ↔ Linux.
Toàn bộ source code, Docker, Git nằm trên hệ thống file Linux native.

Docker chạy native

Đây gần như là câu trả lời trực tiếp cho cả danh sách vấn đề WSL ở trên.
Docker chạy thẳng trên kernel Linux, không qua máy ảo, không vướng vấn đề quyền file, không vướng CRLF/LF, network đơn giản hơn.

Terminal có nhiều lựa chọn hơn

Windows Terminal hoạt động tốt, nhưng không tương thích với komorebi và phần hỗ trợ image protocol còn hạn chế — mình thử chạy fastfetch kèm ảnh (Sixel) thì không hiển thị được.
Trên Linux mình có thể dùng gần như mọi terminal phổ biến: Ghostty, kitty, WezTerm, Alacritty, foot, Tilix, Hyper...
Có thể xem danh sách terminal hỗ trợ trên từng OS ở đây: https://github.com/cdleon/awesome-terminals

Thao tác workspace mượt mà hơn

CachyOS hỗ trợ nhiều desktop environment; mình chọn Hyprland vì đã thích nó từ lâu.
Hyprland chia màn hình thành nhiều workspace, mỗi workspace chứa nhiều app.

Cải thiện lớn nhất — ngoài giao diện đẹp — là tốc độ truy cập app.
Thử tưởng tượng bạn đang mở:

  • 3 trình duyệt (một cho công việc, một cho Messenger vì app desktop bị khai tử, một cho YouTube)
  • DBeaver
  • 2 IDE (1 backend, 1 frontend)
  • File manager
  • Terminal
  • Slack

Bạn đang ở IDE backend và muốn chuyển sang Slack: trên Windows bạn phải Alt+Tab một hoặc nhiều lần, hoặc rê chuột xuống taskbar để chọn — mà mình thì muốn hạn chế dùng chuột.

Với Hyprland, mỗi app gắn vào một workspace cố định. Chỉ một tổ hợp Super + số là nhảy đến đúng nơi.
Nếu vẫn thích Alt+Tab thân thuộc, có thể cấu hình bằng hyprswitch.
Hyprland cũng cho phép nhảy qua lại giữa các app trong cùng một workspace.

Trên Windows 11 có komorebi hoạt động tương tự, nhưng komorebi còn non trẻ, hệ sinh thái và khả năng tùy biến chưa bằng Hyprland.

Animation trên Komorebi không mượt bằng Hyprland, bạn có thể xem video so sánh bên dưới.

Komorebi

Hyprland

Tối giản, không quảng cáo

Không quảng cáo, launcher không bị phình bởi app không cần thiết.

1_22DLCz3NUDeZdf_7tEvY5BAnSU0V9-u

Ít chiếm dụng tài nguyên hơn khi tải nặng

Khi mở nhiều ứng dụng cùng lúc và đang chạy một web app, CachyOS tiêu thụ RAM/CPU thấp hơn Windows trong cùng kịch bản.

So sánh 2 OS:

  • Windows 11: 4 trình duyệt, 1 IDE, 1 slack, 2 terminal -> 50% RAM
  • CachyOS: 4 trình duyệt, 1 IDE, 1 slack, 1 DBeaver, 6 terminal -> 40% RAM

1uPLVsiL65nj_obVeeDczX5FdEazzci-U

Tài nguyên trên Windows 11 - 50%

11Sl31ot9YDiZOKI8h248MEFioJzg3rjY

Tài nguyên trên CachyOS (1) - 40%

1E_L17b-hBzg_y5lo9ymVORQqaS8Bx0_p

Tài nguyên trên CachyOS (2) - 40%

Phần lớn app đều chạy được

Với web dev, phần lớn công cụ trên Windows đều chạy được trên CachyOS: VS Code, Cursor, trình duyệt, DBeaver, Slack, Zoom, Docker...

Một số app không có bản Linux thì đã có phần mềm tương đương:

Windows CachyOS
Unikey fcitx5 (fcitx5-unikey / fcitx5-bamboo)
MS Office LibreOffice (miễn phí) — lưu ý file .docx/.xlsx phức tạp có thể lệch layout
Photoshop GIMP / Photopea (chỉnh ảnh), Krita (vẽ)

Nếu thật sự cần app Windows, có thể chạy qua Wine (kèm một số hạn chế) hoặc bật lại Windows ở phân vùng dual boot.

Cái dở

Gõ tiếng Việt

fcitx5 mặc định đi kèm vài vấn đề phải chỉnh lại thiết lập mới gõ thoải mái được:

  • Phím tắt chuyển bộ gõ không ăn nếu con trỏ không nằm trong input field
  • Cách gõ chưa tự do như Unikey
  • Chữ hiện trong một ô trắng riêng thay vì ngay tại con trỏ

Vấn đề hiển thị với Hyprland

  • App cửa sổ nhỏ vẫn bị bó trong khung tiling, nhìn không tự nhiên

1s_TDxMileaRvnMvUG5iq6sY2oRY4AJH2

  • Ở một số app khi mở hộp thoại option, nó nhảy sang vị trí khác

1OUZSRRuNR0lyuAJrk9C1kuHs2hcxBL7I

Rolling release có lúc "vỡ"

CachyOS là bản rolling release dựa trên Arch, nên một lần update có thể làm hỏng thứ gì đó (driver, package AUR không build được...).
Kinh nghiệm của mình: chỉ update khi thật sự cần, đọc thông báo của Arch/CachyOS trước, và tránh update ngay trước một buổi họp hay deadline.

Zoom bản 7.x bị giật lag

Slack và Google Meet không có vấn đề gì.
Riêng Zoom, bản 7.x chạy giật lag trên máy mình, phải hạ về bản 6.x mới dùng ổn.

Dành khá nhiều thời gian để thiết lập

Với người muốn tránh chuột càng nhiều càng tốt, việc dựng một bộ keybind hợp lý cho Hyprland, Neovim, kitty... không hề dễ.
Còn phải: chỉnh Waybar cho vừa mắt, chỉnh hyprlock cho màn hình khóa đẹp hơn, viết alias dùng để khởi chạy một loạt tiến trình, cài hyprswitch để có lại Alt+Tab.
Để chạy được thì không mất bao lâu, nhưng để đúng ý mình thì tốn rất nhiều thời gian.

Kết luận

Chuyển sang CachyOS mình cảm thấy quy trình làm việc trôi chảy hơn hẳn.

Xét về mặt công việc, bạn vẫn có thể làm được mọi việc dù dùng Windows 11 hay CachyOS.

Nhưng về mặt trải nghiệm, CachyOS là một nâng cấp rõ ràng. Workflow mượt mà hơn. Bỏ được lớp WSL đồng nghĩa với build nhanh hơn, Docker chạy native, không còn vướng vấn đề quyền file hay CRLF/LF. Toàn bộ source code, Git, container nằm trên một hệ thống file Linux duy nhất — thứ mà trước đây mình phải chắp vá giữa hai thế giới.

Phần còn lại phụ thuộc vào việc bạn nhìn nhận thời gian vọc như thế nào. Vài ngày đầu gần như không làm được việc gì ngoài cấu hình, và sau đó vẫn có "thuế vọc" định kỳ mỗi khi update làm hỏng thứ gì đó. Với mình, việc được toàn quyền kiểm soát máy, một giao diện đúng ý, và không còn bị quảng cáo hay update ép buộc làm phiền là xứng đáng. Sau 3 tháng, mình không có ý định quay lại Windows làm hệ điều hành chính — phân vùng Windows giờ chủ yếu để dự phòng.

Nên hay không nên chuyển:

  • Nên thử nếu công việc của bạn chủ yếu xoay quanh web, terminal và Docker, và bạn thấy việc tùy biến hệ thống là thú vui chứ không phải gánh nặng.
  • Chưa nên nếu bạn phụ thuộc vào Adobe, MS Office bản đầy đủ, hoặc phần mềm nội bộ bắt buộc của công ty chỉ chạy trên Windows — hoặc đơn giản là bạn không muốn mất thời gian vọc.
  • Nếu quyết định chuyển, hãy dual boot hoặc giữ một máy ảo Windows cho một hai app không thể thay thế, và đừng đổi máy production ngay trước kỳ deadline.

Làm quen với Linux không khó nhưng vẫn đòi hỏi bạn chủ động tìm hiểu và tinh chỉnh — và với mình, đó vừa là nhược điểm vừa là điểm hấp dẫn.

Tham khảo