ฉันจะแทนที่เดสก์ทอปด้วยแอปพลิเคชันได้อย่างไร


31

บางครั้งอาจจำเป็นต้องให้ผู้ใช้มีสิทธิ์เข้าถึงแอปพลิเคชันบางตัวเท่านั้น การรันสภาพแวดล้อมเดสก์ท็อปอาจไม่เป็นที่ต้องการไม่ว่าจะด้วยเหตุผลด้านความปลอดภัยหรือเพื่อการเข้าถึงแอพพลิเคชั่นที่กำหนดได้ดีขึ้น

ในกรณีเหล่านี้อาจต้องการแทนที่เดสก์ท็อปด้วยแอปพลิเคชันที่ทำงานทันทีหลังจากเข้าสู่ระบบ

ผู้ใช้รายอื่นควรมีสิทธิ์เข้าถึงเดสก์ท็อปปกติ

คำตอบ:


36

แทนที่ 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(ตัวเลือกการตอบรับ) จากสคริปต์ได้ แต่นี่คือสิ่งที่เราทำไว้แล้วตามค่าเริ่มต้น


ปัญหาเดียวกับการแสดงเต็มหน้าจอในเซสชันที่กำหนดเอง ดูคำถามaskubuntu.com/questions/184610/…
Juzer Ali

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