Giới Thiệu Cơ Bản Về Tmux - Viblo
Maybe your like
Tôi bắt đầu dùng Tmux thế nào?
Ngày chập chững bắt đầu biết cách ssh vào server, chạy các tác vụ trực tiếp trên staging và production, tôi có gặp một vấn đề như sau. Khi đang chạy một tác vụ chuyển dữ liệu với thời gian thực thi lên tới gần 1 tiếng đồng hồ, đột nhiên tôi gặp thông báo:
$ Write failed: Broken pipeCái gì vậy?
Thì ra là mạng chập chờn khiến cho kết nối từ máy tính của tôi đến server bị mất. Và thế là tôi bắt đầu bấn loạn! Lo lắng ssh lại, mọi thứ quay lại từ đầu, không biết cái tiến trình đang chạy ban nãy nó thế nào rồi, có xong được không, hay lỗi ở đâu.
Phải có cách nào đó chứ? Nghĩ vậy tôi bắt đầu tìm và nhanh chóng tìm được một cái tên: Tmux. Phải thử ngay!
Sau khi ssh lại vào server và cài tmux, tôi thử chạy:
$ tmuxMàn hình terminal thay đổi về giao diện của tmux session, tôi gõ thử:
$ I am going to run db migration herevà sau đó... rút dây mạng. Tất nhiên, một lần nữa
$ Write failed: Broken pipeSau đó tôi ssh lại vào server, gõ thử:
tmux aKết quả:
$ I am going to run db migration hereThật là tuyệt vời, tmux mở lại cho tôi đúng session là tôi đang có trước khi mất mạng. Như chưa hề có cuộc chia ly! Kể từ đó tôi hoàn toàn yên tâm khi phải thực thi những tác vụ kéo dài hàng tiếng, thậm chí là cả ngày trên server.
Tôi đã bắt đầu dùng Tmux như thế đó.
Cụ thể hơn về Tmux
Bên trên là kỷ niệm đầu đời cũng như là giá trị có lẽ là tuyệt vời nhất mà Tmux đem lại cho tôi. Phần này tôi sẽ trình bày kỹ hơn xem thực sự Tmux là cái gì và nó có thể làm được những gì.
Tmux là gì?
Định nghĩa trên trang https://tmux.github.io/ có nói rằng: Tmux là một Terminal Multiplexer - "bộ ghép kênh". Nó cho phép bạn chuyển qua lại giữa các chương trình độc lập ngay trên một terminal, tách các chương trình ra một terminal riêng mà vẫn giữ được trạng thái hoạt động của chúng. Và còn làm được nhiều việc hơn thế nữa...
Cài đặt Tmux thế nào?
Bạn có thể tải và cài tại đây Download hoặc cài trực tiếp từ terminal:
sudo apt-get update sudo apt-get install tmuxNhững tính năng hay của Tmux
Đầy đủ tính năng ghi hết ra đây không hết được. Các bạn có thể đọc tại đây hoặc tìm kiếm ở các nguồn khác. Ở đây tôi sẽ chỉ xin phép nêu ra các tính năng cơ bản mà tôi thường sử dụng.
Liên quan đến tạo và attach sessions
Tạo một session mới:
tmuxAttach nó:
tmux aTạo một session mới kèm theo tên gọi:
tmux new -s s_nameAttach session đã được đặt tên:
tmux a -t s_nameHiện thị danh sách các sessions:
tmux lsXoá một session:
tmux kill-session -t s_nameKhi đã ở trong tmux
Mặc định của tmux, prefix của các lệnh sẽ là tổ hợp Ctrl+b, cũng giống như gõ Esc để chuyển về chế độ dòng lệnh như Vim vậy.
Các lệnh làm việc với cửa sổ
Ctrl+b c # Tạo một cửa sổ mới Ctrl+b w # Xem danh sách cửa sổ hiện tại Ctrl+b n/p # Chuyển đến cửa sổ tiếp theo hoặc trước đó Ctrl+b f # Tìm kiếm cửa sổ Ctrl+b , # Đặt/Đổi tên cho cửa sổ Ctrl+b & # Đóng cửa sổCách lệnh làm việc với các panel trong 1 cửa sổ
Ctrl+b % # chia đôi màn hình theo chiều dọc Ctrl+b " # chia đôi màn hình theo chiều ngang Ctrl+b o/<phím mũi tên> # Di chuyển giữa các panel Ctrl+b q # Hiện số thứ tự trên Ctrl+b x # Xoá panelNhững thứ khác
Còn rất nhiều những thứ hay ho khác có thể làm trên Tmux, tất nhiên có những thứ có lẽ sẽ chả giúp ích gì mấy cho công việc của bạn. Ví dụ xem giờ trên Terminal, tại sao không?

Tuỳ biến Tmux
Bản thân tôi hài lòng với những thiết lập mặc định của Tmux. Tuy nhiên nếu bạn khó tính, ví dụ cảm thấy prefix Ctrl+b rất là khó dùng chẳng hạn, bạn cũng có thể thay đổi nó. Tạo file .tmux.conf tại thư mục home của user của bạn và bạn có thể config tmux theo ý mình.
tmux source-file .tmux.confVí dụ bạn thích Ctrl+c thay vì Ctrl+b? Chỉ cần viết vào file .tmux.conf mới tạo
unbind C-b set -g prefix C-avà thế là xong 
Một video thực tế về sử dụng Tmux
Tôi tìm được trên Youtube một video rất hay. Các bạn hãy xem thử nhé!
Kết luận
Với tôi, Tmux là một công cụ tuyệt với trong công việc, càng dùng càng thấy hay. Nếu công việc đòi hỏi bạn phải làm việc nhiều trên terminal, hãy thử và cảm nhận sự tuyệt với của Tmux nhé.
Cảm ơn các bạn đã đọc bài và chúc các bạn thành công! Happy coding!
Tag » Apprendre Tmux
-
Comment Utiliser Tmux + Cheatsheet - Hostinger
-
Où X=tmux - Learn X In Y Minutes
-
Introduction à Tmux (terminal Multiplexer) - Le Guide
-
Attacher Et Détacher Un Terminal Virtuel Avec Tmux | IT-Connect
-
Tmux | IT-Connect
-
Débuter Avec Tmux - Android 2022 - Joe Comp
-
Pourquoi Je Suis Passé Sur TMUX ? - YouTube
-
Travailler Avec Une Session Tmux - Acervo Lima
-
Tmux – Mon Blog Des Outils Numériques - Blogpeda
-
Comment Créer Une Session Tmux à L'aide D'un Script - Linux Tips
-
Gérer De Manière Efficace Votre Travail Dans Le Terminal Avec Tmux
-
Tmux, L'alternative à Screen | Connect - Editions Diamond
-
Tmux - Coder-question
-
▷Qu'est-ce Qu'une Session Tmux ? ✔️ - 【 2022 】