Có tải tmux theo mặc định khi thiết bị đầu cuối zsh được khởi chạy


23

Quy trình làm việc hiện tại của tôi là:

  1. CTRL+ SHIFT+ Tđể khởi chạy một cửa sổ terminal mới. Điều đó bắt đầu một thiết bị đầu cuối zsh mới.
  2. tmuxđể bắt đầu tmux.

Làm cách nào tôi có thể tải tmux theo mặc định với cửa sổ terminal mới?

Câu trả lời:


36

Có ít nhất hai cách:

  1. Viết một cái gì đó như

    if [ "$TMUX" = "" ]; then tmux; fi

    vào đầu ~/.zshrc. Lưu ý kiểm tra có điều kiện đến một vòng lặp có thể khi tmuxsinh ra chính nó zsh.

  2. Sửa đổi lệnh khởi chạy đầu cuối thành một cái gì đó như

    xterm -e tmux

Tôi thích cách thứ hai, bởi vì đôi khi tôi cần khởi chạy một thiết bị đầu cuối mà không có tmux(ví dụ khi tôi cần kết nối lại với một phiên hiện có).


2
Hoặc có các phím tắt khác nhau cho xterm -e tmuxvà đơn giản xterm.
Nikolai N Fetissov

Vâng, thực sự tôi có ý đó theo "Tôi thích cách thứ hai" =)
vội vàng

1
Thực hiện tmuxvào cuối .zshrcsẽ gây ra một vòng lặp vô tận của zsh bắt đầu từ tmux bắt đầu từ zsh bắt đầu ...
Thor

Làm thế nào một người sẽ đi về "sửa đổi lệnh khởi động thiết bị đầu cuối"?
eoinoc

@eoinoc nó phụ thuộc vào môi trường của bạn. Ví dụ: tôi đang sử dụng wm tuyệt vời, do đó tôi chỉ cần sửa đổi chuỗi trong tệp cấu hình của mình. Trong kde bạn cần chỉnh sửa các phím nóng. Và như vậy.
vội vàng

6

echo tmux >> ~/.zshrcTuy nhiên, hãy cẩn thận với giải pháp, tôi nhớ rằng chỉ cần ném bashmột .cshrctệp vào tệp đã gây rắc rối cho tôi qua SSH.

IIRC sự cố xảy ra với hệ vỏ không tương tác, vì vậy bạn nên kiểm tra xem có phải không.

case $- in *i*)
  if [ -z "$TMUX" ]; then exec tmux; fi;;
esac

Bạn đang thiếu một khoảng trống giữa "].
n.st

5

thêm nó vào của bạn .zshrc

if [ -z "$TMUX" ]
then
    tmux attach -t TMUX || tmux new -s TMUX
fi

sau đó tmux sẽ tự động kết nối với phiên có tên TMUX khi bạn khởi chạy thiết bị đầu cuối của mình.


1

Thực sự có một plugin mặc định tmuxcho oh_my_zsh.

Thêm nó vào danh sách bổ trợ của bạn sau đó đặt ZSH_TMUX_AUTOSTART=truetrong.zshrc

Để tham khảo thêm, hãy vào đây


0

Thêm "tmux" vào tệp .zshrc của bạn, tệp này sẽ được thực thi mỗi khi bạn khởi động zsh. Cách nhanh chóng:

echo tmux >> ~/.zshrc

Vấn đề với điều này là nó bắt đầu một phiên mới trong mọi trường hợp mới và nó làm hỏng tmux với các phiên mà bạn chưa bao giờ thoát (cũng tmux sẽ phàn nàn về nó). Không phải là một giải pháp tốt.
Eksapsy

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.