คุณตั้งค่าสภาพแวดล้อมสำหรับ es อย่างไร


10

ฉันได้เล่นกับesในสองสามวันที่ผ่านมาและมัน (เช่น rc) มีการเล่นโวหาร / คุณลักษณะที่จะเรียกใช้สคริปต์เริ่มต้นเท่านั้น ( .esrc) เมื่อเข้าสู่ระบบ วิธีปกติในการเรียกใช้รหัสในแต่ละเซสชันแบบโต้ตอบคือการใส่รหัสนั้นลงใน%promptฟังก์ชัน

แน่นอนว่าไม่มี%promptฟังก์ชั่นหากes -lไม่เคยทำงาน

ดังนั้นคำถาม: คุณจะตั้งค่าสภาพแวดล้อมการเข้าสู่ระบบอย่างไรเมื่อคุณเข้ามาผ่านทาง gdm หรือคล้ายกันซึ่งแหล่งที่มาเฉพาะ. profile (หรือ. xprofile, .xsession ฯลฯ ) สิ่งที่ดีที่สุดที่ฉันคิดไว้คือ:

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

ซึ่งดูเหมือน ... น่ากลัว มีวิธีใดที่ดีกว่านี้?


ฉันรวบรวมนั่นesไม่ใช่เปลือกเข้าสู่ระบบของคุณ สิ่งที่เกี่ยวกับการตั้งค่าalias es='es -l'ใน.bashrc?
cjm

esเป็นเปลือกเข้าสู่ระบบของฉัน ขออภัยถ้าฉันไม่ได้ทำให้ชัดเจน แต่ล็อกอินเชลล์ไม่ได้ทำงานในเซสชัน X ก่อนที่จะเปิดตัวเทอร์มินัลอย่างน้อยที่สุดเท่าที่ฉันรู้
james.haggerty

ฉันจะใช้ไม่ได้bash esแต่เมื่อฉันเปิดหน้าต่างเทอร์มินัลใหม่มันจะทำงานbashเป็นเชลล์ล็อกอิน
cjm

อย่างน้อยที่สุดด้วยเทอร์มินัล X ส่วนใหญ่นี่คือตัวเลือกที่ถูกปิดใช้งานโดยค่าเริ่มต้น (อย่างที่ควรจะเป็น IMO) ใช่มันเป็นวิธีแก้ปัญหา แต่ไม่มีเหตุผลที่สิ่งนี้ควรจะทำงานหลายครั้งเมื่อมันสามารถทำงานได้ครั้งเดียว
james.haggerty

อืมไม่แน่ใจว่าฉันเห็นด้วยกับการแก้ไขของคุณกิลส์ ทำไมคุณคิดว่าสิ่งนี้ใช้ได้กับ es เท่านั้น? (และไม่ใช่ * csh หรือ rc หรือ ... ?) และทำไมจึงลบ gdm และ lightdm เนื่องจากเป็นตัวควบคุมสภาพแวดล้อม
james.haggerty

คำตอบ:


1

เนื่องจากไม่มีใครมีคำตอบจริงนี่คือแฮ็คที่น่ากลัวของฉัน เชลล์บางตัว (ตัวอย่างเช่น * rxvt) มีการตั้งค่าที่อนุญาตให้บังคับเชลล์การเข้าสู่ระบบ ดังนั้นในของ.Xdefaultsคุณคุณสามารถเพิ่มสิ่งที่คล้ายกับ

urxvt256c-ml:loginShell: true

ซึ่งหมายความว่าurxvt256c-mlเทอร์มินัลทั้งหมดที่คุณเปิดใช้จะมีเชลล์ล็อกอินเป็นค่าเริ่มต้น

มันช่วยได้บ้างไหม?


เป็นคนที่น่ารำคาญ (ดูความคิดเห็นข้างบน?) ฉันจะบอกว่าฉันรู้เรื่องนี้แล้ว เป็นการโยนขึ้นไม่ว่าจะเป็นรหัสนี้หรือตัวรบกวนเล็กน้อยของฉันเป็นตัวเลือกที่ดีกว่า หนึ่งขาดความสง่างามทางแนวคิด (ฉันอ้างว่าฉันเข้าสู่ระบบสำหรับทุกเทอร์มินัลเมื่อฉันสร้าง 100s ผ่านการเข้าสู่ระบบจริงเดียว?) อื่น ๆ ขาดความสง่างามในการใช้งาน (แต่ฉันรู้สึกว่าควรตั้งค่าสภาพแวดล้อมบนล็อกอิน)
james.haggerty

อาฉันเห็นสิ่งที่คุณหมายถึงตอนนี้ โดยส่วนตัวฉันคิดว่าเทอร์มินัลเป็นหน่วยการเข้าสู่ระบบไม่ใช่สภาพแวดล้อม X11 ดังนั้นฉันจึงควรเข้าสู่ระบบสามครั้งหากเปิดเทอร์มินัลสามเครื่อง ฉันจะทิ้งคำตอบไว้ที่นี่ในกรณีที่มันมีประโยชน์สำหรับคนอื่น - มาดูกันว่าโหวตลงกี่ครั้งน่าดึงดูด ^ _ ~
Sardathrion - ต่อต้านการล่วงละเมิดทาง SE
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.