Tmux là một terminal multiplexer (công cụ cho phép sử dụng nhiều terminal trong một cửa sổ) tích hợp nhiều tính năng hữu ích và được hỗ trợ bởi một số lượng lớn các plugin do cộng đồng tạo ra.
Các terminal multiplexer như tmux và Screen cung cấp cho cửa sổ terminal sức mạnh siêu năng suất, cho phép bạn mở nhiều phiên trong tab và chia nhỏ màn hình.
Kết hợp với nhiều công cụ terminal và tính năng lưu phiên, bạn cũng có thể khôi phục các phiên Tmux sau khi thực hiện hard reboot.
Làm sao để quản lý và khôi phục các phiên Tmux trong Linux?
Cài đặt tmux
Chạy tmux trên hệ thống tương đối đơn giản nếu bạn đang sử dụng bản phân phối Linux.
Đối với Ubuntu, điều này có nghĩa là “triệu tập” apt từ terminal và cài đặt gói từ kho lưu trữ chính thức của bản phân phối. Đối với các bản phân phối khác, hãy sử dụng trình quản lý gói đi kèm để xử lý cài đặt (tmux có sẵn trên hầu hết các bản phân phối.)
sudo apt-get install tmux
Tạo các Window và Pane
Trong tmux, có hai thuật ngữ được sử dụng để mô tả các loại cấu hình bố cục chính mà người dùng có thể tạo. “Window” là thuật ngữ trong tmux cho các tab. Tạo một window (cửa sổ) mới sẽ tạo một tab mà bạn có thể chuyển sang bằng một lệnh đơn giản.
Mặt khác, “Pane” là các phần tách ra trong tab hay “Window” hiện tại, cũng có thể được chuyển sang bằng cách sử dụng lệnh.
Trước khi bắt đầu tạo những thứ này, điều quan trọng cần lưu ý là tmux là phương thức (modal) trong hàm (function). Điều này có nghĩa là sự tương tác với phiên terminal và tmux xảy ra trong các “mode” (chế độ) riêng biệt. Điều này rất hữu ích, khi bạn có thể sử dụng từng phiên terminal riêng lẻ thường mở, mà không vô tình kích hoạt lệnh tmux.
Để có quyền truy cập vào tmux và bắt đầu phát lệnh, trước tiên, hãy bắt đầu phiên tmux mới và đặt tên cho nó:
tmux new -s babytmux
Hãy thoải mái thay đổi tên (như “babytmux” chẳng hạn)!
Tmux sẽ mở ngay lập tức và một phiên shell mới sẽ bắt đầu. Nhưng ta đang muốn mở nhiều phiên, bạn nhớ chứ?
Để vào chế độ lệnh của tmux, cần sử dụng prefix (tiền tố), thường là nhấn đồng thời Ctrl
và b
. Bạn sẽ không thấy bất bất cứ điều gì thay đổi sau khi nhấn prefix, nhưng có thể gõ các lệnh bằng cách nhập :
ngay sau đó. Để thoát khỏi chế độ lệnh, hãy hoàn thành lệnh bằng cách nhấn Enter
hoặc nhấn phím ESC
để thoát mà không thực hiện thay đổi.
Ta sẽ sử dụng một shortcut để tạo sự phân chia theo chiều ngang: Nhấn Ctrl
và b
, sau đó là "
.
Bây giờ, bạn có thể điều hướng giữa hai phiên với những phím sau: Ctrl
và b
, sau đó là o
.
Mỗi phiên độc lập với nhau, vì vậy bạn có thể mở các chương trình riêng biệt trong mỗi phiên. Hãy chia màn hình làm 4 phần như sau: Ctrl
và b
, sau đó nhấn %
.
Mở bất cứ thứ gì bạn muốn trong mỗi pane và nó sẽ tiếp tục chạy trong khi bạn truy cập vào các phiên khác.
Để tạo một cửa sổ, hãy làm như sau: Nhấn Ctrl
và b
, sau đó nhấn c
.
Bạn có thể chuyển về cửa sổ trước hoặc chuyển tiếp sang một cửa sổ khác với: Ctrl
và b
, sau đó nhấn p
hoặc là Ctrl
và b
, sau đó nhấn n
.
Thanh trạng thái ở dưới cùng của màn hình hiển thị cho bạn tiến trình đang chạy trong mỗi cửa sổ và hiện bạn đang ở cửa sổ nào.
Để rời khỏi phiên tmux này, hãy sử dụng: Ctrl
và b
, sau đó nhập :detach-client
.
Phiên sẽ không ngừng chạy trừ khi máy được khởi động lại hoặc bạn tự hủy nó. Để truy cập lại, hãy sử dụng lệnh sau:
tmux a -t babytmux
Để tạo các phiên tmux thực sự “bất tử”, có thể quay lại sau khi khởi động lại, bạn cần cài đặt một hoặc hai plugin.
Cài đặt plugin
Sử dụng plugin trong tmux tương đối đơn giản. Tuy nhiên, có một trình quản lý plugin bạn có thể sử dụng để giúp việc cài đặt plugin tiếp theo dễ dàng hơn.
Trình quản lý plugin
Để cài đặt Tmux Plugin Manager, ta sẽ sao chép các file của nó từ Github với code sau:
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'git@github.com/user/plugin'
# set -g @plugin 'git@bitbucket.com/user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run -b '~/.tmux/plugins/tpm/tpm'
Như bạn có thể thấy ở trên, cần thêm tên người dùng và tên plugin của github (được tìm thấy trong URL github của plugin) cho mỗi plugin muốn cài đặt kể từ bây giờ. Trình quản lý plugin sẽ xử lý phần còn lại. Sử dụng code này để làm cho trình quản lý plugin hoạt động:
tmux source ~/.tmux.conf
Bây giờ, đối với plugin cần để khôi phục phiên sau khi khởi động lại, hãy tiếp tục đọc phần sau của bài viết.
Resurrect
Tmux Resurrect thực hiện đúng nhiệm vụ như tên gọi của nó và đưa phiên đã lưu trở lại bằng cách sử dụng một lệnh đơn giản.
Plugin này có thể được cài đặt bằng cách thêm phần sau vào file .tmux.conf:
set -g @plugin 'tmux-plugins/tmux-resurrect'
Bây giờ, hãy để Tmux Plugin Manager cài đặt nó bằng cách sử dụng lệnh sau trong tmux: Ctrl
và b
, sau đó nhấn I
(Đây là chữ “i” viết hoa).
Sau khi cài đặt, bạn có thể bắt đầu một phiên và lưu nó với các lệnh sau: Ctrl
và b
, sau đó nhấn Ctrl
+s
.
Để khôi phục phiên, bạn có thể sử dụng Ctrl
và b
, sau đó nhấn Ctrl
+r
.
Sử dụng cách trên, bạn có thể duy trì phiên tmux “bất tử” với tất cả các công cụ và quy trình ưa thích, ngay cả sau khi khởi động lại. Hãy dùng thử và khám phá thêm các tính năng của tmux để tận dụng tối đa terminal.
Chúc bạn thực hiện thành công!