Làm thế nào để bắt đầu tmux với một vài tấm mở cùng một lúc?


23

Giả sử tôi bắt đầu tmuxvà ngay lập tức thực hiện Ctrl+ b+ %Ctrl+ b+ ".

Điều này cho tôi một khung cao ở phía bên trái của màn hình; phía bên phải của màn hình có một khung trên cùng và dưới cùng.

Làm thế nào tôi có thể cấu hình tmux để bắt đầu trong cấu hình này mà không phải gõ các lệnh này?


Nếu yêu cầu của bạn là mở một vài thiết bị đầu cuối cùng một lúc chỉ bằng một cú nhấp chuột, bạn có thể thực hiện với terminator . Cài đặt nó từ trung tâm phần mềm.
SAGAR Nair

Cảm ơn, đó là một mệnh lệnh tốt để biết! Đối với trường hợp cụ thể của tôi, đây là phiên ssh cho máy tính từ xa.
Đánh dấu Harrison

Câu trả lời:



15

Bạn có thể sử dụng tập lệnh shell sau cho cấu hình của mình:

#!/bin/sh 
tmux new-session -s "mySession" -d
tmux split-window -h
tmux split-window -v
tmux -2 attach-session -d 

Điều này sẽ đưa ra cấu hình cần thiết của màn hình với các lệnh sau như bạn đã đề cập. tmux -> Ctrl+ b+ %-> Ctrl+ b+"

Để tham khảo xin vui lòng sử dụng trang người đàn ông tmux .


4

Có thể dễ dàng kích hoạt và vô hiệu hóa tmuxcác phiên tự động khi đăng nhập bằng cách sử dụng ứng dụng Byobu . Bạn có thể sử dụng Byobu như một giao diện để tmuxgiải quyết nhu cầu này, thật đơn giản để làm những gì bạn đang yêu cầu. Trong một thiết bị đầu cuối, chạy các lệnh sau:

sudo apt-get install byobu
sudo byobu-enable
sudo -i

Khi người dùng root đăng nhập thông qua bảng điều khiển, SSH hoặc bằng sudo -i, Byobu sẽ đính kèm vào một tmuxphiên hiện có hoặc tạo một phiên bản mới nếu một phiên bản chưa chạy. Sử dụng sudo -ithay vì sudo -s. Các -slựa chọn duy nhất bắt đầu một vỏ, không phải là một vỏ đăng nhập. Bạn nên sử dụng sudo -iđể giả lập một thông tin đăng nhập đầy đủ, cũng tải roots ~/.profilevà đây là nơi byobu sẽ tự cài đặt khi bạn chạy

byobu-enable.

Bạn có thể định cấu hình các phiên khác nhau từ .tmux.confbên dưới như sau:

# initialize sessions
bind S source-file ~/.tmux/session1 
bind s source-file ~/.tmux/session2

Và sau đó bạn có thể định dạng các phiên theo yêu cầu:

#session1
new  -s SessionName -n WindowName Command
neww -n foo/bar foo
splitw -v -p 50 -t 0 bar
selectw -t 1 
selectp -t 0

Điều này sẽ mở 2 cửa sổ, cửa sổ thứ hai sẽ được đặt tên là foo / bar và sẽ được chia theo chiều dọc một nửa (50%) với foo chạy phía trên thanh. Tiêu điểm sẽ ở cửa sổ 2 (foo / bar), khung trên cùng (foo).

Byobu làm cho việc thiết lập và bắt đầu tmux tự động rất đơn giản.


1
Tại sao bind S vs bind s? (đầu tiên là S lớn, sau đó là s nhỏ?)
knb

2

Các tmux-hồi sinh plugin sẽ cho phép thiết lập phiên kiên trì cũng như cung cấp chức năng bổ sung để lưu và khôi phục lại các thiết lập trên tmux phiên.

Nhiều tính năng bổ sung có sẵn. Từ trang web plugin:

" Plugin này có thời lượng rất lớn để lưu và khôi phục tất cả các chi tiết từ môi trường tmux của bạn. Đây là những gì đã được quan tâm:

  • tất cả các phiên, cửa sổ, panes và thứ tự của họ
  • thư mục làm việc hiện tại cho mỗi khung
  • bố trí khung chính xác trong các cửa sổ (ngay cả khi thu phóng)
  • phiên hoạt động và thay thế
  • cửa sổ hoạt động và thay thế cho mỗi phiên
  • cửa sổ với khung hoạt động tập trung cho mỗi cửa sổ
  • "Các phiên được nhóm" (tính năng hữu ích khi sử dụng tmux với nhiều màn hình) các chương trình đang chạy trong một khung! "

Cài đặt:

  1. Trong thiết bị đầu cuối, điều hướng đến thư mục plugin tmux của bạn (trong trường hợp của tôi, ~/dotfiles/tmux/plugins).
  2. Nhân bản kho lưu trữ với lệnh : git clone https://github.com/tmux-plugins/tmux-resurrect.

  3. Chỉnh sửa .tmux.conftập tin của bạn và thêm dòng set -g @plugin 'tmux-plugins/tmux-resurrect'.

  4. Tải lại môi trường tmux bằng lệnh : tmux source-file ~/dotfiles/tmux/tmux.conf.
  5. Nhập bố cục mà bạn muốn. Trong trường hợp này Ctrl- b %Ctrl- b ".
  6. Lưu phiên tmux của bạn bằng cách nhập lệnh Ctrl- b+ Ctrl- s.
  7. Khi bạn tiếp theo bắt đầu phiên tmux của mình, hãy nhập lệnh Ctrl- b+ Ctrl- rđể khôi phục phiên tmux của bạn.

Như đã đề cập trước đây, ngoài việc thiết lập bố cục khung của phiên tmux, plugin này cũng có thể thiết lập các thư mục làm việc liên tục cũng như các ứng dụng đang chạy của bạn khởi động lại với mỗi phiên.


2

Tôi đã viết cho mình một kịch bản bash nhỏ :

# filename tmuxv in /home/<username>/Bash/tmuxv/

#!/bin/bash
tmux new-session \; split-window -v \; rename-window ${1} \; attach

và đặt bí danh trong ~ / .bash_aliases của tôi

alias tmuxv="/home/<username>/Bash/tmuxv/tmuxv"

Vì vậy, bây giờ tôi có thể chỉ cần gõ tmuxv PYTHONvà tôi có một phiên tmux phân chia theo chiều dọc với một cửa sổ có tên PYTHON, thật tuyệt vì tên cửa sổ được phản ánh trong tên tab gnome-terminal của tôi.


1
Câu trả lời tốt, nhưng xin vui lòng loại bỏ câu hỏi ở cuối. Hãy thử hỏi nó như một câu hỏi mới, điều này sẽ đảm bảo nhiều người nhìn thấy nó hơn.
Tom Brossman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.