แทนที่ Desktop โดยแอปพลิเคชัน
กำหนดเซสชันที่ผู้ใช้กำหนด
ก่อนอื่นเราจะต้องกำหนดเซสชันที่ผู้ใช้กำหนดซึ่งจัดการกรณีพิเศษเมื่อไม่ควรโหลดเดสก์ท็อป เราจะกำหนดเซสชันนี้โดยการสร้างไฟล์ custom.desktop ใน / usr / share / xsessions / ด้วยเนื้อหาที่คล้ายกับสิ่งนี้:
[Desktop Entry]
Name=Custom
Comment=Custom Session to run ~./.xsession
Exec=/home/<username>/.xsession
X-Ubuntu-Gettext-Domain=<gnome-session-3.0>
นี้จะบอก GDM ให้เรียกใช้สคริปต์อยู่ในหน้าแรกของผู้ใช้.xsession
<username>
ตัวเลือกX-Ubuntu-Gettext-Domain
จำเป็นสำหรับการแปลภาษาที่ถูกต้องในกรณีที่เราโหลดเดสก์ท็อป Unity / GNOME ในภายหลัง (แทนที่ด้วยgdm
ใน 10.04)
สร้างสคริปต์เพื่อเริ่มต้น
สคริปต์ ~ / .xsession นี้อาจดูเรียบง่ายเหมือน:
#! /bin/bash
xterm
logout
โหลดเซสชันที่กำหนดเองในการเข้าสู่ระบบ
หากเรากำหนดให้โหลดเซสชั่น "กำหนดเอง" ในระหว่างการลงชื่อเข้าใช้ของผู้ใช้ที่หน้าจอ gdm เฉพาะ X-Terminal เท่านั้นที่จะเริ่มต้นและเราจะกลับมาที่ gdm เมื่อออก ครั้งต่อไปที่เราเข้าสู่ระบบในฐานะผู้ใช้การตั้งค่านี้จะถูกจดจำเป็นค่าเริ่มต้น
เรียกใช้แอปพลิเคชันที่ต้องการการจัดการ Windows
แน่นอนว่าเรายังไม่สามารถเรียกใช้แอปพลิเคชันที่ต้องใช้โปรแกรมจัดการ windows เช่น GNOME หากต้องการทำสิ่งนี้ให้แทนที่สคริปต์. xsession ด้วยบางสิ่งเช่น:
#! /bin/bash
gnome-wm &
firefox
logout
เราจะเห็นว่าตัวจัดการ windows GNOME ถูกโหลดขึ้นมาแล้ว แต่ไม่มีองค์ประกอบเดสก์ท็อปปรากฏขึ้น สิ่งนี้ทำให้แอปพลิเคชัน (เช่น firefox ที่นี่) เริ่มทำงาน
แต่ระวังสิ่งที่คุณทำ:ถ้าเราลดแอพพลิเคชั่นลงในถาดที่ไม่มีอยู่จริงเราจะจบลงด้วยภาพพื้นหลังที่สวยงาม ด้วยเหตุนี้จึงเป็นเรื่องสำคัญมากที่จะรวมlogout
ไว้ที่ท้ายสคริปต์เพื่อออกจากระบบหลังจากที่แอปพลิเคชันถูกยกเลิก ไม่มีโปรแกรมอื่นที่ทำงานให้คุณจนกว่าคุณจะเพิ่มเข้าไปในสคริปต์ของคุณ คุณจงใจแทนที่เดสก์ท็อปของคุณด้วย Firefox เท่านั้น (เป็นความคิดที่ไม่ดี)
แน่นอนว่าเราจะสามารถเริ่มต้นgnome-desktop
หรือgnome-session
(ตัวเลือกการตอบรับ) จากสคริปต์ได้ แต่นี่คือสิ่งที่เราทำไว้แล้วตามค่าเริ่มต้น