2011-12-27 6 views
28

Hoặc ít nhất là một phần của nó, có ý nghĩa.Làm cách nào để bắt đầu tmux với môi trường hiện tại?

Cụ thể hơn, tôi có một số biến môi trường, đã được xuất bằng cách chạy tập lệnh, để tạo ra một môi trường thích hợp cho công việc trong tầm tay. Khi tôi chạy tmux, các biến này không có nơi nào được nhìn thấy, không phải trong môi trường toàn cầu hoặc phiên. Dĩ nhiên tôi có thể chạy kịch bản này một lần nữa nhưng ...

tôi sẽ hài lòng nếu tôi có thể xác định vars đặc biệt trong tập tin .tmux.conf của tôi tuy nhiên:

set-environment VAR $VAR 

Không làm những gì tôi mong đợi.

Cảm ơn trước :)

Ah, tôi nghĩ mình biết tại sao.

Khi bắt đầu phiên thứ hai của tmux, hãy nói trong một thiết bị đầu cuối khác, nó sao chép môi trường từ phiên bản đầu tiên. Việc đầu tiên khá nhiều mất môi trường hiện tại của vỏ gọi và thêm một số tmuxiness cho nó.

Cách giải quyết hiện tại của tôi chỉ dừng lại và bắt đầu các phiên tmux khi tôi cần thay đổi môi trường.

+0

Cảm ơn lời nhắc nhở George. – Phluks

+3

Có một cách dễ dàng hơn cho những gì tôi muốn đạt được. Sử dụng tùy chọn '-L' (hoặc '-S'). Những máy chủ này bắt đầu với môi trường hiện tại. Ví dụ 'tmux -L newenv' Mọi mã hóa tạo một phiên mới trong máy chủ trên socket đó, với cùng một môi trường. (Bạn có thể chọn tên riêng của khóa học) 'tmux -L danh sách newenv phiên, Liệt kê các phiên trên máy chủ cụ thể đó. ... Vv – Phluks

Trả lời

54

Bạn nên định cấu hình tùy chọn phiên tmuxupdate-environment để bao gồm các biến bạn muốn được cập nhật khi tạo phiên mới. Giá trị mặc định bao gồm một số chung X11 và SSH biến:

DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY 

Để thêm các biến của bạn, sử dụng lệnh set-optiontmux với -g-a nó cờ (phụ thêm vào (giá trị “toàn cầu” mặc định) hiện có). Trong ~/.tmux.conf của bạn:

set-option -ga update-environment ' YOUR_VAR' 

Hãy chắc chắn bao gồm không gian hàng đầu để tên biến của bạn được tách ra khỏi tên trailing vào giá trị mặc định.

+0

Câu trả lời hay. Cảm ơn bạn. – Phluks

+3

Phản hồi tuyệt vời. Một lưu ý: tệp ~/.tmux.conf sẽ không được đọc khi máy chủ tmux đang chạy, vì vậy các thay đổi như thế này sẽ không có hiệu lực. Tôi đã dự kiến ​​nó sẽ được đọc trong 'tmux đính kèm phiên', nhưng nó đã không được áp dụng. – Wade

+0

Xin lỗi để hồi sinh điều này nhưng trang người đàn ông nói "Tùy chọn phiên cập nhật môi trường có thể được sử dụng để cập nhật môi trường phiên từ máy khách khi một phiên mới được tạo hoặc một phiên bản cũ được gắn lại". Điều này cho thấy nó nên cập nhật chúng khi reattaching để _existing_ phiên nhưng nó không có vẻ. Bất kỳ ý tưởng? – sjbx