Saturday, September 28, 2024

Tmux là gì?

-

Một trong những tiện ích quản lý dòng lệnh nổi tiếng không thể không nhắc đến có tên là “Tmux“. Đây là một giải pháp sử dụng để quản lý nhiều phiên Terminal trên hệ điều hành Linux. Bài viết sau đây sẽ giải thích và hướng dẫn bạn cách sử dụng lệnh Tmux thông qua một số ví dụ cụ thể.

Tmux là gì?

Tmux – Terminal Multiplexer là một bộ ghép kênh có thể chia terminal thành nhiều chương trình khác nhau và hoạt động cùng một lúc. Đây là một chương trình mã nguồn mở miễn phí được sử dụng trên nhiều hệ điều hành như Linux, OpenBSD, FreeBSD, NetBSD và Mac OS X.

Cài đặt lệnh Tmux trong Linux.

Tmux có thể được cài đặt với nhiều phiên bản khác nhau trong Linux. Cụ thể cách cài đặt Tmux trong từng phiên bản sẽ như sau:

Cài đặt Tmux.

sudo apk add tmux

Cài đặt trên các phiên bản khác của Linux như Arch Linux, Endeavour OS và Manjaro Linux:

sudo pacman -S tmux

Cài đặt trên Debian, Ubuntu, Linux Mint, Pop _OS!:

 sudo apt-get install tmux

Cài đặt trên Fedora, RHEL, CentOS, Alma Linux, Rocky Linux:

sudo dnf install tmux

hoặc

sudo yum install tmux

Cài đặt trên SUSE/openSUSE:

sudo zypper install tmux

Khởi động một phiên Tmux.

Trong mỗi phiên có nhiều terminal, để chạy một phiên Tmux mới sử dụng lệnh dưới. Phiên Tmux được mở trên màn hình hiển thị một dải màu xanh lá.

tmux

hoặc

tmux new -s <tên session>

Phím mở chức năng Prefix của Tmux là Ctrl + b.

Ctrl + b

Khi vào màn hình Tmux, mỗi lần thao tác chức năng hoặc phím tắt bạn phải bấm Ctrl + b (tức là nút mở Prefix) rồi mới thực thi lệnh hoặc phím tắt nhé. Ví dụ tôi nói bấm Prefix + d tức là bạn phải bấm nút Ctrl + b rồi mới bấm d.

Để thoát session hiện tại nhưng vẫn giữ chạy nền

Prefix + d

Để tạo một phiên Tmux riêng biệt mới có tên “ostechnix” nhưng không đính kèm với nó, sử dụng lệnh:

tmux new -s ostechnix -d

Kiểm tra lại danh sách session.

$ tmux ls
0: 1 windows (created Tue Jun  6 14:11:14 2023)
ostechnix: 1 windows (created Wed Jun  7 09:29:08 2023)

Để lựa chọn các đính kèm của phiên Tmux, chạy lệnh:

tmux attach hoặc tmux a

Đính kèm vào phiên cụ thể “ostechnix“, chạy lệnh:

tmux a -t ostechnix

Tắt các phiên Tmux bằng lệnh:

tmux kill-session -t ostechnix

Tắt tất cả Tmux và các phiên, bao gồm các phiên đang chạy (sẽ không có bất kỳ cảnh báo nào về các phiên đang chạy được hiển thị) với lệnh:

tmux kill-server

Trên Windows các phiên Tmux có thể được chia thành nhiều ngăn nhỏ khác nhau chạy các chương trình khác nhau cho phép người dùng tương tác cùng một lúc. Các ngăn nhỏ này có kích thước tùy chỉnh và có khả năng hoạt động riêng lẻ.

  • Chia ngăn Tmux theo chiều ngang, nhấn tổ hợp phím: Prefix và “
  • Chia ngăn Tmux theo chiều dọc, nhấn tổ hợp phím: Prefix và %

Chuyển đổi giữa các ngăn nhấn tổ hợp phím Prefix và Arrow keys (Left, Right, Up, Down). Tương tự như chia ngăn, các lệnh cũng có thể chạy trên các ngăn cùng một lúc bằng cách sử dụng tổ hợp phím “Prefix” và nhập lệnh dưới và nhấn Enter.

: set synchronize-panes

Thay đổi phím Prefix cho Tmux.

cat > ~/.tmux.conf << 'OEF'
unbind-key C-b
set -g prefix `
bind-key ` send-prefix
bind-key -n C-t split-window -h
bind-key -n C-g split-window -v
bind-key -n C-k kill-pane
bind-key -n C-l kill-session
bind-key -n C-s setw synchronize-panes on
bind-key -n C-d setw synchronize-panes off
OEF

Để phím tắt có hiệu lực ngay saukhi thay đổi, bạn chạy lệnh dưới.

tmux source-file ~/.tmux.conf

Phím tắt thông dụng trong Tmux.

Các phím tắt này giúp bạn thực hiện các thao tác nhanh chóng trong Tmux để quản lý cửa sổ, panel và phiên làm việc của bạn.

Prefix C-o: Xoay qua các panel trong Tmux.
Prefix C-z: Đình chỉ khách hàng hiện tại.
Prefix Space: Chọn giao diện bố cục tiếp theo.
Prefix !: Tách một panel thành một cửa sổ mới.
Prefix ": Chia cửa sổ theo chiều dọc.
Prefix #: Liệt kê tất cả bộ nhớ đệm dán.
Prefix $: Đổi tên phiên hiện tại.
Prefix %: Chia cửa sổ theo chiều ngang.
Prefix &: Kết thúc cửa sổ hiện tại.
Prefix ': Yêu cầu chọn chỉ số cửa sổ để chuyển đến.
Prefix (: Chuyển đến khách hàng trước đó.
Prefix ): Chuyển đến khách hàng tiếp theo.
Prefix ,: Đổi tên cửa sổ hiện tại.
Prefix -: Xóa bộ nhớ đệm dán gần nhất.
Prefix .: Di chuyển cửa sổ hiện tại.
Prefix /: Mô tả phím tắt.
**0-9**: Chọn cửa sổ theo số thứ tự. Ví dụ:Ctrl-b 0Prefix để chuyển đến cửa sổ 0.
Prefix :: Yêu cầu một lệnh.
Prefix ;: Di chuyển đến panel trước đó mà bạn đã sử dụng.
Prefix =: Chọn bộ nhớ đệm dán từ danh sách.
Prefix ?: Liệt kê các phím tắt.
Prefix D: Chọn khách hàng từ danh sách.
Prefix E: Phân bố các panel đồng đều.
Prefix L: Chuyển đến khách hàng cuối cùng.
Prefix M: Xóa đánh dấu của panel.
Prefix [: Vào chế độ xem lại để cuộn qua lịch sử đầu ra.
Prefix ]: Dán nội dung đệm dán gần nhất.
Prefix c: Tạo một cửa sổ mới.
Prefix d: Tách phiên Tmux, trở về terminal gốc.
Prefix f: Tìm kiếm một panel.
Prefix i: Hiển thị thông tin về cửa sổ.
Prefix l: Chọn cửa sổ trước đó mà bạn đã sử dụng.
Prefix m: Chuyển đổi đánh dấu của panel.
Prefix n: Chọn cửa sổ tiếp theo.
Prefix o: Chọn panel tiếp theo.
Prefix p: Chọn panel trước đó.
Prefix q: Hiển thị số panel.
Prefix r: Vẽ lại khách hàng hiện tại.
Prefix s: Chọn phiên từ danh sách.
Prefix t: Hiển thị đồng hồ.
Prefix w: Chọn cửa sổ từ danh sách.
Prefix x: Kết thúc panel hoạt động.
Prefix z: Phóng to panel hoạt động.
Prefix {: Hoán đổi panel hoạt động với panel phía trên.
Prefix }: Hoán đổi panel hoạt động với panel phía dưới.
Prefix ~: Hiển thị tin nhắn.
Prefix DC: Đặt lại để phần hiển thị của cửa sổ theo dõi con trỏ.
Prefix PPage: Vào chế độ xem lại và cuộn lên.
Prefix Up: Chọn panel phía trên panel hoạt động.
Prefix Down: Chọn panel phía dưới panel hoạt động.
Prefix Left: Chọn panel bên trái panel hoạt động.
Prefix Right: Chọn panel bên phải panel hoạt động.
Prefix M-1: Thiết lập giao diện bố cục ngang đồng đều.
Prefix M-2: Thiết lập giao diện bố cục dọc đồng đều.
Prefix M-3: Thiết lập giao diện bố cục chính ngang.
Prefix M-4: Thiết lập giao diện bố cục chính dọc.
Prefix M-5: Chọn giao diện bố cục dạng lát.
Prefix M-n: Chọn cửa sổ tiếp theo có thông báo.
Prefix M-o: Xoay qua các panel trong một cửa sổ.
Prefix M-p: Chọn cửa sổ trước đó có thông báo.
Prefix M-Up: Thay đổi kích thước panel lên 5.
Prefix M-Down: Thay đổi kích thước panel xuống 5.
Prefix M-Left: Thay đổi kích thước panel sang trái 5.
Prefix M-Right: Thay đổi kích thước panel sang phải 5.
Prefix C-Up: Thay đổi kích thước panel lên.
Prefix C-Down: Thay đổi kích thước panel xuống.
Prefix C-Left: Thay đổi kích thước panel sang trái.
Prefix C-Right: Thay đổi kích thước panel sang phải.
Prefix S-Up: Di chuyển phần hiển thị của cửa sổ lên.
Prefix S-Down: Di chuyển phần hiển thị của cửa sổ xuống.
Prefix S-Left: Di chuyển phần hiển thị của cửa sổ sang trái.
Prefix S-Right: Di chuyển phần hiển thị của cửa sổ sang phải.

Lưu ý:

  • Trong ngữ cảnh của Tmux, “C-o” đại diện cho tổ hợp phím “Ctrl + o”.
  • Còn trong ngữ cảnh “M-Up” đề cập đến tổ hợp phím “Alt + Up Arrow” trong Tmux.

Chức năng giữ session trong Linux.

Ngoài ta Tmux còn có tính năng tự khởi động lại các phiên của Tmux giúp cho người dùng không bị mất quyền kiểm soát do các vấn đề ngoại vi như mất kết nối mạng, sập nguồn máy chủ hay hệ thống từ xa bị lỗi.

Tổng kết.

Như vậy, bài viết trên đã thu thập thông tin và những ví dụ chi tiết về lệnh Tmux trên Linux. Đây sẽ là một tiện ích dòng lệnh dành cho các hệ điều hành trên nền tảng này giúp quản lý các phiên Terminal dễ dàng và hiệu quả. 

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories