จะป้องกันกระบวนการหยุดอัตโนมัติในเซสชันผู้ใช้ที่ไม่ได้ใช้งานได้อย่างไร


14

ในขณะนี้เมื่อฉันสลับระหว่างสองเซสชันผู้ใช้หนึ่งที่ไม่ได้ใช้งานในบางกรณีจะหยุดการดำเนินการกระบวนการ GUI วิธีนี้ฉันถูกบังคับให้รอให้เซสชันอื่นโหลดและไม่สามารถทำบางสิ่งได้ในอีกอันหนึ่งเพราะถ้าฉันสลับและกลับหลังจากผ่านไปครู่หนึ่งมันยังคงอยู่ในจุดเดียวกัน ซอฟต์แวร์ที่ได้รับผลกระทบ ได้แก่ rsync, rdiff-backup, กระบวนการพื้นหลังของ KDE, Steam เปิดตัวในเซสชัน Openbox (แม้กระทั่งการดาวน์โหลดหยุด) และอย่างน้อยก็บางเกม VLC ไม่ได้รับผลกระทบอย่างน้อยก็ข้ามไปยังเวลาที่ต้องการหลังจากที่ฉันเปลี่ยนกลับ แต่ช่วงเวลาหนึ่งฉันสามารถเห็นกรอบและเวลาเก่าในหน้าต่างของมัน

กระบวนการใดรับผิดชอบต่อพฤติกรรมดังกล่าว ฉันสามารถกำหนดค่าใหม่ได้ไหม?

อัปเดต: การใช้หน่วยความจำและการสลับ

บริบทเพิ่มเติมบางอย่าง: ประชดคือฉันแนะนำพฤติกรรมที่แน่นอนนี้ใน brainstorm.ubuntu.com เก่า (หมดอายุแล้ว)


1
@ Fabby เสร็จแล้วมันไม่ได้ดูเหมือนว่าปัญหาการแลกเปลี่ยนถ้านั่นคือสิ่งที่คุณหมายถึง
int_ua

2
ใช่นั่นคือสิ่งที่ฉันหมายถึง ... ;-)ฉันพยายามจำลองพฤติกรรมที่คุณประสบโดย: เข้าสู่ระบบในฐานะผู้ใช้จากนั้นเข้าสู่ระบบในฐานะผู้ใช้รองเริ่มสร้างภาพยนตร์ [Ctrl] [Alt ] [F7] เพื่อผู้ใช้รายแรกเริ่มfindบน/[Ctrl] [Alt] [F8] ให้กับผู้ใช้ที่สองและทุกอย่างที่ช่วยในการทำงาน ... (แม้ว่าเสียงของหนังเรื่องนี้ถูกปิดเมื่อมีการสลับผู้ใช้.) วิธีทำ คุณทดสอบหรือไม่
Fabby

1
@int_ua ฉันไม่รู้เกี่ยวกับไอน้ำโดยเฉพาะ แต่ฉันมีเกมที่มีรหัสเฉพาะที่จะหยุดชั่วคราวเมื่อเปลี่ยนผู้ใช้ ... ฉันไม่ได้ใช้ KDE ดังนั้นฉันคิดว่าฉันไม่สามารถช่วยคุณได้อีกต่อไป ... ขออภัย!
Fabby

1
โดยการสังเกตสถานะเอาท์พุทก่อนและหลังสลับไปยังผู้ใช้รายอื่นและไฟ HDD ภายนอกหยุดกิจกรรมทั้งหมดในระหว่างการใช้งานเซสชันอื่น
int_ua

2
สำหรับrsyncคุณใช้verboseในการพิมพ์ความคืบหน้า? คุณได้ลองโดยไม่มีมัน + คุณเคยลองส่งมันไปยังพื้นหลังโดยตรงrsync .... &หรือไม่? แล้วไงnohup rsync .... & ล่ะ สำหรับ GUI พวกเขาต้องหยุดทำงานชั่วคราวเนื่องจากมีเพียงทรัพยากรเอาต์พุตเดียวเท่านั้นและจะดำเนินการโดยเซสชันผู้ใช้อื่นและพวกเขาจะหยุดชั่วคราว
:)

คำตอบ:


1

ฉันพบปัญหานี้เช่นกันเพราะฉันสลับระหว่างคอนโซลและเทอร์มินัลเสมือนกราฟิกเป็นประจำ Xorg โดยการออกแบบจะระงับลูกค้าในระหว่างการสลับ VT ซึ่งเป็นสาเหตุที่ลูกค้าดูเหมือนจะ "หยุด" เมื่อ VT ของ Xorg ไม่ทำงานอีกต่อไป Wayland ไม่ดังนั้นหากโปรแกรมที่คุณต้องการให้ทำงานในพื้นหลัง VT สนับสนุนโปรโตคอลการแสดงผลใหม่ให้ใช้ตัวแต่งเพลง Wayland แทน Xorg

วิธีหนึ่งในการแก้ไขปัญหานี้คือการเรียกใช้โปรแกรมกราฟิกบนเซิร์ฟเวอร์ VNC ท้องถิ่นเพื่อไม่ให้ถูกระงับ นี่เป็นวิธีแก้ปัญหาที่ฉันใช้บ่อยที่สุด


0

กระบวนการใดรับผิดชอบต่อพฤติกรรมดังกล่าว

Display Manager (DM) เป็นสิ่งที่คุณกำลังมองหา ทุกคน: lightdm, gdm, kdm(KDE เก่า) sddm(KDE ใหม่) xdm...

ฉันสามารถกำหนดค่าใหม่ได้ไหม?

AFAIK นั่นควรเป็นอย่างนั้นกับ X server อย่างไรก็ตามฉันเคยข้ามพฤติกรรมที่ใช้:

  • เครื่องมือ CLI บน TTY คอนโซลเสมือนอื่น
  • เครื่องมือ CLI เป็นinitบริการ

เกี่ยวกับกระแสข้อมูลเสียงเมื่อฉันเริ่มใช้ GNU / Linux ในปี 2549 อุปกรณ์เสียงได้รับการจัดการแยกต่างหากจากจอแสดงผล ตอนนี้สิ่งต่าง ๆ เปลี่ยนเป็นพิเศษกับอุปกรณ์ / พอร์ตรวมเช่น HDMI ดังนั้นเซิร์ฟเวอร์ Pulse ควรทราบถึงเหตุการณ์ X display บางอย่าง ดังที่ฉันจำได้ (ฉันจะตรวจสอบสิ่งนี้อีกครั้ง) เซิร์ฟเวอร์ Pulse จะทำงานตามกระบวนการของผู้ใช้


คุณช่วยพิสูจน์จุดแรกได้ไหม? รหัสนี้ทำในที่ใดหรือที่ไหน? มีหลายสถานการณ์ที่ CLI ใน TTY ไม่ใช่ตัวเลือกและการดาวน์โหลดและการสำรองข้อมูลเป็นปัญหาจริงเสียงเป็นปัญหาเล็กน้อย
int_ua

0

คุณสามารถเปิดscreenเซสชันจาก CLI ด้วย bash และภายในเซสชันนี้คุณสามารถเปิดใช้แอปพลิเคชันได้ และตอนนี้คุณสามารถปิดเทอร์มินัลนี้ได้โดยไม่มีปัญหาและกู้คืนโดยใช้screen -rคำสั่ง มากหรือน้อย:

screen bash
rsync -V xxx yyy

และคุณสามารถปิด CLI และคืนสิ่งที่คุณต้องการและทำ:

screen -r

เพื่อยืนยันว่างานเสร็จแล้ว ฉันไม่รู้ว่าสิ่งนี้สามารถทำงานกับแอป GUI โดยใช้คำสั่งเช่น:

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