Bir bash terminalini başlattığımda .profile çalışmıyor


16

Bir bash terminalini başlattığımda, .profile'ım yürütülmüyor. Bir ~ / .bash_profile veya bir ~ / .bash_login yok, bu yüzden .profile çalıştırmak gerekiyor, değil mi? Başka ne yanlış olabilir?

Yanıtlar:


24

Bir giriş kabuğu değil.

Kabuk bir giriş kabuğuysa, varsa .bash_profile öğesini, ardından .profile öğesini arar. Diğer mermiler .bashrc'yi arar

Böylece, her kabuk örneğinde istediğiniz şeyleri .bashrc içine koyabilir ve muhtemelen .profile dosyasında .bashrc kaynağını içeren bir referansınız olabilir.

Yani: .bashrc:

stuff you want

.profile sonu:

[ -n "$BASH" ] && [ -f ~/.bashrc ] && . ~/.bashrc

KDE'de 'konsole' çalıştırdığımda, bu giriş yapmayan bir kabuk değil mi? Başka bir makinede kesinlikle .profile'a bir şey koydum ve böyle bir terminal açtığımda onları çalıştırdım - sanırım girişte vs bir terminal açtığınızda farklı bir şey olmasını istediğinizi anlamıyorum?
David Doria

@DavidDoria bağlıdır, ben konsole çalıştırmak için yapılandırmaları değiştirdim veya takma adlar yaptım, çalıştırmak için bash --login. Senin durumunda sadece bash çalıştırmak gibi görünüyor, hangi varsayılan olarak bir giriş kabuğu tetiklemeyecek
Rich Homolka

LightDM kullanıyorsanız bunun nedeni olabilir. Girişte GDM ve KDM kaynağı gibi diğer ekran yöneticileri .profile, ancak LightDM desteklemez (tasarım gereği). Bkz. Bugs.debian.org/cgi-bin/bugreport.cgi?bug=636108
jhenninger

KDM kullanıyorum.
David Doria

2
Gnome Terminali kullanıyorsanız, Düzenle-> Profil Tercihleri'ni yapabilir, Başlık ve Komut sekmesine gidebilir ve "Komutu giriş kabuğu olarak çalıştır" seçeneğini işaretleyebilirsiniz. Daha sonra, bir terminali her açtığınızda .bash_profile veya .profile kaynağınızı beklendiği gibi kaynaklayacaktır.
Lambart


1

Grafik bir masaüstü kullanıyorsanız, .profile kaynağının masaüstü yöneticiniz tarafından sağlanması gerekir. Lightdm yapar Ubuntu üzerinde en azından .profile şimdi kaynak. Bkz. Https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/794315

Kdm ve Kubuntu-12.04 ile .pfile dahil olmak üzere / etc / kde4 / kdm / Xsession dosyası kaynaklanır. Kubuntu-12.10 muhtemelen lightdm kullanacaktır. Ubuntu 12.04, lightdm kullanır, böylece / usr / sbin / lightdm-session kaynakları .profile olur.

Ben gitmek için yol ~ / .profile (1) set / export ortam ayarlarını ve (2) .bash_profile kaynaklı .profile sahip olduğunu düşünüyorum:

[[ -f ~/.profile ]] && . ~/.profile

(ve .profile veya .bash_profile tarafından kaynaklanmış .bashrc'ye sahip değildir).

Ayrıca bakınız:


1
Bu, .profilebash
girişte

Yeni bir terminal başlattığınızda (KDE içinden) .profile kaynağına sahip olmak istememelisiniz. .Profile'ın tüm amacı, girişte bir kez bir grafik terminalde veya bir metin terminalinde kaynak sağlamaktır; .profile, KDE'de oturum açtığınız anda kaynaklanmış olmalıdır.
Freddy Vulto

.profile kaynağının masaüstü yöneticiniz tarafından sağlanması gerekir. Bu, dosyanın amacının anlaşılmasına bağlıdır. Debian'da / etc / profile (ve uzantısı olarak ~ / .profile) bash benzeri mermiler içindir .
Alois Mahdal

Eğer girişte kaynaklanırsa tekrar kaynak yapmanıza gerek yoktur. "export PATH = ~ / .bin" gibi aptalca bir şey yapmadıkça veya üzerine yazılmasına neden olan bir şey yapmazsanız, bash bunu devralır.
RichieHH
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.