Skip to main content

tmux revised

Một bài viết nữa về tmux, theo phong cách tìm hiểu bản chất và liệt kê vài câu lệnh hữu ích.

1. Tác giả tác phẩm 
Tác giả: Nicholas Marriott <nicm@users.sourceforge.net>
Các lib tmux depends on : ncurses  libevent
URL            : http://tmux.sourceforge.net/

2. Phân tích cấu tạo, hoạt động 

Các thành phần
session: là 1 tập hợp các pseudo terminal dưới sự quản lý của tmux. Mỗi session link với 1 hoặc nhiều window. Session giữ nguyên trạng thái khi mất kết nối (detach) với client và có thể được reattach.
Mỗi sessions được hiển thị trên màn hình bởi 1 client và tất cả các session được quản lý bởi 1 server duy nhất. Server và client là các process riêng biệt, mỗi client tương tác với server qua một socket được tạo ra trong thư mục /tmp

window: một window sẽ chiếm tòan bộ màn hình và có thể bị chia nhỏ thành nhiều "pane" chữ nhật nhỏ hơn. Mỗi pane là 1 pseudo terminal riêng biệt. Nhiều tmux instance có thể connect vào cùng 1 session, 1 session có thể chứa 1 lượng tùy ý số window


status line: nằm ở dưới của màn hình hiển thị thông tin về session hiện tại và cũng là chỗ để nhập vào các tmux command.
pseudo terminal: Xem man 7 pty để biết thêm về pseudo terminal
pane: những ô chữ nhật nhỏ được tạo thành khi chia nhỏ 1 window.

Hoạt động


Lược dịch từ ``man 1 tmux``
Khi tmux bắt đầu chạy, nó tạo 1 session mới với 1 window và hiển thị window lên màn hình. Khi tát cả các session kết thúc, tmux exit.

3. Các lệnh hữu ích

 tmux --help
usage: tmux [-2lquvV] [-c shell-command] [-f file] [-L socket-name]
            [-S socket-path] [command [flags]]

Người dùng có thể tự đặt tên / path cho socket cho 1 session bằng option -L hoặc -S.

Các câu lệnh có thể gọi theo cú pháp:
# những thứ nằm trong [] là tùy ý, có hay không cũng được.
tmux [command [flags]]

tmux ls # list-sessions - liệt kê các session
tmux lsc # list-clients

hvn@archhvn: ~ () $ tmux lsc
/dev/pts/0: tmuxses [136x36 xterm] (utf8)
/dev/pts/6: 1 [136x36 xterm] (utf8)
hvn@archhvn: ~ () $ tmux ls
1: 3 windows (created Sun May  4 09:14:23 2014) [136x35] (attached)
tmuxses: 5 windows (created Sun May  4 09:13:58 2014) [136x35] (attached)
# attach vào session SESSION_NAME
tmux attach -t <SESSION_NAME>

hvn@archhvn: ~ () $ tmux attach -t tmuxses
 
Hoặc nếu đang sử dụng 1 tmux instance, có thể gõ lệnh qua interactive mode:
Ctrl b + :
rồi gõ lệnh cần gõ => enter.

Liệt kê tất cả các lệnh mà tmux hỗ trợ
tmux lscm
hvn@archhvn: ~ () $ tmux lscm | wc -l
85
=> có 85 command tất cả.

Comments

Popular posts from this blog

Tài liệu và hướng dẫn học Python

Để tiết kiệm thời gian, tốt nhất là đi học PyMI Updated: 130617 Sau đây là các tài liệu khuyên dùng: Vì nhiều lý do, nên học python2.7 tại thời điểm hiện tại (giờ là tháng 6/2013 - muốn biết tại sao thì tự tìm hiểu) python 3.5+ (giờ là tháng 2/2017) Chuẩn bị: 1. biết bật tắt máy 2. biết cài python 3. tập gõ 10 ngón - gõ 2 ngón hay 1 ngón cũng không sao, nhưng 10 ngón là cách dễ nhất để gõ nhanh nhất. Tài liệu - Nên dùng tài liệu tại trang chủ của Python làm chính, tham khảo thêm các tài liệu khác tại http://www.familug.org/2016/12/free-ebook.html Căn bản, mới học 1.1 Python PyMI.vn https://pymi.vn/tutorial/ 1.2. Python offical tutorial kết hợp làm bài tập trên HackerRank  (đề bài bằng tiếng Anh, nhưng Google translate 1 lúc cũng ra vì có nhiều ví dụ mẫu đi kèm). Học viên của Pymi.vn có rất nhiều học viên đã tự học với Learn Python the hard way nhưng chưa thấy ai thành công cả. Hai link dưới nên đọc sau khi đã nắm được những phần cơ bản của ngôn ngữ pytho...

The PyMiers

New FAMILUG