ความแตกต่างระหว่าง. Xiitrc, .xsession และ. xsessionrc


55

ฉันพบไฟล์กำหนดค่าสามไฟล์

  1. .xinitrc
  2. .xsession
  3. .xsessionrc

ฉันรู้ว่าตัวแรกใช้สำหรับการใช้งานstartxและตัวที่สองและสามใช้เมื่อใช้ตัวจัดการการแสดงผล แต่ความแตกต่างระหว่างสองครั้งสุดท้ายคืออะไร?

คำตอบ:


63

~/.xinitrcจะถูกดำเนินการโดยซึ่งมักจะถูกเรียกผ่านxinit startxโปรแกรมนี้จะดำเนินการหลังจากเข้าสู่ระบบ: แรกที่คุณเข้าสู่ระบบในคอนโซลข้อความแล้วคุณจะเริ่มต้น GUI startxด้วย บทบาทของ.xinitrcคือการเริ่มต้นส่วน GUI ของเซสชั่นโดยทั่วไปโดยการตั้งค่าบางอย่างที่เกี่ยวข้องกับ GUI เช่นการผูกกุญแจ (กับxmodmapหรือxkbcomp) ทรัพยากร X (กับxrdb) ฯลฯ และเพื่อเปิดตัวจัดการเซสชั่นหรือผู้จัดการหน้าต่าง ( อาจเป็นส่วนหนึ่งของสภาพแวดล้อมเดสก์ทอป)

~/.xsessionจะถูกดำเนินการเมื่อคุณเข้าสู่ระบบในโหมดกราฟิก (บนตัวจัดการการแสดงผล ) และตัวจัดการการแสดงผลจะเรียกใช้ประเภทเซสชัน "กำหนดเอง" (ด้วยตัวจัดการจอแสดงผลเชิงประวัติ xdm .xsessionจะถูกดำเนินการเสมอ แต่ด้วยตัวจัดการจอแสดงผลที่ทันสมัยที่ให้ผู้ใช้เลือกประเภทเซสชันคุณมักจะต้องเลือก“ กำหนดเอง” สำหรับ.xsessionการทำงาน) บทบาทของมันคือการตั้งค่าพารามิเตอร์เวลาเข้าสู่ระบบ (เช่นตัวแปรสภาพแวดล้อม) และเพื่อเริ่มเซสชัน GUI แบบทั่วไป.xsessionคือ

#!/bin/sh
. ~/.profile
. ~/.xinitrc

~/.xsessionrcถูกดำเนินการบน Debian (และอนุพันธ์เช่น Ubuntu, Linux Mint, ฯลฯ ) โดยสคริปต์เริ่มต้น X บนการเข้าสู่ระบบ GUI สำหรับทุกประเภทเซสชันและ (ฉันคิดว่า) จากผู้จัดการการแสดงผลทั้งหมด นอกจากนี้ยังดำเนินการจากstartxหากผู้ใช้ไม่มี.xinitrcเพราะในกรณีstartxนั้นกลับมาอยู่ในสคริปต์เริ่มต้นเซสชั่นเดียวกันที่ใช้สำหรับการเข้าสู่ระบบ GUI มันดำเนินการค่อนข้างเร็วหลังจากโหลดทรัพยากร แต่ก่อนที่จะเริ่มโปรแกรมใด ๆ เช่นคีย์เอเจนต์, D-Bus daemon เป็นต้นโดยทั่วไปจะตั้งค่าตัวแปรที่สามารถใช้งานได้โดยสคริปต์เริ่มต้นในภายหลัง ไม่มีเอกสารอย่างเป็นทางการที่ฉันรู้คุณต้องขุดลงไปในแหล่งที่มาเพื่อดูว่าอะไรทำงานได้

.xinitrcและ.xsessionเป็นคุณสมบัติทางประวัติศาสตร์ของระบบ X11 Window ดังนั้นจึงควรพร้อมใช้งานและมีพฤติกรรมที่คล้ายคลึงกันในระบบ Unix ทั้งหมด ในทางกลับกัน.xsessionrcคุณลักษณะของเดเบียนและดิสทริบิวชันที่ไม่ได้ขึ้นอยู่กับเดเบียนก็คือมันไม่มีเว้นแต่ว่าพวกเขาจะใช้สิ่งที่คล้ายกัน

.xprofileคล้ายกันมาก.xsessionrcแต่เป็นส่วนหนึ่งของสคริปต์เริ่มต้นเซสชันของ GDM (เครื่องมือจัดการดิสเพลย์ GNOME) ดังนั้นจึงอ่านได้เฉพาะเมื่อคุณลงชื่อเข้าใช้ด้วย GDM


5

ตามการสนทนาอีกครั้งstartx + ~ / .xsession และ no ~ / .xinitrc ส่งผลให้ฟังก์ชันการทำงานลดลง (xfce4, sid)

ประการแรก: .xsessionrcสำหรับเก็บตัวแปรสภาพแวดล้อมโลก ความสำคัญคือของฉัน

ประการที่สอง: 40x11-common_xsessionrcในมีที่มาก่อน/etc/X11/Xsession.d 50x11-common_determine-startupดังนั้น.xsessionrcจะอ่านก่อน .xsessionและตัวแปรสภาพแวดล้อมใด ๆ .xsessionตั้งจะกลายเป็นใช้ได้เพื่อการใช้งานที่ดำเนินการโดยคำสั่งใน

อ่านเพิ่มเติม:

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