Ekranı terminal ihtiyaçları için günlük olarak kullanıyorum ve bundan oldukça memnunum. Ancak, son zamanlarda benim bash yapılandırma dosyaları bazı güncellemeler yaptı ve ben çeşitli batıyordu fark PATH(elementleri PATH, MANPATH, INFOPATH2 yerlerde, vs). Dosyaları olması gerektiği gibi değiştirdim ve şimdi tüm ortam değişkenlerim bir kez ayarlandı .bash_profile. Burada benim sorunum yatıyor.
Görünüşe göre, onları iki yere koymamın nedeni ekran yüzünden oldu. ekranı yalnızca yürütülüyor .bashrcgibi görünüyor ve benim veya diğer ortam değişkenlerini orijinal bash kabuğumdan doğru bir şekilde miras almıyor gibi görünüyor PATH. Sadece yürüttüğü .bashrcve şimdi değişkenlerimi .bash_profileyalnızca ayarladığım için, eksikim var PATH.
O zaman sorum, ortam değişkenlerimi çoğaltma olmadan ekrana nasıl getireceğidir. BashDokümanlar üzerinden okumak , ekranın oturum açmak için kullandığı kabuk türünün, yani giriş yapmayan etkileşimli bir kabuk olabileceğini gösteriyor gibi görünüyor, ancak ekranı belirli bir kabuk türünü kullanmaya nasıl zorlayacağımı anlayamadım, sadece kabuk kullanmak için -s /bin/bash.
Yapılandırma dosyalarımı GitHub sayfamda inceleyebilirsiniz . Bu ekran kırılan taahhüt taahhüdüdür .
EDIT: kullanıyorum Screen version 4.00.03 (FAU) 23-Oct-06ve ben tarafından çağırmak eğilimindedirscreen -h 50000
DÜZENLEME: Şimdi bunu Cygwin ( CYGWIN_NT-5.1 1.7.1(0.218/5/3) i686, Screen version 4.00.03 (FAU) 23-Oct-06) üzerinde test edebildim ve Mac'imden farklı bir davranış sergiliyor.
Şimdi keşfettiğim özel davranış, PATHCygwin'de .bash_profile içinde yaptığım değişikliklerin ekrana girdikten sonra çoğaltılması ve ardından ekran pencerelerinin art arda oluşturulması yolun çoğaltılmaması, ancak .bash_profile'ın yeniden kaynaklanmasıdır.
Bahsettiğim davranışı göstermek için:
Yeni bir terminalden çıkış:
...
PATH: /home/tvishe01/bin/emacs/bin:/home/tvishe01/bin:/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program Files/ATI Technologies/ATI.ACE/Core-Static:/groovy-1.6.1/bin:/usr/lib/lapack
MANPATH: /home/tvishe01/share/man:/usr/local/man:/usr/share/man:/usr/man::/usr/ssl/man
Aliases:
alias ..='cd ..'
alias ...='cd ../..'
...
[~]$
Ekranın ilk çağrılmasından çıktı:
[~]$ screen -h 50000 -s -/bin/bash
...
PATH: /home/tvishe01/bin/emacs/bin:/home/tvishe01/bin:/usr/local/bin:/usr/bin:/bin:/home/tvishe01/bin/emacs/bin:/home/tvishe01/bin:/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program Files/ATI Technologies/ATI.ACE/Core-Static:/groovy-1.6.1/bin:/usr/lib/lapack
MANPATH: /home/tvishe01/share/man:/usr/local/man:/usr/share/man:/usr/man:/home/tvishe01/share/man:/usr/local/man:/usr/share/man:/usr/man::/usr/ssl/man:/usr/ssl/man
Aliases:
alias ..='cd ..'
alias ...='cd ../..'
...
[~]$
Sonraki çağrılar C-a c:
...
PATH: /home/tvishe01/bin/emacs/bin:/home/tvishe01/bin:/usr/local/bin:/usr/bin:/bin:/home/tvishe01/bin/emacs/bin:/home/tvishe01/bin:/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program Files/ATI Technologies/ATI.ACE/Core-Static:/groovy-1.6.1/bin:/usr/lib/lapack
MANPATH: /home/tvishe01/share/man:/usr/local/man:/usr/share/man:/usr/man:/home/tvishe01/share/man:/usr/local/man:/usr/share/man:/usr/man::/usr/ssl/man:/usr/ssl/man
Aliases:
alias ..='cd ..'
alias ...='cd ../..'
...
[~]$
Görebilirsin