จอภาพหมุน หน้าจอเข้าสู่ระบบต้องการการหมุน


20

ฉันหมุนหน้าจอของฉันและเมื่อฉันเข้าสู่ระบบก็ใช้งานได้ดี แต่หน้าจอ greeter (เข้าสู่ระบบ) ไม่ได้รับข้อความว่าสิ่งที่หมุน 90 องศา ฉันจะเปลี่ยนการหมุนของหน้าจอเข้าสู่ระบบได้อย่างไร

ป้อนคำอธิบายรูปภาพที่นี่

UPDATE: หน้าจอล็อคอยู่ในตำแหน่งที่ถูกต้อง ฉันเห็นสิ่งนี้เมื่อฉันบูตหรือออกจากระบบเท่านั้น


ดูเหมือนว่าคำตอบก่อนหน้านี้ที่นี่จะไม่ถูกต้องสำหรับ 16.04 ... (พยายามเปลี่ยนระหว่าง Noveau หรือ Nvidia 361) ฉันสามารถเห็น 'arandr' ตั้งค่าถูกต้อง แต่มันเป็นเพียงที่สองในภายหลังรีเซ็ตกลับไปที่ "มาตรฐาน"
Hannu

1
@Hannu โปรดดูความคิดเห็นของฉันด้านล่างภายใต้askubuntu.com/questions/408302/...
jbrock

คำตอบ:


19

เพิ่มบรรทัดนี้ไปยัง/etc/lightdm/lightdm.confไฟล์ (ในส่วน [SeatDefaults]):

greeter-setup-script=/etc/lightdm/greeter_setup.sh

จากนั้นทำไฟล์/etc/lightdm/greeter_setup.shด้วยเนื้อหาต่อไปนี้:

#!/bin/bash
xrandr -o left
exit 0

sudo chmod +x /etc/lightdm/greeter_setup.shแล้วทำให้มันปฏิบัติการด้วย จากนั้นรีบูท


4
เปลี่ยนเป็น xrandr -o ทางขวา ทำงานได้สมบูรณ์แบบ
j0h

เพิ่มสคริปต์ดังกล่าวข้างต้น (ไม่ชัดเจนexit 0) เพื่อ/etc/lightdm/pre-greeter.dทำเคล็ดลับสำหรับฉัน
Oleg Sklyar

19

ตัวเลือกที่ควรจะทำงานก็คือการคัดลอกไป~/.config/monitors.xml/var/lib/lightdm/.config

แน่นอนว่ามันใช้งานได้กับตำแหน่งมอนิเตอร์และข้อมูลความละเอียดของฉันดังนั้นฉันจึงคิดว่ามันจะหมุนได้

แก้ไข : เพื่อความยืดหยุ่นสูงสุดหนึ่งสามารถสร้างลิงก์สัญลักษณ์ระหว่างด้านบน:

sudo su
cd /var/lib/lightdm/.config
ln -s /home/<your_user>/.config/monitors.xml .
chown -h lightdm:lightdm monitors.xml
exit

วิธีนี้หากการตั้งค่าจอภาพของคุณเปลี่ยนไปในอนาคตหน้าจอล็อกอินจะแสดงโดยอัตโนมัติ ขอให้สังเกตที่จำเป็น-hธงในchownคำสั่งตามที่อธิบายไว้ในchown ไม่ได้เปลี่ยนการเชื่อมโยงสัญลักษณ์


ฉันจะดูมันนี่เป็นวิธีที่ฉันพยายามหา
j0h

1
การทำให้ลิงก์ไม่ทำงานสำหรับฉันฉันทำสิ่งที่ได้รับอนุญาตตามที่อธิบาย แต่ก็ยังบอกฉันว่าสิทธิ์ผิด การคัดลอกไฟล์ทำงานได้ดี
LovesTha

2
สิ่งสำคัญประการหนึ่ง: symlink ที่นี่จะไม่ทำงานหากโฮมไดเร็กตอรี่ของคุณถูกเข้ารหัส, เนื่องจากไฟล์นั้นจะไม่สามารถเข้าถึงได้จนกว่าคุณจะทำการล็อกอิน
alienth

11

14.04 ขึ้นไป

คำตอบของ Falconer ช่วยฉันได้มาก แต่ lightdm เปลี่ยนสำหรับ Ubuntu Trusty 14.04 ไม่มี/etc/lightdm/lightdm.confไฟล์ในระบบของฉันอีกต่อไป lightdm ตอนนี้ได้หายไป "วิธีเดเบียน" และมีการกำหนดค่าของมันแยกออกเป็นไดเรกทอรี conf.d ตอนนี้คุณต้องสร้างไฟล์ต่อไปนี้:

/etc/lightdm/lightdm.conf.d/80-display-setup.conf

[SeatDefaults]
display-setup-script=xrandr -o right

ตามที่แนะนำในคำตอบของElectric Headคำสั่ง xrandr สามารถไปทางขวาในไฟล์นี้ไม่จำเป็นต้องสร้างสคริปต์แยกต่างหาก

หากคุณต้องการคำสั่ง xrandr ที่เกี่ยวข้องกับจอภาพหลายจอคุณสามารถใช้arandrเพื่อสร้างให้คุณได้ xrandrคำสั่งของฉันกลายเป็นจริง:

xrandr --output DVI-1 --mode 1920x1080 --pos 1080x0 --rotate left --output DVI-0 --mode 1920x1080 --pos 0x0 --rotate right

เพื่อให้ได้ที่ฉันใช้คำสั่งต่อไปนี้:

  • sudo apt-get install arandr
  • arandr
  • ใช้ GUI เพื่อกำหนดค่าจอภาพของคุณตามที่คุณต้องการ:

    arandr
  • ใช้ "เลย์เอาต์" -> "บันทึกเป็น" เพื่อบันทึกลงในไฟล์ที่มีคำสั่งกำหนดค่ามอนิเตอร์ของคุณ

เมื่อใช้สิ่งนี้แล้วจอภาพของฉันจะหมุนอย่างถูกต้องเมื่อฉันเข้าสู่ระบบด้วยดังนั้นจึงไม่จำเป็นต้องทำการกำหนดค่าเพิ่มเติมใน Gnome, XFCE หรือ KDE ที่อื่นที่ฉันต้องการกำหนดค่าการหมุนจอภาพอยู่ในเทอร์มินัล framebuffer เสมือนตามที่อธิบายไว้ในฉันจะหมุนจอแสดงผลเมื่อไม่ใช้ X Server ได้อย่างไร


FWIW, การติดตั้งคลีน 32 บิต 14.04 ของฉันไม่มี/etc/lightdm/lightdm.conf.d/ไดเรกทอรีและสร้างขึ้นมาหลังจากนั้นทำตามคำแนะนำที่เหลือที่นี่ไม่ทำงาน แม้ว่าคำแนะนำในคำตอบของ Electric Headนั้นใช้ได้ผล ฉันไม่แน่ใจว่าทำไมคนหนึ่งถึงทำงานและไม่ใช่คนอื่น แต่เพียงต้องการแสดงความคิดเห็นนี้เพื่อเห็นแก่ลูกหลานในกรณีที่มีคนอื่นพบสถานการณ์เดียวกันกับที่ฉันมี
reirab

7

ฟอลคอนเนอร์ตอกย้ำมันมาก แต่ฉันอยากจะชี้ให้เห็นถึงความเรียบง่าย

คุณสามารถใส่xrandrคำสั่งโดยตรงใน/etc/lightdm/lightdm.confฐานะที่เป็นเบ็ดระบบ คุณไม่จำเป็นต้องสร้างคำสั่งเชลล์เพื่อเรียกใช้สคริปต์แยกต่างหากที่มีคำสั่งเชลล์ (แน่นอนว่าคุณสามารถทำได้หากคุณเห็นเหตุผลในการทำเช่นนั้น) นอกจากนี้ยังไม่มีการพูดถึง/etc/lightdm/lightdm.conf.d/ในman lightdmและฉันไม่ได้มีทั้งนี้หรือlightdm.confในระบบของฉัน ดังนั้นแม้ว่าฉันจะแน่ใจว่ามันจะทำงานได้ตามที่สตีเฟ่นแนะนำแต่คุณไม่จำเป็นต้องทำเช่นนี้อีก

ดังนั้นหากยังไม่ได้มีอยู่แล้วบางสิ่งตามแนวต่อไปนี้ใน/etc/lightdm/lightdm.conf( sudoแน่นอน) ควรทำงานได้ดี:

[SeatDefaults]
display-setup-script=xrandr --output DVI-1 --auto --rotate left

ดูman xrandrตัวเลือกการกำหนดค่า

BTW: ฉันอาจจะได้ไปกับความเห็น / แก้ไขที่นี่ แต่ฉันไม่มีตัวแทนและฉันต้องการเพิ่มแหล่งข้อมูลสำหรับข้อมูลนี้

รุ่น

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:    14.04
Codename:   trusty

อ้างอิง


ใน 16.04 ฉันต้องการที่จะสร้างไฟล์ชื่อlightdm.confแรก จากนั้นก็ใช้งานได้ ขอบคุณสำหรับสิ่งนี้.
jbrock

ฉันยังใช้แทน[Seat:*] wiki.ubuntu.com/LightDM[SeatDefaults]
jbrock

ฉันได้มันทำงานตอนนี้กับข้างต้นและเพิ่ม; ฉันเชื่อมmonitors.xmlโยง SOFT เข้ากับ monitor.xml ของผู้ใช้ปกติ - นี่คือผู้ร้าย ขณะที่ฉันคัดลอกไฟล์แทนมันก็เริ่มทำงาน ในความคิดของฉันการตั้งค่านี้ควรเลือกได้ใน "การตั้งค่าระบบ> จอแสดงผล"
Hannu

3

16.04

การแก้ไขเพียงอย่างเดียวที่เหมาะกับฉันคือการคัดลอก~/.config/monitors.xmlไปยัง/var/lib/lightdm/.config/คล้ายกับวิธีการตอบของ Steve Deeแต่ด้วยการคัดลอกไฟล์มากกว่า symlink การสร้างลิงก์สัญลักษณ์ไม่ทำงาน

คำตอบของทั้งนกเหยี่ยวและสตีเฟ่นออสเตอร์มิลเลอร์ไม่ได้ผลสำหรับฉัน ฉันเพิ่งเห็นหน้าจอหมุนได้อย่างถูกต้องเป็นเวลา 2 วินาทีหลังจากบู๊ตจากนั้นมันหมุนกลับไปเป็นแนวนอน


ฉันแก้ไขคำตอบ วัตถุประสงค์คือเพื่อให้ผู้ใช้ 16.04 ค้นหาโซลูชันได้ง่าย
Andrej Repiský

1
นี่เป็นเพียงคนเดียวที่ได้ผลสำหรับฉันเช่นกัน! คำตอบของ Ostermiller ทำให้ฉันมีข้อผิดพลาดในการอนุญาตแม้ในขณะที่อ่านไฟล์ในบ้านของฉัน
อเล็กซ์

0

คุณเคยลองxrandr -o valueไหม เป็นการvalueใช้อย่างใดอย่างหนึ่งleftหรือright

นอกจากนี้คุณสามารถสร้างทางลัดที่กำหนดเองได้โดยทำตามวิธีการนี้


0

คำถามเดียวกันและผลลัพธ์ของฉันใน 18.10 :

คำตอบของนกเหยี่ยวเป็นสิ่งที่ดี ให้ฉันเพิ่ม 2 รายละเอียดที่ฉันต้องคิดใน 18.10:

  • แทนที่จะ[SeatDefaults]คาดหวังเวอร์ชั่นปัจจุบัน[Seat:*]
  • ที่สำคัญกว่านั้น: ฉันต้องทดลองใช้สคริปต์ข้างต้นเล็กน้อยloggerแล้วจึงxmessageสรุปได้ว่ามันถูกเรียกมันทำให้ถูกต้อง แต่แล้วผลของมันก็ถูกยกเลิกโดยความสามัคคีและความสามัคคี

ฉันลอง greeters อื่น ๆ และพวกเขาต่างก็ให้เกียรติการแก้ปัญหาและเริ่มต้นการหมุนอย่างดียกเว้นความเป็นเอกภาพเริ่มต้น ฉันลงเอยด้วยการใช้ตัวลื่น


0

ฉันมีปัญหาเดียวกันกับหน้าจอที่ไม่ถูกต้องใน Ubuntu 18.04 บนจอภาพแนวตั้ง ฉันลองxrandrคำสั่งที่กล่าวถึงตามที่ระบุในคำตอบอื่น ๆ แต่สิ่งเหล่านี้ใช้ไม่ได้สำหรับฉัน ฉันทำตามคำตอบที่แนะนำให้คัดลอก~/.config/monitors.xmlไฟล์ไปยัง/var/lib/gdm3/.configไดเรกทอรี หลังจากรีบู๊ตหน้าจอหน้าจอยังคงมีทิศทางที่ไม่ถูกต้อง ขั้นตอนต่อไปของฉันคือดูเนื้อหาของ/var/lib/gdm3/.config/monitors.xmlไฟล์ ฉันสังเกตเห็นว่ามันมีประวัติของจอภาพและการกำหนดค่าต่าง ๆ ที่ฉันใช้มาหลายปี ฉันแก้ไขไฟล์นี้เพื่อให้มีการตั้งค่าการกำหนดค่าปัจจุบันเท่านั้น

โครงสร้างของmonitors.xmlไฟล์คือมันมีหนึ่งชุด<monitors>และ</monitors>แท็กที่จุดเริ่มต้นและจุดสิ้นสุดของไฟล์ ในระหว่างแท็กเหล่านี้จะมีหนึ่งชุดขึ้นไป<configuration>และ</configuration>แท็ก แต่ละส่วนเหล่านี้มีชุด<logicalmonitor>และ</logicalmonitor>แท็กอย่างน้อยหนึ่งชุด แต่ละส่วนเหล่านี้ระบุจอภาพหนึ่งจอพร้อมพารามิเตอร์เช่นยี่ห้อและประเภทการวางแนว (หากไม่ใช่แนวนอน) ความกว้างความสูง x, y และอัตราการรีเฟรช นอกจากนี้ยังระบุว่าจอภาพเป็นจอภาพหลักหรือไม่ ในไฟล์ของฉันการตั้งค่าปัจจุบันอยู่ใกล้กับด้านล่างของไฟล์ ฉันลบ<configuration> </configuration>หัวข้อทั้งหมดที่ไม่ได้อธิบายการตั้งค่าปัจจุบันของฉัน ผลลัพธ์จะเป็นดังนี้:

<monitors version="2">
  <configuration>
    <logicalmonitor>
      .. primary monitor specification (vertical)
      <primary>yes</primary>
      <transform>
        <rotation>left</rotation>
        <flipped>no</flipped>
      </transform>
    </logicalmonitor>
    <logicalmonitor>
      .. secondary monitor specification (horizontal)
    </logicalmonitor>
  </configuration>
</monitors>

ตอนนี้ฉันรีคอมพิวเตอร์ของฉัน เวลานี้หน้าต่าง screener มีการวางแนวที่ถูกต้อง ฉันเดาว่าประวัติที่บันทึกไว้ในmonitors.xmlไฟล์ต้นฉบับก่อให้เกิดปัญหา

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