วิธีรีเซ็ตการตั้งค่าจอภาพเป็นค่าเริ่มต้นผ่านเทอร์มินัล


32

ฉันมีปัญหายุ่งยากเกี่ยวกับจอภาพหลายจอบน KDE (Kubuntu) ฉันมีแล็ปท็อปที่บ้านซึ่งเชื่อมต่อกับจอภาพสองจอ - VGA และ HDMI ใช้งานได้เฉพาะเมื่อจอแสดงผลแล็ปท็อปในตัวถูกปิดใช้งาน (อย่างน้อยฉันก็บอกว่า)

ปัญหาคือตอนนี้ฉันเอาแล็ปท็อปออกไปและบู๊ตมันโดยไม่ได้เชื่อมต่อกับจอมอนิเตอร์ภายนอก ระบบจดจำว่าจอแสดงผลในตัวถูกปิดใช้งานดังนั้นจึงปิดการใช้งานแม้ว่าจะเป็นจอภาพที่เชื่อมต่อเท่านั้น เห็นได้ชัดว่าทำให้แล็ปท็อปใช้งานไม่ได้ การสลับไปยังเทอร์มินัลด้วยCtrl+ Alt+ F#ทำงานฉันสามารถเข้าสู่ระบบ; แม้แขกจะทำงานได้ตามปกติ

คำถามคือฉันจะตั้งค่าการตรวจสอบบัญชีผ่านเทอร์มินัลได้อย่างไรเนื่องจากฉันไม่สามารถใช้ GUI ได้

ขอบคุณ


3
คำถามที่เกี่ยวข้อง กับคำตอบล่าสุดxrandrที่อาจมีประโยชน์

2
สิ่งนี้ช่วยได้เมื่อฉันสามารถใช้คอนโซลบนจอภาพที่สอง xrandr สามารถตั้งค่าของฉันได้ อย่างไรก็ตามเมื่อฉันสามารถใช้เทอร์มินัลที่ไม่ใช่ gui ได้เท่านั้น xrandr บอกว่ามันไม่สามารถเปิดจอแสดงผลได้ดังนั้นมันจึงไร้ประโยชน์
Martin Melka

วิธีการที่คุณไม่ได้ปิดการใช้งานในตัวจอแสดงผลแล็ปท็อป?
หลงใหลเกี่ยวกับ natty

ฉันไม่รู้ว่ามีความแตกต่างที่เกี่ยวข้องกับ KDE หรือไม่ แต่ในอูบุนตูมาตรฐานมันใช้งานได้ดีสำหรับฉัน (เมื่อปิดจอภาพภายในผ่าน GUI โดยปิดฝาแล็ปท็อปและแล็ปท็อปนั่งอยู่อย่างสบาย ๆ
บ๊องเกี่ยวกับ natty

1
คุณหมายความว่าฉันต้องตั้งค่าทุกครั้งที่ใช้แล็ปท็อปทั้งที่มีและไม่มีจอภาพภายนอกหรือไม่ ถ้าเป็นเช่นนั้น อย่างไรก็ตามฉันจำเป็นต้องรู้วิธีการทำเช่นนั้นผ่านทาง tty
Martin Melka

คำตอบ:


9

คำถามที่ดี. เป็นการยากที่จะตอบ แต่นี่คือความพยายาม

คำตอบพื้นฐาน

มีจริงน้อยpossiblity รีเซ็ตรวมอยู่ใน X11 /etc/X11/Xresetคุณสามารถค้นหาได้ที่ คุณสามารถใช้ไดเรกทอรี Xreset ( Xreset.d) เพื่อวางสคริปต์ที่ทำงานโดยอัตโนมัติเมื่อผู้ใช้ออกจากระบบ ไฟล์ README:

# Scripts in this directory are executed as root when a user log out from
# a display manager using /etc/X11/Xreset.
# The username of the user logging out is provided in the $USER environment
# variable.

คุณสามารถก) เพิ่มสคริปต์รีเซ็ตใน/etc/X11/Xreset.dและ b) สร้างสคริปต์ที่แนบกับตัวเรียกใช้งานที่ตั้งค่าการแสดงผลภายนอกคู่ของคุณ เช่นคุณจะออกจากระบบและทุกอย่างจะกลับมาเป็นปกติคุณจะเข้าสู่ระบบแล็ปท็อปของคุณกดตัวเปิดใช้งานสำหรับการแสดงและสนุกกับชีวิต

ข้อมูลมากกว่านี้

  1. คุณอาจต้องการมองหาsudo dpkg-reconfigure -phigh xserver-xorgการรีเซ็ต xserver หรือ (ควรดูคำตอบที่ Mik แนะนำในข้อคิดเห็น)

  2. ผู้ชาย SuSE เขียนบทความที่ดีเกี่ยวกับ X

  3. ในรายงานการแก้ไขข้อผิดพลาดบางคนระบุ:

    ผู้ดูแลระบบสามารถวางสคริปต์ใน /etc/X11/Xreset.d/ เพื่อเรียกใช้หลังจากที่ผู้ใช้ล็อกเอาต์

  4. นี่คือเนื้อหาของไฟล์:

คุณสามารถค้นหาได้ในระบบของคุณเอง

#!/bin/sh
#
# /etc/X11/Xreset
#
# global Xreset file -- for use by display managers

# $Id: Xsession 967 2005-12-27 07:20:55Z dnusinow $

set -e

PROGNAME=Xreset
SYSSESSIONDIR=/etc/X11/Xreset.d

if [ ! -d "$SYSSESSIONDIR" ]; then
  # Nothing to do, exiting
  exit 0
fi

# use run-parts to source every file in the session directory; we source
# instead of executing so that the variables and functions defined above
# are available to the scripts, and so that they can pass variables to each
# other
SESSIONFILES=$(run-parts --list $SYSSESSIONDIR)
if [ -n "$SESSIONFILES" ]; then
  set +e
  for SESSIONFILE in $SESSIONFILES; do
    . $SESSIONFILE
  done
  set -e
fi 

exit 0

# vim:set ai et sts=2 sw=2 tw=80:

น่าสนใจ สคริปต์รีเซ็ตไม่ได้ทำอะไรเลย ฉันวิ่งผ่าน tty รีสตาร์ทคอมพิวเตอร์ แต่ทุกอย่างเหมือนกัน เช่นเดียวกันกับการใส่ลงในโฟลเดอร์: | ฉันพยายามวางคำสั่ง xrandr ไว้ข้างในด้วย แต่ไม่มีประโยชน์
Martin Melka

สคริปต์รีเซ็ตทำงานทุกอย่างที่พบในไดเรกทอรี Xreset.d
don.joey

1
ขวา. ตอนแรกมันไม่ทำงานสำหรับฉันเพราะฉันลืมที่จะเพิ่มสิทธิ์การใช้งานได้ให้กับสคริปต์ ตอนนี้มันทำงานเหมือนจับใจ ขอขอบคุณ. หนึ่งคำพูดเล็ก ๆ แต่ หากฉันให้แล็ปท็อปเข้าสู่โหมดสลีปและถอดปลั๊กจอภาพในระหว่างนั้นฉันยังไม่ได้ออกจากระบบดังนั้นหน้าจอจะไม่ถูกรีเซ็ต มีวิธีการออกจากระบบตัวเองผ่าน tty หรือไม่ ฉันพยายามเข้าสู่ระบบด้วยผู้ใช้รายเดียวกันที่ใช้ X แต่logoffออกจากระบบ tty เท่านั้นไม่ใช่จาก X
Martin Melka

สวัสดีมาร์ติน ฉันดีใจที่คุณได้ทำงาน คุณลองทำอะไรgnome-session-quitบ้าง? ที่มา: askubuntu.com/questions/15795/…
don.joey

17

เมื่อใดก็ตามที่ฉันวางแล็ปท็อป Lubuntu ของฉันเข้าสู่โหมดสลีปเมื่อมันปรากฏขึ้นบนทีวีของฉันเท่านั้นและตื่นขึ้นมาหลังจากถอดปลั๊กแล้วฉันก็จบด้วยหน้าจอสีดำเพราะมีการกำหนดความละเอียดผิด ปัญหาเดียวกับคุณฉันต้องตั้งค่าความละเอียดจากเทอร์มินัลเสมือน TTY1 ที่ฉันสามารถเข้าถึงด้วย Ctrl-alt-F1 แต่ xrandr ดูเหมือนจะไม่ทำงาน ฉันขัดหน้าผลการค้นหาของ Google ก่อนที่จะมาแก้ไขปัญหาดังนั้นฉันคิดว่าฉันจะแบ่งปัน

สิ่งสำคัญคือ xrandr เห็นได้ชัดว่าทำงานได้เฉพาะบนจอแสดงผลที่มุ่งเน้นในปัจจุบัน ดังนั้นคุณต้องโยงคำสั่ง sleep ก่อนคำสั่ง xrandr ของคุณเพื่อให้เวลาในการสลับกลับไปยังเซิร์ฟเวอร์ X ด้วย Ctlr-alt-F7 ดังนั้นคำสั่งจะถูกดำเนินการที่นั่น xrandr: Configure crtc 0 failedมิฉะนั้นคุณจะได้รับข้อผิดพลาดเหมือน

  1. เปิดเทอร์มินัลเสมือนด้วย Ctrl-alt-F1 และล็อกอิน

ในการรับชื่อของหน้าจอที่เชื่อมต่อ (และสมมติว่าเซิร์ฟเวอร์ X ของคุณกำลังทำงานอยู่:0):

  1. $xrandr -d :0

หากต้องการแก้ไขการตั้งค่าการแสดงผล:

  1. $sleep 5; xrandr --output LVDS1 --auto -d :0

แทน LVDS1 ด้วยเอาต์พุตที่คุณต้องการแก้ไขและ - อัตโนมัติด้วยพารามิเตอร์ xrandr ใด ๆ ที่คุณต้องการใช้

  1. สลับไปที่เซิร์ฟเวอร์ X ด้วย Ctrl-alt-F7 ก่อนที่จะดีเลย์การสลีปที่คุณตั้งไว้ในคำสั่งด้านบน

มีวิธีที่ดีกว่าในการทำเช่นนี้ แต่มันได้ผล

แหล่งต้นฉบับสำหรับการแก้ปัญหา: http://www.lgqyc.com/server-14-04-3-lts-display-orientation/

ตรวจสอบความคิดเห็นนี้เพื่อการปรับปรุงแก้ไขปัญหาของฉัน (ไม่ได้ทดสอบตัวเอง)


นี่เป็นคำตอบเดียวที่เหมาะกับฉัน Crazy coincidence เป็นหัวข้ออายุ 3 ปีที่มีคำตอบเฉพาะการทำงานที่ส่งมาเมื่อ 11 ชั่วโมงที่แล้ว :) แก้ไข: โอ้ snap ทันที 3 ปีที่ผ่านมา แปลก ...
Adam Plocher

ว้าว. สิ่งนี้ได้ผลักดันฉันถั่วมานานแล้ว คำตอบของคุณดูเหมือนจะไร้สาระ (นอนหลับจริงเหรอ?) แต่ได้ผลขอบคุณมาก!
ไทเลอ

6
chvt 7; xrandr --output LVDS1 --auto -d :0เปิดออกมีวิธีที่ดีกว่าเล็กน้อยที่จะทำนี้: chvt 7 สลับไปที่ VT7 สำหรับคุณดังนั้นคุณไม่จำเป็นต้องพัก / Ctrl-Alt-F7 อาจต้องมีการsleep 5ระหว่างchvtและการxrandrโทร แต่แม้แล้วมันจะบันทึกการกดปุ่มด้วยตนเอง
Tyler

ทางเลือกหนึ่งคือสร้าง.xsessionrcไฟล์ปฏิบัติการในโฮมไดxrandr --auto
เร็

16

คำสั่งxrandr -s 0ควรรีเซ็ตจอแสดงผลของคุณในเทอร์มินัล สามารถพบเพิ่มเติมได้ที่เว็บไซต์ต่อไปนี้หรือจากman xrandrใน terminal

https://linuxacademy.com/blog/linux/solution-resetting-your-screen-resolution-with-xrandr/


ยินดีต้อนรับสู่ถาม Ubuntu! ในขณะนี้คำตอบของคำถามมันจะดีกว่าที่จะรวมส่วนที่สำคัญของคำตอบที่นี่และให้ลิงค์สำหรับการอ้างอิง
guntbert

4
ใช่มันใช้งานได้ คำตอบอื่น ๆ นั้นค่อนข้างซับซ้อนเกินไปซับซ้อนเกินไปหรือไม่มีประสิทธิภาพ อาจมีค่าบางอย่างที่ต้องทราบว่าหากคุณพบหน้าจอสีดำ (และไม่เห็นอะไรเลย) คุณสามารถเปิดเทอร์มินัลของคุณด้วยปุ่มลัดและพิมพ์ "xrandr -s 0" แบบสุ่ม ๆ นั่นคือสิ่งที่ฉันได้ :)
kodeart

โปรดทราบว่าในการตั้งค่าจอภาพสองจอคำสั่งนี้อาจปิดใช้งานจอภาพที่สองแทนการตั้งค่าจอภาพทั้งสองให้เป็นความละเอียดเริ่มต้น
Darien

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

4

คุณเคยลองไหม (เหมือน sth)

DISPLAY=:0 xrandr --output LVDS1 --auto

จากคนอื่นtty(เช่น tty1)

ซึ่งคุณสามารถเข้าถึงผ่านCtrl Alt F1และสลับกลับไปเป็น (กราฟิกมาตรฐาน) tty7 ด้วยCtrl Alt F7?


1
นี่คือการให้ฉันxrandr: Configure crtc 1 failedเมื่อพยายาม - เอาท์พุท HDMI1 - ปิด - อัตโนมัติไม่พูดอะไรจนกว่าฉันจะปิดมันด้วยตนเอง จากนั้น - โดยอัตโนมัติโยนข้อผิดพลาดเดียวกัน
Martin Melka

จะต้องตรวจสอบอย่างละเอียดมากขึ้น am บวกมันจะทำงานในที่สุด ...
บ๊องเกี่ยวสะอาดสะอ้าน

2

สิ่งหนึ่งที่ผมไม่ได้กล่าวถึง แต่สิ่งที่อาจจะสำคัญ: ถ้าคุณกำลังใช้Thinkpadแล็ปท็อป, การแก้ปัญหาจะตรงไปตรงมา: +Fn F7หากคุณใช้แล็ปท็อปของผู้ผลิตรายอื่นจะมีคีย์ Fn ชนิดอื่นซึ่งจะสลับผ่านหน้าจอแสดงผล / หน้าจอ (เช่นลำแสงจอภาพภายนอกจอแสดงผลภายในกระจกเปิด / ปิด) และสิ่งที่ชอบ) ลงที่ระดับ BIOS (ฉันจะถือว่า - แก้ไข : ดูปุ่ม Fn ทำงานอย่างไร?สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับเรื่องนี้ )

ดังนั้นไม่จำเป็นต้องรีเซ็ตอะไรภายใน Linux ดังนั้นพูด


1
ฉันมี IdeaPad แต่ปุ่ม Fn + ไม่ทำงาน (อันเดียวที่ทำคือ Sleep)
Martin Melka

ลางสังหรณ์ของฉันคือ: ไปกับคนนี้ต่อไป! ผมไม่ได้มีเวลาที่จะตรวจสอบอย่างละเอียดด้วยตัวเองในปัจจุบันแม้ว่าจะมีโอกาสที่ดีที่ฉันจะทำเพิ่มประสิทธิภาพในด้านนี้บางบน IBM Thinkpad X41 ของฉัน แต่เผื่อสิ่งที่มัน worth- ที่สุดปุ่ม Fn ทำการทำงานในระบบของฉัน (ทั้งของฉัน แล็ปท็อปเช่นเดียวกับแป้นพิมพ์ "thinkvantage" ภายนอก sk-8855 ของฉัน): ในศูนย์ซอฟต์แวร์อูบุนตู (หรือ synaptic) ด้วยการมองเพียงผิวเผินครั้งแรกอย่างน้อยสิ่งนี้ติดตั้งtp-smapi-dkms 0.41-1 ดังนั้นคุณอาจต้องการลองติดตั้งดูในมันและ / หรือทางเลือกที่คล้ายกันซึ่งจะทำให้ปุ่ม Fn ของคุณมีชีวิตขึ้นมาในที่สุด!
บ๊องเกี่ยวกับ natty


ยากที่จะเชื่อ แต่มันก็เป็นเช่นนั้น สวิตช์แสดง - Fn+ F8บน Dell Latitude หลังจากนำออกจากสถานีติดตั้งแล้วบางครั้งก็ไม่ได้เปิดจอแสดงผลในตัว (ฉันใช้เฉพาะจอแสดงผล VGA ภายนอกที่มีแท่นวาง) การพยายามเปลี่ยนจอแสดงผลดูไร้สาระ แต่ก็เปิดจอแสดงผลในตัว
Ferdinand Prantl
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.