tmux là gì? Để Claude Code chạy tiếp khi bạn tắt laptop

Chia sẻ bài viết

Mục lục

Trả lời nhanh: tmux là trình quản lý phiên terminal chạy trên server: bạn mở một phiên, chạy chương trình trong đó, rồi thoát ra mà chương trình vẫn chạy tiếp. Lần sau SSH vào, gõ một lệnh là quay lại đúng màn hình cũ. Với người dùng Claude Code, tmux nghĩa là: giao việc cho agent trên VPS, gập laptop đi ngủ hay ra quán cà phê, mở máy khác SSH vào vẫn thấy agent đang làm - không mất phiên, không mất việc.

Nỗi sợ lớn nhất khi làm việc qua SSH: đang chạy dở việc dài thì rớt mạng hoặc lỡ tắt máy, quay lại thì mọi thứ đã chết theo kết nối. tmux sinh ra để xoá nỗi sợ đó. Bài này giải thích tmux theo cách một người chưa từng dùng cũng làm theo được trong 10 phút, và quy trình cụ thể để Claude Code chạy qua đêm trên VPS.

Tóm tắt nhanh
  • tmux tách phiên làm việc khỏi kết nối SSH: kết nối đứt, phiên vẫn sống trên server
  • Chỉ cần 5 lệnh là đủ dùng cả năm: tạo phiên, thoát tạm, gắn lại, liệt kê, đóng phiên
  • Quy trình Claude Code qua đêm: tạo phiên có tên → giao việc → thoát tạm → sáng mai gắn lại xem kết quả
  • Cài sẵn trên hầu hết VPS Ubuntu; không cài thì một lệnh apt là xong

Vì sao SSH thường rớt là mất hết

Khi bạn SSH vào server và chạy một chương trình, chương trình đó là "con" của phiên kết nối. Kết nối chết - do rớt Wi-Fi, gập laptop, hay chỉ là để lâu không đụng - hệ điều hành dọn luôn cả cây tiến trình bên dưới. Agent đang chạy giữa chừng cũng bị dọn theo.

tmux chen vào giữa: phiên làm việc thuộc về tmux (sống trên server), còn SSH chỉ là cửa sổ nhìn vào. Đóng cửa sổ, căn phòng vẫn còn nguyên.

Cài đặt và 5 lệnh sống còn

Trên Ubuntu/Debian:

sudo apt install tmux

Năm lệnh đủ dùng:

  • tmux new -s duan - tạo phiên mới tên duan
  • Ctrl+B rồi bấm D - thoát tạm (detach), mọi thứ bên trong chạy tiếp
  • tmux attach -t duan - gắn lại phiên, về đúng màn hình đang dở
  • tmux ls - xem đang có những phiên nào
  • tmux kill-session -t duan - đóng hẳn phiên khi xong việc

Mẹo nhớ: mọi phím tắt tmux đều bắt đầu bằng Ctrl+B - bấm tổ hợp đó trước, thả ra, rồi bấm phím lệnh.

Quy trình chạy Claude Code qua đêm

Ghép lại thành thói quen bốn bước:

  1. SSH vào VPS, tạo phiên theo tên dự án: tmux new -s shopapp
  2. Vào thư mục dự án, chạy claude và giao việc - ví dụ: "viết test cho toàn bộ module đơn hàng, chạy đến khi pass hết"
  3. Bấm Ctrl+B D, đóng laptop, đi làm việc khác. Agent tiếp tục cày trên server.
  4. Sáng hôm sau (hoặc từ điện thoại, máy khác): SSH vào, tmux attach -t shopapp - toàn bộ nhật ký agent đã làm hiện ra như chưa từng rời đi.

Rớt mạng giữa chừng cũng không sao: phiên vẫn nguyên, chỉ việc attach lại. Đây chính là khác biệt lớn nhất giữa chạy agent trên VPS so với trên máy cá nhân.

Vài mẹo dùng sướng hơn

  • Mỗi dự án một phiên, đặt tên rõ: tmux new -s shopapp, tmux new -s blog - chạy nhiều agent song song, mỗi phiên một việc, không giẫm chân nhau.
  • Chia đôi màn hình: Ctrl+B % chia dọc - một bên agent làm, một bên bạn theo dõi log hay chạy lệnh kiểm tra.
  • Cuộn xem lại lịch sử: Ctrl+B [ rồi cuộn bằng phím mũi tên hoặc PgUp; bấm q để thoát chế độ cuộn.

tmux, screen hay nohup

Ba công cụ cùng giải một bài toán, khác mức tiện nghi:

  • nohup: chạy lệnh rồi bỏ đó, chỉ xem lại được qua file log - đủ cho script một chiều, không tương tác lại được với agent.
  • screen: đàn anh của tmux, vẫn dùng tốt nhưng ít được phát triển thêm.
  • tmux: tiêu chuẩn hiện nay - chia màn hình, nhiều cửa sổ, cấu hình phong phú, tài liệu và mẹo vặt nhiều nhất.

Với Claude Code - công cụ cần bạn quay lại xem và trả lời câu hỏi của agent - tmux là lựa chọn đúng.

Câu hỏi thường gặp

tmux có làm chậm chương trình bên trong không?

Không đáng kể. tmux chỉ quản lý màn hình và bàn phím, phần tính toán của chương trình chạy thẳng trên hệ điều hành. Tốc độ agent phụ thuộc CPU, RAM và ổ đĩa của server, không phụ thuộc tmux.

Làm sao biết agent đã xong việc khi mình không mở màn hình?

Cách đơn giản: dặn agent ghi kết quả ra file hoặc tạo commit khi xong, lúc attach lại chỉ cần xem git log. Nâng cao hơn thì dặn agent gọi một webhook (ví dụ bắn tin nhắn qua n8n) ở bước cuối.

Tắt laptop có thật sự không ảnh hưởng gì không?

Đúng vậy, miễn là chương trình chạy trong tmux trên server. Laptop của bạn chỉ là cửa sổ nhìn vào; đóng cửa sổ không tắt được căn phòng. Chỉ khi server tắt thì phiên mới mất.

VPS cấu hình bao nhiêu là đủ cho quy trình này?

Với một agent và dự án web thông thường, 4-6 GB RAM và 4-6 vCPU là thoải mái. Điều đáng đầu tư nhất là ổ NVMe: agent quét repo, cài gói, build liên tục - toàn việc ăn tốc độ ổ đĩa. Chạy nhiều phiên song song thì cộng thêm RAM theo số phiên.

Hạ tầng NVMe Enterprise của TND
VPS ổ Enterprise U.2 NVMe, CPU xung cao, đặt tại Việt Nam
Bạn có thể dùng Claude Code trên VPS NVMe của TND, dùng tmux để agent code ngay cả khi bạn đã tắt laptop. Ổ Enterprise U.2 NVMe RAID 10 rút ngắn đúng những bước agent lặp lại nhiều nhất - quét mã nguồn, cài dependency, chạy build - trên nền Intel Xeon Platinum xung cao. Bàn giao trong 5 phút, backup hàng tuần, đặt tại Việt Nam nên SSH gần như không có độ trễ.
Xem VPS ổ Enterprise U.2 NVMe tại Việt Nam

Bài viết liên quan