/ etc / X11 / Xsession & LightDM


8

ฉันใช้ Lubuntu 14.10 ดูเหมือนว่า LighDM จะเรียกใช้/etc/X11/Xsessionก็ต่อเมื่อผู้ใช้ส่งไปเท่านั้น ในความเป็นจริงไม่มีเงาของมันในlightdm-sessionเสื้อคลุม

  • startxบรรทัดคำสั่ง (ห่อหุ้มรอบ xinit สำหรับค่าเริ่มต้นที่เหมาะสม) ใช้ถ้ามีอยู่แล้วการใช้ประโยชน์อย่างอื่น~/.xinitrc/etc/X11/xinit/xinitrc
  • /etc/X11/xinit/xinitrcแหล่งที่เปลี่ยนเส้นทางออกไป/etc/X11/Xsession.xsession-errors
  • /etc/X11/Xsessionแหล่งที่มา~/.xsessionrcหากมีอยู่แล้วดำเนินการ~/.xsessionถ้าปฏิบัติแหล่งที่มาถ้าไม่

จะเกิดอะไรขึ้นเมื่อใช้ lightdm หากไม่มีแหล่งที่มา/etc/X11/Xsessionมันจะเปลี่ยนเส้นทางข้อผิดพลาดไปยังไฟล์ข้อผิดพลาดได้อย่างไร~/.xsession-errors(ฉันไม่พบข้อมูลเกี่ยวกับสคริปต์อื่น ๆ ใน/etc/X11/Xsession.d/)

หน้าคนสำหรับเอกสาร Xsession และ~/.xsessionrc ~/.xsessionมันบอกว่า~/.xsessionrcเป็นเพียงการตั้งค่าตัวแปรและ~/.xsessionสำหรับการดำเนินการคำสั่ง แต่~/.xsessionได้รับมาเฉพาะเมื่อฉันสร้าง*.desktopไฟล์ที่กำหนดเองใน/usr/share/xsessions/มัน ฉันควรสร้าง/etc/X11/Xsession.d/ไฟล์ที่กำหนดเอง(เช่น40x11-common_xsessionrcทำงานเพื่อ~/.xsessionrc) หรือเพียงแค่ใช้~/.xsessionrcเพื่อเพิ่มสคริปต์ใด ๆ ?

นอกจากนี้ฉันต้องการทราบว่า x-window-manager และ x-session-manager ทำงานผ่านทางเลือกได้อย่างไร ฉันสังเกตเห็นว่าพวกเขาดูเหมือนจะทำงานถ้าไม่มี~/.xinitrcและ~/.xsessionมีอยู่และเห็นได้ชัดว่าพวกเขาทำงานเฉพาะเมื่อใช้ startx

ขอบคุณล่วงหน้าสำหรับคำตอบใด ๆ


โดยวิธีการที่ฉันมีคำถามอื่น คนของ Ubuntu แนะนำให้สร้างไฟล์ * .desktop แบบกำหนดเองใน / usr / share / xsessions ด้วยบรรทัด Exec = / etc / X11 / Xsession เพื่อตั้งค่าการตั้งค่าแบบกำหนดเองใน ~ / .xsession นั่นหมายถึงการรัน wrapper อื่นหลังจาก / usr / sbin / lightdm-session ซึ่งในกรณีนี้จะเป็น / etc / X11 / Xsession ที่จะส่งผลให้ทุกอย่างภายใต้ /etc/X11/Xsession.d/ ถูกนำไปใช้สองครั้ง ดังนั้นจะเป็นการดีกว่าหรือที่จะสร้างสคริปต์ใน /etc/X11/Xsession.d/ ไปยังซอร์ส ~ / .xsession ความช่วยเหลือใด ๆ ชื่นชม
Giuseppe Di Chiacchio

เพื่อที่จะใช้ ~ / .xsession ผ่าน / usr / sbin / lightdm-session มันมีประโยชน์สำหรับฉันที่จะสร้างสคริปต์ใหม่ใน /etc/X11/Xsession.d ซึ่งฉันชื่อ 45x11-common_xsession เนื่องจากตัวแปรถูกนิยามไว้อย่างดีใน wrapper ฉันเพิ่งเพิ่มบรรทัดต่อไปนี้: if [-r "$ USERXSESSION"]; จากนั้น "$ USERXSESSION" fi ด้วยวิธีนี้ wrapper จะเป็นแหล่งไฟล์ ~ / .xsession ด้วยหลังจากที่มีแหล่งที่มา ~ / .xsessionrc หวังว่านี่อาจจะเป็นประโยชน์
Giuseppe Di Chiacchio

หากคุณสามารถตอบคำถามบางส่วนของคุณได้เพียงแค่สร้างคำตอบเองนั่นเป็นเรื่องปกติ ความคิดเห็นเป็นเพียงชั่วคราวอาจหายไปได้
Volker Siegel

คำตอบ:


0

จุดบกพร่องนี้

Bug # 1001035“ lightdm ใช้เส้นทาง hardcoded เพื่อ. xsession-errors, ... ”: บัก: แพ็คเกจ lightdm: Ubuntu

ระบุว่าLightDMมีเส้นทางสำหรับ$HOME/.xsession-errorsฮาร์ดโค้ดในแหล่งที่มา และที่มันควรจะเป็นที่กำหนด

น่าเศร้าที่ผู้จัดการฝ่ายแสดงผล "ทันสมัย" ดูเหมือนจะไม่สนใจ/etc/X11อีกต่อไปแล้วและคิดค้นล้อใหม่ ... ไม่ดี
อาจเป็นเพราะมันค่อนข้างยากที่จะค้นหาว่าทำไมสิ่งต่าง ๆ ถึงเป็นแบบนั้น (ฉันพยายามฉันยังไม่รู้ว่าทำไมมีไฟล์ / สคริปต์จำนวนมากและจุดประสงค์ทั้งหมดของพวกเขาคืออะไร)

เช่น SDDM ไม่ได้ใช้งาน.xsession-errorsเลยและบันทึกไปยังตำแหน่งแปลก ๆ ถ้าหากทั้งหมด


ภาคผนวก

คำถามที่สองควรแยกจากกันจริงๆ
เนื่องจากฉันยังไม่รู้ทั้งหมดเกี่ยวกับเรื่องนี้ฉันไม่สามารถช่วยได้
แต่ฉันคิดว่าฉันสามารถพูดได้ว่าคุณไม่ควรสร้างไฟล์เซสชันที่กำหนดเองอีก
บางทีเอกสาร LightDM ช่วยคุณได้ ...

เกี่ยวกับคำถามที่สาม: man page สำหรับxinitและman page ที่เกี่ยวข้อง (จากแพ็คเกจซอฟต์แวร์เดียวกัน) อธิบายสิ่งนี้ มีรายการของทางเลือกบาง$HOMEอย่างใน/etcบางคนบางคนแม้ใน/usr/share/…ไดเรกทอรีย่อย แต่ฉันคิดว่าถ้าไม่มีก็จะถือว่ามีค่าเริ่มต้นบางอย่าง
ขออภัยนี่อาจจะแยกจากกันด้วย ฉันโพสต์สิ่งที่ฉันรู้เท่านั้น

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