2011-12-27 14 views
28

Ya da en azından bunun bir parçası, bu mantıklı.Mevcut ortamımla nasıl tmux başlatırım?

Özellikle, eldeki görev için uygun bir ortam oluşturmak için komut dosyası çalıştırarak dışa aktarılan bazı ortam değişkenleri var. Tmux'u çalıştırdığımda, bu değişkenler hiçbir yerde, ne küresel ne de oturum ortamında görülmez.

set-environment VAR $VAR 

ne beklenir yapmaz: Ben ancak benim .tmux.conf dosyasında belirli değişkenler belirtmek eğer Tabii ki

memnun olurum ... yine bu komut dosyasını çalıştırın ancak. peşin :)

Ah

sayesinde ben nedenini biliyorum.

İkinci bir tmux oturumunu başlatırken, başka bir terminale söyleyin, çevreyi ilkinden kopyalar. Birincisi hemen hemen çağıran kabuğun mevcut ortamını almakta ve buna biraz tmukluk katmaktadır.

Geçerli geçici çözümüm, ortamını değiştirmem gerektiğinde tmux oturumlarımı durdurmak ve başlatmaktır.

+0

Hatırlatıcı George için teşekkürler. – Phluks

+3

Elde etmek istediklerim için daha kolay bir yol var. '-L' (veya '-S') seçeneğini kullanarak. Bunlar, geçerli ortamla yeni bir sunucu başlatır. Ör. 'tmux -L newenv' Her tarama, aynı sokete sahip olan bu yuvadaki sunucuda yeni bir oturum oluşturur. (Kendi isminizi seçebilirsiniz) 'tmux -L newenv liste oturumları, İlgili sunucudaki oturumları listeler. ... Vb – Phluks

cevap

54

Sen yeni oturumlar oluştururken güncellenmesini istediğiniz değişkenleri içerecek şekilde tmux seans seçeneği update-environment yapılandırmaları gerekir. Varsayılan değer birkaç yaygın X11 ve SSH değişkenlerini içerir:

DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY 

(mevcut “küresel” (varsayılan) değerine eklenecek) onun -g ve -a bayraklarıyla set-optiontmux komutunu kullanın değişkenleri ekleyin. senin ~/.tmux.conf yılında:

set-option -ga update-environment ' YOUR_VAR' 

sizin değişken adı varsayılan değer sondaki adından ayrılır, böylece baştaki boşluğu eklemeyi unutmayın.

+0

Mükemmel cevap. Teşekkür ederim. – Phluks

+3

Harika yanıt. Bir not: ~/.tmux.conf dosyası, tmux sunucusu zaten çalışıyorsa okunmayacaktır, bu şekilde değişiklikler geçerli olmayacaktır. 'Tmux attach-session' sırasında okunmasını bekledim, ancak uygulanmadı. – Wade

+0

Bunu diriltediğim için özür dilerim ama man sayfası, "Yeni bir oturum oluşturulduğunda veya eski bir yeniden bağlandığında istemciden oturum ortamını güncellemek için güncelleme ortamı oturumu seçeneği kullanılabilir". Bu, _existing_ oturumlarına yeniden bağlandığında bunları güncellemeyi önerir, ancak görünmüyor. Herhangi bir fikir? – sjbx

İlgili konular