จะทำอย่างไรเมื่อ Linux gui หยุดทำงาน


24

ฉันใช้ Gnome กับ compiz ใน Ubuntu 10.04 บางครั้ง Gui จะหยุดนิ่ง ฉันสามารถเลื่อนเมาส์ได้ แต่ฉันไม่สามารถโต้ตอบกับโปรแกรมได้ สิ่งเดียวที่ฉันทำได้คือไปที่หน้าจอเทอร์มินัลพร้อม Alt + Ctrl + F (n) จากนั้นฉันเข้าสู่ระบบและทำการรีบูตเครื่อง sudo ฉันสามารถทำอะไรได้บ้างที่เทอร์มินัลแทนที่จะรีบูตเครื่องเพื่อจัดการกับปัญหานี้เมื่อมันเกิดขึ้น?

คำตอบ:


14

โซลูชันหนึ่งที่ฉันใช้แบบฟอร์มเป็นครั้งคราวเมื่อสิ่งต่าง ๆ บ้าคลั่งคือเปลี่ยนไปใช้คอนโซลอื่นโดยใช้ Ctrl-AltFx (F1-F6) Ctrl-Alt-F7 ควรนำคุณกลับไปที่หน้าจอกราฟิก การดำเนินการนี้จะนำคุณไปสู่ข้อความแจ้งการเข้าสู่ระบบ

หากสิ่งนี้ไม่ได้ผลและคุณติดตั้ง OpenSSH (sudo apt-get install openssh) คุณสามารถ ssh ลงในกล่องของคุณจากระยะไกลและรับพรอมต์เดียวกันได้

จากนั้นคุณสามารถลงชื่อเข้าใช้ด้วยตัวคุณเองไปที่รูทและดูว่าแอปพลิเคชันใดกำลังทำงานอยู่ สิ่งนี้ต้องการประสบการณ์เล็กน้อยกับคำสั่งบางคำเช่น ps, kill, grep และ less

ps - ef | มากกว่า

คำสั่งดังกล่าวจะแสดงให้คุณเห็นกระบวนการทั้งหมดที่กำลังทำงานอยู่และคุณมีพรอมต์ "เพิ่มเติม ... " ที่จะผูกเพื่ออ่านผลลัพธ์

kill -9 ####

คำสั่งดังกล่าวจะฆ่ากระบวนการหมายเลข ####

ps -ef | grep ora | มากกว่า

คำสั่งดังกล่าวจะแสดงกระบวนการทั้งหมดด้วยตัวอักษร "ora" เช่นโปรแกรม Oracle จะช่วยให้คุณเห็นข้อความแจ้งเตือน "เพิ่มเติม ... "

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

ในคำสั่งของกระบวนการคุณอาจรู้จักชื่อของโปรแกรมล่าสุดที่คุณเริ่มต้นและฆ่าสิ่งเหล่านั้นก่อน

ที่ดีที่สุดคุณสามารถค้นหาและฆ่าโปรแกรมที่กระทำผิด ที่แย่ที่สุดคุณจะต้องหยุดระบบจนกว่าคุณจะเปิดวงจร ดำเนินการอย่างระมัดระวัง ............................

แต่คุณมีโอกาสที่จะคัดลอกไฟล์สำคัญดำเนินการอื่น ๆ


8

เช่น private_meta กล่าวว่าคุณอาจต้องรีสตาร์ท X ซึ่งจะหยุดกระบวนการ GUI ทั้งหมดที่ทำงานรวมถึงกระบวนการทั้งหมดที่เริ่มต้นจากหน้าต่างเทอร์มินัล gui

Ctrl + Alt + Backspace ไม่ทำงานบน Ubuntu พวกเขาปิดใช้งานทางลัดนี้ คุณสามารถเปิดใช้งาน (จำไม่ได้ว่าอย่างไร แต่ควรเป็น google ง่าย) หรือเพียงใช้ชุดค่าผสมที่เหมาะสมซึ่งก็คือ SysRq + K. SysRq อาจเป็นฟังก์ชันรองของคีย์อื่นในบางรูปแบบเช่นใน แป้นพิมพ์ qwertz ที่คุณกด AltGr + Print + K.

สำหรับความหมายอื่น ๆ ของคีย์ผสม SysRq อ่านบทความวิกิพีเดียนี้ มันทำให้คุณสามารถควบคุมระบบได้มากกว่าที่คุณต้องการ


1
วิธีเปิดใช้ ctrl-alt-backspace ubuntugeek.com/ ..
matthias krull

ฉันเพิ่งลอง Alt + SysRq + K ในระบบที่ไม่แข็งและมันทำให้ฉันมีหน้าจอว่างเปล่าสีขาวที่ฉันไม่สามารถทำอะไรได้เลย มันจะมีประโยชน์ได้อย่างไรหรือฉันทำผิดอะไร
phunehehe

4

ในเวอร์ชัน Ubuntu ล่าสุด (เปิดใช้งานแล้ว) คุณสามารถพิมพ์:

sudo restart gdm

บางครั้งคุณไม่สามารถเปลี่ยนไปใช้คอนโซลข้อความได้ แต่ก็ยังสามารถเข้าสู่ระบบได้โดยใช้ ssh จากพีซีเครื่องอื่น การรีสตาร์ท gdm นั้นเป็นไปได้เช่นกันและอาจแก้ไขปัญหาให้คุณแขวนไดรเวอร์จอแสดงผล


1
สิ่งนี้ทำกับโปรแกรมที่ทำงานใน gui หรือไม่
tony_sid

2
พวกเขาทั้งหมดถูกยกเลิกเพราะพวกเขา
ขาด

2

หาก ALT F (n) และเมาส์ทำงานได้ดีคุณอาจลองฆ่าแต่ละโปรแกรมเพื่อดูว่าหนึ่งในนั้นจะปล่อยสิ่งต่าง ๆ หรือไม่ นี่เป็น tecnical น้อยลง แต่เป็นวิธี gui ที่มุ่งเน้นอย่างรวดเร็วเพื่อดูว่าบางสิ่งบางอย่างที่เพิ่งเริ่มต้นเป็นปัญหา

ALT-F2: เพื่อแสดงกล่องโต้ตอบเรียกใช้โปรแกรมซึ่งในประสบการณ์ของฉันมักจะใช้งานได้แม้ว่าทุกอย่างจะถูกล็อค

xkill: เพื่อบังคับให้ปิดแอป gui

คลิกที่แอปที่ละเมิดและดูว่าเกิดอะไรขึ้น


1

เป็นไปได้มากที่จะรีสตาร์ท Window Manager ผ่าน Ctrl + Alt + Backspace แม้ว่านี่จะเป็นการฆ่าแอปเบื้องหน้าของคุณ แต่ก็ยังไม่เป็นการรีบูทเต็มรูปแบบ แต่อาจเป็นการประนีประนอมสำหรับคุณ


1
สิ่งนี้ถูกปิดใช้งานโดยค่าเริ่มต้นตั้งแต่ 9.04 ดังนั้นมันจะไม่ทำงาน แทนที่จะรีบูตคุณสามารถพิมพ์ /etc/init.d/gdm restart ได้
matthias krull

0

หลังจาก GUI ของเครื่องค้าง ... ฉันคิดว่าการรีบูตเป็นสิ่งที่ดีที่สุดที่คุณสามารถทำได้เว้นแต่คุณจะมีสิ่งที่สำคัญและใช้งานได้นานในพื้นหลัง .... อย่างไรก็ตามการรีสตาร์ท gdm จะฆ่าแอปของคุณ


0

เปิดเทอร์มินัลเสมือนด้วยCTRL- ALT- F[number]ทางลัดเข้าสู่ระบบsudo killall [dm](ซึ่ง[dm]เป็นหนึ่งในนั้นgdm, gdm3, kde, wdm, lightdm, lxdm,) และเริ่มเซสชัน x ใหม่ด้วยstartx

หากคุณไม่ฆ่า dm มันจะไม่สร้างความแตกต่างใหญ่เกินไป dm ที่แช่แข็ง / ไม่ได้ใช้กำลังการประมวลผลจำนวนมาก

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