startx
รันxinit
ซึ่งเริ่มต้นเซิร์ฟเวอร์ X และเซสชันไคลเอ็นต์ เซสชั่นลูกค้าคือ~/.xinitrc
ถ้ามีและอื่น ๆ/etc/X11/xinit/xinitrc
(สถานที่อาจแตกต่างกันระหว่างการกระจาย) สิ่งที่สคริปต์นี้จะแตกต่างกันระหว่างการแจกแจง ใน Debian (รวมถึงสัญญาซื้อขายล่วงหน้าเช่น Raspbian) /etc/X11/xinit/xinitrc
วิ่งซึ่งจะเรียกใช้สคริปต์ใน/etc/X11/Xsession
/etc/X11/Xsession.d
สคริปต์ Debian มองหาเซสชั่นของผู้ใช้ในไฟล์อื่น ๆ ( ~/.xsession
, ~/.xsessionrc
, ~/.Xsession
) และหากไม่มีการตั้งค่าผู้ใช้บังคับวิ่งx-session-manager
(ลดลงกลับไปx-window-manager
หากไม่มี [ผู้จัดการเซสชั่น] มีการติดตั้งลดลงกลับไปx-terminal-emulator
ในกรณีที่ไม่น่าที่ไม่มีผู้จัดการหน้าต่าง ติดตั้ง)
หากคุณต้องการที่จะควบคุมสิ่งที่ได้รับการดำเนินการที่คุณสามารถสร้างไฟล์ของผู้ใช้อย่างใดอย่างหนึ่งหรือ~/.xsession
~/.xinitrc
ไฟล์~/.xsession
นี้ยังใช้หากคุณเข้าสู่ระบบจัดการหน้าจอ (เช่นถ้าคุณพิมพ์รหัสผ่านในหน้าต่าง GUI) ไฟล์ที่~/.xinitrc
มีเฉพาะและxinit
startx
การใช้งาน~/.xsession
ผ่านการ/etc/X11/Xsession
ตั้งค่าต่าง ๆ เช่นวิธีการป้อนข้อมูลทรัพยากรตัวแทนรหัสผ่าน ฯลฯ หากคุณใช้.xinitrc
คุณจะต้องทำสิ่งเหล่านี้ด้วยตนเอง อีกครั้งฉันอธิบาย Debian ที่นี่ตัวแปร Unix อื่น ๆ อาจตั้งค่าสิ่งที่แตกต่าง การใช้~/.xinitrc
เพื่อระบุสิ่งที่ได้รับการดำเนินการเมื่อคุณเรียกใช้startx
หรือxinit
เป็นสากล
ไม่ว่าคุณจะใช้~/.xinitrc
หรือ~/.xsession
ไฟล์นี้ (มักจะเป็นเชลล์สคริปต์ แต่ไม่จำเป็นต้องใช้ถ้าคุณต้องการใช้อย่างอื่น) ต้องเตรียมสิ่งที่จำเป็นต้องเตรียม (เช่นการตั้งค่าแป้นพิมพ์ทรัพยากรแอปเพล็ตที่ยังไม่เริ่ม โดยตัวจัดการหน้าต่าง ฯลฯ ) จากนั้นในตอนท้ายให้เรียกใช้โปรแกรมที่จัดการเซสชัน เมื่อสคริปต์สิ้นสุดเซสชันจะสิ้นสุดลง โดยทั่วไปแล้วคุณจะใช้exec
ที่ส่วนท้ายของสคริปต์เพื่อแทนที่สคริปต์ด้วยตัวจัดการเซสชันหรือตัวจัดการหน้าต่าง
ระบบของคุณน่าจะ/usr/bin/startlxde
เป็นผู้จัดการเซสชันเริ่มต้นทั่วทั้งระบบ บนเดเบียนและตราสารอนุพันธ์คุณสามารถตรวจสอบผู้จัดการเซสชันที่มีอยู่ได้
update-alternatives --list x-session-manager
หรือรับรายละเอียด verbose เพิ่มเติมระบุว่าเป็นปัจจุบันด้วย
update-alternatives --display x-session-manager
หาก LXDE ไม่ใช่ค่าเริ่มต้นทั้งระบบและคุณต้องการให้เป็นค่าเริ่มต้นสำหรับบัญชีของคุณคุณสามารถใช้~/.xsession
ไฟล์ต่อไปนี้:
#!/bin/sh
exec startlxde
ในบางพันธุ์ Unix ที่จะทำงานเฉพาะสำหรับการเข้าสู่ระบบกราฟิกไม่ได้สำหรับดังนั้นคุณจะต้องสร้างเหมือนกันstartx
~/.xinitrc
(หรือไม่เหมือนกัน: ใน~/.xsession
คุณอาจต้องการทำสิ่งอื่น ๆ เนื่องจากเป็นไฟล์แรกที่ถูกเรียกใช้ในเซสชันกราฟิกเช่นคุณอาจวางไว้. ~/.profile
ใกล้ด้านบนเพื่อตั้งค่าตัวแปรสภาพแวดล้อมบางอย่าง)
หากคุณต้องการลองใช้สภาพแวดล้อมอื่น ๆ แบบครั้งเดียวคุณสามารถระบุโปรแกรมอื่นให้ทำงานบนบรรทัดคำสั่งของstartx
ตัวเอง startx
โปรแกรมมีมุมแหลม: คุณจำเป็นต้องใช้เส้นทางแบบเต็มในการเขียนโปรแกรม
startx /usr/bin/startkde
startx
คำสั่งนอกจากนี้ยังช่วยให้คุณระบุข้อโต้แย้งที่จะผ่านไปยังเซิร์ฟเวอร์ ตัวอย่างเช่นหากคุณต้องการเรียกใช้เซสชัน GUI หลายรายการพร้อมกันคุณสามารถส่งหมายเลขการแสดงผลที่แตกต่างกันในแต่ละครั้ง ผ่านข้อโต้แย้งเซิร์ฟเวอร์หลังจากในบรรทัดคำสั่งของ--
startx
startx /usr/bin/startkde -- :1
startx
เริ่มต้นเซสชัน Xfce4 เริ่มต้น จากการเข้าสู่ระบบผู้ใช้ของภรรยาของฉันใน tty1 หรือ tty2startx
คำสั่งของเธอถูกตั้งค่าให้เรียกใช้ Cinnamon (ระบุใน~/.xsession
) สำหรับเซิร์ฟเวอร์ X ที่สองฉันไม่ต้องระบุ$DISPLAY
ดังที่ระบุไว้ในส่วนสุดท้ายของคำตอบของคุณ แม้ว่ามันจะใช้งานได้อย่างแน่นอน มันทำให้$DISPLAY
การตั้งค่าที่สองเป็นไปโดยอัตโนมัติ ไม่มีการเข้าสู่ระบบและออกจากเซสชันกราฟิกเพียงแป้นพิมพ์ลัดเพื่อสลับโปรไฟล์ผู้ใช้ ขอบคุณสำหรับคำตอบที่เป็นประโยชน์นี้!