cảnh báogiờ đây có thể làm hỏng đăng nhập Ubuntu của bạn. Sử dụng hết sức thận trọng và đảm bảo rằng bạn có tài khoản quản trị thứ hai trên máy tính mà bạn có thể đăng nhập trong trường hợp bạn gặp vấn đề tương tự như vậy. Xem câu trả lời của tôi để biết thêm chi tiết và cách tiếp cận khác.
Giải pháp đơn giản nhất là nối thêm lời gọi tmux
vào cuối số .bashrc
của bạn, ví dụ:
alias g="grep"
alias ls="ls --color=auto"
# ...other stuff...
if [[ ! $TERM =~ screen ]]; then
exec tmux
fi
Lưu ý rằng exec
có nghĩa là quá trình bash mà bắt đầu khi bạn mở Terminal là thay bởi tmux
, vì vậy Ctrl-B D
(tức ngắt kết nối từ tmux) thực sự đóng cửa sổ, thay vì trở về bash gốc quá trình, đó có lẽ là hành vi bạn muốn?
Ngoài ra, cần có tuyên bố if
(phát hiện nếu cửa sổ bash hiện tại đang trong quá trình tmux), nếu không mỗi lần bạn bắt đầu tmux, quá trình bash chứa sẽ bắt đầu phiên tmux riêng, dẫn đến vô hạn số lượng tmuxen lồng nhau có thể được, err, khá khó chịu (nói rằng, có vẻ mát mẻ).
Tuy nhiên, có một nguy cơ rất nhỏ này có thể làm cho bash
cư xử theo một cách mà các chương trình khác không mong đợi, kể từ khi chạy bash có thể có thể gây ra nó để biến thành một quá trình tmux, vì vậy nó có thể là tốt hơn để sửa đổi cách bạn khởi động trình mô phỏng thiết bị đầu cuối của mình.
tôi sử dụng một kịch bản shell nhỏ thực thi ~/bin/terminal
(với ~/bin
trong $PATH
, vì vậy nó được tìm thấy tự động) trông hơi giống:
#!/bin/sh
exec gnome-terminal -e tmux
(Tôi không sử dụng gnome-terminal, vì vậy có lẽ bạn phải loại bỏ các exec
, tôi không chắc chắn.)
Bây giờ bất cứ khi nào bạn chạy các terminal
scipt bạn có một thiết bị đầu cuối với tmux. Bạn có thể thêm điều này vào các phím tắt menu/desktop/bàn phím để thay thế thiết bị đầu cuối mặc định.
(Phương pháp này cũng cho phép bạn dễ dàng hơn tùy chỉnh những thứ khác về mô phỏng thiết bị sau, nếu bạn đã từng mong muốn.)
'Ctrl-b c' sẽ tạo một cửa sổ mới. – kev
cảm ơn, ý tôi là nếu tôi không ở trong cửa sổ đầu cuối. –
Bạn sử dụng hệ điều hành nào? (Và giả lập thiết bị đầu cuối nào?) – huon