Es için ortamı nasıl kurarsınız?


10

Son birkaç gündür es ile oynuyorum ve (rc gibi) girişte sadece başlangıç ​​komut dosyasını ( .esrc) çalıştıran tuhaflık / özelliğe sahip . Her etkileşimli oturumda kod çalıştırmanın genel yolu, bu kodu %promptişleve koymaktır .

Elbette , hiç çalıştırılmadıysa hiçbir %promptişlevi yoktur es -l.

Öyleyse, soru: gdm veya benzeri bir yöntemle giriş yaptığınızda giriş ortamını nasıl ayarlıyorsunuz, yalnızca .profile (veya .xprofile, .xsession vb.) Geldiğim en iyi şey:

if [ -f "$HOME/.esrc" ]; then
    eval "`es -l <<-x
        sh <<<'export -p'
    x`"
fi

Bu ... korkutucu geliyor. Daha iyi yaklaşımlar var mı?


Bu essizin giriş kabuğunuz değil. Ne ayarı hakkında alias es='es -l'yılında .bashrc?
cjm

esbenim giriş kabuğum. Bunu netleştirmediysem özür dilerim. Ancak giriş kabukları, en azından bildiğim kadarıyla terminaller başlatılmadan önce X oturumlarında çalıştırılmıyor.
james.haggerty

Ben kullanıyorum bash, değil es. Ama yeni bir terminal penceresi açtığımda, bashbir giriş kabuğu olarak çalışıyor .
cjm

En azından çoğu X terminalinde, bu varsayılan olarak devre dışı bırakılmış bir seçenektir (olması gerektiği gibi, IMO). Yani evet, bu bir çözüm, ancak bu şeylerin bir kez çalıştırılabileceği zaman birçok kez çalıştırılmasının bir nedeni yoktur.
james.haggerty

Hmm, düzenlemenize katıldığımdan emin değilim Gilles. Neden sadece es için geçerli olduğunu düşünüyorsunuz? (ve * csh ya da rc ya da ...? değil) Ve neden gdm ve lightdm'yi kaldırın, çünkü çevreyi kontrol edenler bunlar?
james.haggerty

Yanıtlar:


1

Kimsenin gerçek bir cevabı olmadığından, işte benim korkunç hack'im. Bazı kabuklarda (örneğin * rxvt) bir oturum açma kabuğunun zorlanmasına izin veren ayarlar bulunur. Böylece, .Xdefaultskendinize benzer bir şey ekleyebilirsiniz.

urxvt256c-ml:loginShell: true

Bu, urxvt256c-mlbaşlattığınız tüm terminalin varsayılan olarak bir giriş kabuğuna sahip olacağı anlamına gelir .

Bu hiç yardımcı oluyor mu?


Sinir bozucu biri olarak (yukarıdaki yorumlara bakın?), Bunu zaten bildiğimi söyleyeceğim. Bu ya da biraz rahatsız edici kodumun daha iyi bir seçenek olup olmadığı bir fırlatma; biri kavramsal zarafetten yoksun (her terminal için giriş yaptığımı iddia ediyorum, tek bir gerçek giriş üzerinden 100'ler oluşturduğumda?), diğeri uygulama zarafetinden yoksun (ama gerçekten ortamın girişte ayarlanması gerektiğini hissediyorum ).
james.haggerty

Ah, şimdi ne demek istediğini anlıyorum. Şahsen, bir terminalin X11 ortamında değil bir giriş birimi olduğunu düşünüyorum, bu yüzden üç terminalim açıksa üç kez giriş yapmam mantıklı. Başkaları için yararlı olması durumunda cevabı burada bırakacağım - bakalım kaç aşağı oy çekiyor. ^ _ ~
Sardathrion - SE kötüye karşı
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.