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.