. โปรไฟล์ไม่ทำงานเมื่อฉันเริ่มต้นเทอร์มินัล bash


15

เมื่อฉันเริ่มต้น bash เทอร์มินัล. โปรไฟล์ของฉันไม่ได้ถูกดำเนินการ ฉันไม่มี ~ / .bash_profile หรือ ~ / .bash_login ดังนั้น. profile ควรจะทำงานใช่ไหม มีอะไรผิดปกติอีกไหม?

คำตอบ:


23

ไม่ใช่เปลือกเข้าสู่ระบบ

หากเชลล์คือเชลล์สำหรับล็อกอินมันจะค้นหา. bash_profile หากมีอยู่แล้วจะเป็น. profile เชลล์อื่น ๆ มองหา. bashrc

ดังนั้นคุณสามารถใส่สิ่งที่คุณต้องการในทุก ๆ เชลล์ใน. bashrc และอาจมีการอ้างอิงที่แหล่งที่มา. bashrc ใน. profile

ดังนั้น: .bashrc:

stuff you want

จุดสิ้นสุดของ. profile:

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

ดังนั้นเมื่อฉันเรียกใช้ 'konsole' ใน KDE นั่นคือเปลือกที่ไม่ใช่การเข้าสู่ระบบใช่ไหม ในอีกเครื่องฉันใส่ของไว้ในแฟ้มประวัติและทำให้พวกเขาทำงานเมื่อฉันเปิดเทอร์มินัลเช่นนี้ - ฉันเดาว่าฉันไม่เข้าใจว่าคุณต้องการให้มีอะไรที่แตกต่างเกิดขึ้นที่ล็อกอิน vs เมื่อคุณเปิดเทอร์มินัล
David Doria

@DavidDoria มันขึ้นอยู่กับว่าฉันได้เปลี่ยนการตั้งค่าหรือสร้างนามแฝงเป็นสิ่งที่ konsole ทำงานเพื่อให้มันทำงานbash --loginได้ ในกรณีของคุณดูเหมือนว่าเพิ่งรัน bash ซึ่งโดยค่าเริ่มต้นจะไม่ทำให้เชลล์ล็อกอิน
Rich Homolka

หากคุณใช้ LightDM นั่นอาจเป็นเหตุผล ผู้จัดการจอแสดงผลอื่น ๆ เช่น GDM และ KDM แหล่ง. โปรไฟล์ในการเข้าสู่ระบบ แต่ LightDM ไม่ได้ (โดยการออกแบบ) ดูbugs.debian.org/cgi-bin/bugreport.cgi?bug=636108
jhenninger

ฉันกำลังใช้ KDM
David Doria

2
หากคุณใช้ Gnome Terminal คุณสามารถแก้ไขการตั้งค่าโปรไฟล์ได้จากนั้นไปที่แท็บชื่อเรื่องและคำสั่งแล้วเลือก "เรียกใช้คำสั่งเป็นเปลือกเข้าสู่ระบบ" จากนั้นจะเป็นแหล่ง. bash_profile หรือ. profile ของคุณทุกครั้งที่คุณเปิดเทอร์มินัลตามที่คาดไว้
Lambart


1

หากคุณใช้เดสก์ท็อปกราฟิกผู้ใช้เดสก์ท็อปของคุณควรได้รับ. profile Lightdm ทำแหล่งข้อมูล. profile อย่างน้อยบน Ubuntu ดู: https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/794315

ด้วย kdm และ Kubuntu-12.04 ไฟล์ / etc / kde4 / kdm / Xsession จะได้รับแหล่งที่มาซึ่งจะรวมถึง. profile Kubuntu-12.10 อาจจะใช้ lightdm Ubuntu 12.04 ใช้ lightdm เพื่อให้ / usr / sbin / lightdm-session แหล่ง. profile

ฉันคิดว่าวิธีที่จะไปคือ (1) ตั้งค่า / ส่งออกการตั้งค่าสภาพแวดล้อมใน ~ / .profile และ (2) มี. profile ที่มาจาก. bash_profile:

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

(และไม่มี. bashrc ที่มาจาก. profile หรือ. bash_profile)

ดูสิ่งนี้ด้วย:


1
นี้จะอธิบายถึงวิธีการที่จะได้รับของคุณ.profileมาที่เข้าสู่ระบบ แต่เขาจริงสงสัยเกี่ยวกับวิธีการที่จะได้รับbashกับแหล่งที่มาเมื่อเขาเปิดตัวสถานี (ไม่ได้เข้าสู่ระบบ)
cpast

คุณไม่ต้องการที่จะหา. profile เมื่อคุณเปิดใช้งานเทอร์มินัลใหม่ (จากภายใน KDE) วัตถุประสงค์ทั้งหมดของ. profile คือการให้มันมาหนึ่งครั้งในการเข้าสู่ระบบไม่ว่าจะบนเทอร์มินัลกราฟิกหรือเทอร์มินัลข้อความ .profile ควรได้รับแหล่งที่มาเมื่อคุณเข้าสู่ KDE
Freddy Vulto

. โปรไฟล์ควรได้รับการจัดการโดยผู้จัดการเดสก์ท็อปของคุณ ขึ้นอยู่กับความเข้าใจในวัตถุประสงค์ของไฟล์ ใน Debian / etc / รายละเอียด (และ ~ / .profile เป็นส่วนขยายของมัน) จะหมายถึงการเป็นทุบตีเหมือนเปลือกหอย
Alois Mahdal

คุณไม่จำเป็นต้องแหล่งที่มาอีกครั้งถ้ามันมาจากการเข้าสู่ระบบ ทุบตีของคุณจะสืบทอดมันเว้นแต่ว่าคุณกำลังทำอะไรโง่ ๆ เช่น "export PATH = ~ / .bin" หรืออะไรก็ตามที่ทำให้มันถูกเขียนทับ
RichieHH
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.