เปลี่ยนเป็น TTY อื่นหลังจากรัน startx และส่งคืน break Xorg


8

ฉันมักจะสงสัยเกี่ยวกับนิสัยแปลก ๆ ของ Xorg ที่ดูเหมือนว่าจะเกิดขึ้นกับทุกเครื่องที่ฉันได้ลองทำ เมื่อใดก็ตามที่ฉันเริ่มต้นอินสแตนซ์ X ใหม่บน TTY โดยใช้ startx ด้วยตนเอง (นั่นคือโดยปราศจากความช่วยเหลือของผู้จัดการการแสดงผล) ให้เปลี่ยนไปเป็น TTY อีกครั้งจากนั้นลองกลับไปที่ TTY ดั้งเดิมของฉัน เปลือกเดิมของฉันกับ X ยังคงทำงานอยู่ การกดปุ่ม ^ C หรือ ^ D จะหยุด X แต่ฉันจะต้องเรียกใช้ startx / xinit อีกครั้งทำให้เซสชันเดิมของฉันหาย เช่น:

CTRL+ALT+F1
$ startx /usr/bin/xterm -- :1
CTRL+ALT+F7
CTRL+ALT+F1

จะทำลาย X buffer ของฉันใน TTY1 ดูเหมือนว่าแอปพลิเคชันที่ใช้ Wayland / Mir สำหรับการจัดการองค์ประกอบการสลับ TTY อย่างที่ฉันคาดไว้ แต่สำหรับแอปพลิเคชันที่ใช้ X ที่ไม่ได้เริ่มต้นด้วยเครื่องมือจัดการการแสดงผลเช่น LightDM ไม่สามารถกลับไปที่เซสชัน X เป็นความเจ็บปวดที่แท้จริง มีวิธีใดที่จะแก้ไขปัญหานี้เพื่อให้ฉันสามารถสลับกลับไปที่เซสชัน X ของฉันเมื่อฉันสลับ TTY ได้หรือไม่


ฉันไม่เข้าใจ คุณไม่มี X ใน tty1 ctrl-alt-f7 ก็คือ tty7 ซึ่งส่วนใหญ่รันเซิร์ฟเวอร์ X คุณต้องแก้ไขโพสต์ของคุณเพื่อให้ชัดเจนยิ่งขึ้น หากคุณกำลังใช้ 12.04 แน่นอนว่าคุณไม่ได้ใช้ Wayland / Mir เช่นกัน ไม่แม้แต่ใน 15.04
solsTiCe

@solsTiCe ไม่มีเซสชัน X ใน TTY1 จนกว่าฉันจะรัน startx เพื่อสร้างหนึ่งใน TTY1 ...
joshumax

@solsTiCe ฉันกลัวว่าฉันไม่เห็นความกำกวมในคำถามของฉันคุณสามารถอธิบายอย่างละเอียดถึงสิ่งที่อาจไม่ชัดเจนหรือไม่
joshumax

1
@solsTiCe ฉันไม่อย่างแน่นอนที่สุดฉันแค่ขอให้เป็นสิ่งที่คุณไม่ชัดเจนในคำถามของฉันเพื่อที่ฉันจะสามารถแก้ไขได้?
joshumax

สำหรับคำถามที่เกี่ยวข้องดูaskubuntu.com/questions/221762และaskubuntu.com/questions/443418
JdeBP

คำตอบ:


2

อ่าโซลูชันนั้นค่อนข้างง่ายแทนที่จะวิ่ง

$ startx /usr/bin/xterm -- :1

วิ่ง

$ startx /usr/bin/xterm -- :1 vt$(tty | sed -e "s:/dev/tty::")

จะป้องกัน X ไม่ให้แตกเมื่อฉันสลับ TTY


... ซึ่งแสดงให้เห็นว่ามันไม่ได้จริงๆ "หยุด" แต่จบลงเพียงแค่ขึ้นไปบน terminal เสมือนที่แตกต่างกันเป็นครั้งแรก terminal เสมือนที่มีอยู่ว่าจะได้รับอะไรจากการtty2ที่จะtty63ขึ้นจากวิธีการที่ระบบของคุณเกิดขึ้นจะมีการกำหนดค่าเมื่อมันมาถึงเสมือน การใช้งานเทอร์มินัล แน่นอนtty1ไม่สามารถใช้งานได้เนื่องจากคุณมีเชลล์ล็อกอินในเวลานั้น
JdeBP

@JdeBP ฉันได้พูดคุยกับคน Xorg เกี่ยวกับเรื่องนี้และดูเหมือนว่าจะไม่มีอะไรเกี่ยวข้องกับการเลือกเทอร์มินัลที่มีอยู่โดยอัตโนมัติเลย - แต่แทนที่จะส่งพารามิเตอร์เทอร์มินัลเสมือนไปที่ startx, startx จะทำให้ X อยู่ในสถานะถาวร "(ตาม startx โดยค่าเริ่มต้นจะเปิดใช้งานเซสชัน X แบบไม่ถาวรบน vt ปัจจุบันหากมีอยู่และจะล้มเหลวทันทีหากไม่สามารถทำได้
joshumax

-1 ฉันคิดว่ามีวิธีอื่นในการทำสิ่งนี้อย่างราบรื่น ฉันคิดว่านี่ไม่ใช่วิธีที่จะทำสิ่งที่คุณทำ
LéoLéopold Hertz 준영

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