ภายใต้ Linux เป็นไปได้ไหมที่จะดูข้อความแสดงข้อผิดพลาดที่ปรากฏบนเทอร์มินัลโหมดข้อความขณะอยู่ในโหมด GUI แทนที่จะต้องกดCtrl+ Alt+ F1หรือCtrl+ Alt+ F2เพื่อดูข้อความทุกครั้งแล้วสลับกลับไปที่โหมด GUI โดยกดCtrl+ Alt+ F7?
ขอบคุณ.
ภายใต้ Linux เป็นไปได้ไหมที่จะดูข้อความแสดงข้อผิดพลาดที่ปรากฏบนเทอร์มินัลโหมดข้อความขณะอยู่ในโหมด GUI แทนที่จะต้องกดCtrl+ Alt+ F1หรือCtrl+ Alt+ F2เพื่อดูข้อความทุกครั้งแล้วสลับกลับไปที่โหมด GUI โดยกดCtrl+ Alt+ F7?
ขอบคุณ.
คำตอบ:
คุณสามารถดูเนื้อหาปัจจุบันของคอนโซลข้อความ/dev/tty1
ในไฟล์/dev/vcs1
(โดยที่ 1 คือหมายเลขในCtrl+ Alt+ F1) (หากคุณพยายามอ่าน/dev/tty1
คุณจะแข่งขันกับโปรแกรมที่ทำงานที่นั่นเพื่อป้อนคีย์บอร์ด) โดยปกติแล้วอุปกรณ์ vcs จะสามารถอ่านได้โดยรูทเท่านั้น คุณได้ภาพรวม ไม่มีวิธีที่สะดวกในการรับเนื้อหาตามที่มา
ttysnoopโปรแกรมช่วยให้คุณสามารถดูการจราจรบนคอนโซลจากสถานีอื่น (รวมถึงสถานี X) แต่นี่คือสิ่งที่คุณต้องตั้งค่าล่วงหน้า
แทนที่จะพยายามที่จะจับข้อความเมื่อพวกเขาได้รับการส่งออกบนคอนโซลข้อความจัดให้มีข้อความที่นำไปยังตำแหน่งอื่น /var/log
ส่วนใหญ่ส่งออกคอนโซลดังกล่าวจะจบลงในบันทึกของระบบในไฟล์ภายใต้ ภายใต้ X (เช่นในโหมดกราฟิก) คุณสามารถจับข้อความเหล่านี้ด้วยxconsole
ซึ่งเป็นส่วนหนึ่งของการแจกแจงมาตรฐาน X
หากxconsole
ไม่แสดงข้อความที่คุณต้องการให้แก้ไขคำถามของคุณเพื่อพูดถึงว่าข้อความเหล่านี้มาจากที่ใด
หากคุณไม่สามารถxconsole
แสดงข้อความใด ๆ ให้แก้ไขคำถามของคุณเพื่อรวมระบบปฏิบัติการที่แน่นอนขั้นตอนการกำหนดค่าที่คุณทำและข้อความแสดงข้อผิดพลาดที่คุณเห็น
หากข้อความที่ไม่ได้มาจากสิ่งอำนวยความสะดวกระบบเข้าสู่ระบบ แต่จากโปรแกรมที่คุณเริ่มต้นในคอนโซลโหมดข้อความคุณจะได้รับบริการที่ดีขึ้นโดยใช้การเปลี่ยนเส้นทาง จัดให้มีเพื่อเริ่มโปรแกรมเช่นนี้:
mv ~/.myprogram.log ~/.myprogram.log.old
myprogram --with arguments 2>&1 >~/.myprogram.log
~/.myprogram.log
จากนั้นคุณสามารถอ่านเอาท์พุทจากโปรแกรมจากที่ใดก็ได้โดยมองในแฟ้ม โดยเฉพาะอย่างยิ่งเมื่อต้องการดูไฟล์ที่เพิ่มขึ้นแบบเรียลไทม์ให้เรียกใช้
tail -n +1 -f ~/.myprogram.log
หากโปรแกรมเริ่มต้นโดยสคริปต์เริ่มต้น X ของคุณจะเป็นการดีกว่าถ้าจะเปลี่ยนเส้นทางเอาต์พุตจากลำดับเริ่มต้น X ทั้งหมดไปยังไฟล์ ในความเป็นจริงการกระจายจำนวนมากทำสิ่งนี้โดยอัตโนมัติ หากคุณกำลังใช้ไฟล์.xinitrc
หรืออยู่.xsession
ให้วางบรรทัดต่อไปนี้ไว้ใกล้กับจุดเริ่มต้นของไฟล์เพื่อเปลี่ยนทิศทางเอาต์พุตจากโปรแกรมที่ตามมา:
exec >"$HOME/.xsession-$DISPLAY.log" 2>&
คุณสามารถใช้ xconsole สำหรับสิ่งนี้ จากคำอธิบาย:
โปรแกรม xconsole แสดงข้อความที่มักจะส่งไปยัง / dev / console
ทั้งนี้ขึ้นอยู่กับการกำหนดค่าการกระจายของคุณเลือกคุณอาจต้องเริ่มต้นเป็นราก (เช่นกับsudo xconsole
ตามลำดับsu -c xconsole
)
คุณเคยลองxterm -C
ไหม มันทำงานบน Ubuntu 17.04
หากคุณต้องการดูข้อความคอนโซลคุณสามารถใส่ท้าย /etc/rc.local
sleep 60