วิธีง่ายๆคือการคิดค้นเครื่องย้อนเวลาเยี่ยมชมบุคคลต่าง ๆ ที่คิดค้นแฟ้มเริ่มต้นของเชลล์และบอกให้แยกความแตกต่างระหว่างสามสิ่ง:
- การตั้งค่าเซสชันเช่นตัวแปรสภาพแวดล้อม
- การเปิดใช้งานเซสชั่นเช่นเริ่มต้นเชลล์บรรทัดคำสั่งหรือจัดการหน้าต่างหรือทำงาน
startx;
- การกำหนดค่าเริ่มต้นของเชลล์เช่นนามแฝงพรอมต์การเชื่อมโยงคีย์
มันไม่ยากเกินไปที่จะได้รับเมื่อเทียบกับเซสชั่นที่เหมาะสมเปลือกในทางแบบพกพา: การเริ่มต้นการเข้าสู่ระบบจะเข้าสู่ช่วงเวลา.profile(หรือ.zprofileหรือ.login) เริ่มต้นเปลือกไปในหรือ.bashrc .zshrcผมเคยเขียนไว้ก่อนหน้านี้เกี่ยวกับ.bash_profile, zsh กับเปลือกหอยอื่น ๆ , เพิ่มเติมเกี่ยวกับการพกพา (ส่วนใหญ่เกี่ยวกับการทุบตี) , เพิ่มเติมเกี่ยวกับผู้อ่าน.profile
ปัญหาที่เหลือคือการแยกแยะระหว่างการตั้งค่าเซสชันและการเปิดใช้งานเซสชัน ในกรณีส่วนใหญ่~/.profileจะทำงานเมื่อคุณเข้าสู่ระบบและสามารถเป็นสองเท่าเป็นทั้งสอง แต่มีข้อยกเว้น:
- ถ้าเปลือกเข้าสู่ระบบของคุณ (t) csh หรือ zsh,
~/.loginและมีที่มาแทน~/.zprofile ~/.profileเช่นเดียวกันสำหรับทุบตีและ~/.bash_profileแต่นี้จะแก้ไขได้อย่างง่ายดายโดยการจัดหาจาก~/.profile~/.bash_profile
- หากคุณเข้าสู่ระบบภายใต้ตัวจัดการการแสดงผล (xdm, gdm, kdm, …) การ
~/.profileอ่านของคุณขึ้นอยู่กับเวอร์ชันของโปรแกรมการกระจายของคุณ (Linux หรืออย่างอื่น) และประเภทเซสชันที่คุณเลือก
- หากคุณเชื่อใจในเครื่องมือจัดการการแสดงผลเพื่อเริ่มเซสชันสำหรับคุณคุณ
.profileต้องตั้งค่าตัวแปรสภาพแวดล้อม แต่ไม่เริ่มเซสชัน (เช่นผู้จัดการหน้าต่าง)
- ไฟล์คอนฟิกูเรชันดั้งเดิมสำหรับเซสชัน X คือ
~/.xsessionทำการตั้งค่าเซสชันและเปิดใช้เซสชัน . ~/.xsession; . ~/.xinitrcดังนั้นแฟ้มสามารถเป็นหลัก บางแหล่งกระจายก่อน~/.profile ~/.xsessionการแจกแจงแบบใหม่เป็นแหล่งที่มาเฉพาะ~/.xsessionเมื่อคุณเลือกเซสชัน "กำหนดเอง" จากเครื่องมือจัดการการแสดงผลและเซสชันดังกล่าวจะไม่สามารถใช้งานได้ตลอดเวลา
- ผู้จัดการเซสชันของคุณอาจมีวิธีการตั้งค่าตัวแปรสภาพแวดล้อมของตนเอง (นั่นเป็นส่วนเสริมของสภาพแวดล้อมเดสก์ท็อปของคุณซึ่งคุณเลือกผ่านไฟล์กำหนดค่าหรือโดยการเลือกประเภทเซสชันเมื่อทำการล็อกอินอย่าสับสนกับสคริปต์เริ่มต้นเซสชันที่จัดทำโดยผู้จัดการการแสดงผลซึ่งดำเนินการภายใต้ผู้ใช้ของคุณ เลือกตามระบบทั้งระบบใช่เป็นระเบียบ)
โดยสรุป~/.profileเป็นสถานที่ที่เหมาะสมสำหรับตัวแปรสภาพแวดล้อม หากยังไม่ได้อ่านลองหาจาก~/.xsession(และเริ่มโปรแกรม X ของคุณจากที่นั่น) หรือค้นหาวิธีการเฉพาะของระบบ (ซึ่งอาจขึ้นอยู่กับการแจกจ่ายของคุณตัวจัดการการแสดงผลถ้ามีประเภทเซสชันถ้าตัวจัดการการแสดงผลและสภาพแวดล้อมเดสก์ทอปหรือ ผู้จัดการเซสชั่น)
.profileไม่ได้โหลดเลยหรืออย่างอื่นเขียนทับตัวแปรโลแคลหรือไม่ (ลองตั้งค่าบางตัวแปรอื่น ๆ เช่นexport MACIEJ_PROFILE=yesเพื่อให้แน่ใจว่า.set -xใน.profileอาจจะเป็นวิธีที่ดีในการตรวจสอบสิ่งที่จะถูกดำเนินการในและหลังจากนั้น.profileถ้ามันอ่านที่ทุกคน.) มีจุดใดที่อยู่ในการจัดหาจาก.profile.zshrc