ฉันใช้เพื่อแก้ไขสคริปต์เริ่มต้นสำหรับ GDM (/ etc / gdm / Init / Default) เพื่อเปลี่ยนความละเอียดการแสดงผลของฉันอย่างถาวร
ฉันจะทำสิ่งนี้กับ LigthDM ใน Ubuntu Oneiric ได้อย่างไร
ฉันใช้เพื่อแก้ไขสคริปต์เริ่มต้นสำหรับ GDM (/ etc / gdm / Init / Default) เพื่อเปลี่ยนความละเอียดการแสดงผลของฉันอย่างถาวร
ฉันจะทำสิ่งนี้กับ LigthDM ใน Ubuntu Oneiric ได้อย่างไร
คำตอบ:
ฉันคิดว่าคุณสามารถเพิ่มโหมดการแสดงผล/etc/X11/xorg.conf
ได้
หากคุณไม่มี a xorg.conf
คุณสามารถใช้สิ่งต่อไปนี้เป็นพื้นฐาน คุณต้องแทนที่รายการที่มีชื่อModeline
, Driver
และModes
กับรายการที่ถูกต้องสำหรับระบบของคุณ ขึ้นอยู่กับฮาร์ดแวร์ของคุณคุณอาจต้องการรายการเพิ่มเติมเช่นหากระบบของคุณมีชิปกราฟิกมากกว่าหนึ่งชิป
Section "Monitor"
Identifier "Monitor0"
Modeline "1280x1024_60.00" 109.00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
Modeline "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Modes "1280x1024_60.00" "1024x768_60.00"
EndSubSection
EndSection
Section "Device"
Identifier "Card0"
Driver "nvidia"
EndSection
หากคุณไม่ทราบชื่อไดรเวอร์วิดีโอที่ระบบของคุณใช้อยู่คุณอาจได้รับชื่อดังต่อไปนี้ (หากคุณมีชิปกราฟิก Intel ชื่อไดรเวอร์นั้นเป็นเพียง "intel"):
lshw -class display | grep "driver"
modelines สามารถสร้างได้ด้วยcvt
:
cvt <h-resolution> <v-resolution> [refresh]
cvt
คำสั่งและไดรเวอร์จากอีกอันหนึ่ง (และลองvesa
ด้วย) แต่มันก็แค่แขวนโดยไม่มีข้อความแสดงข้อผิดพลาด วิธีการแก้ปัญหาของจอนโรเบิร์ตทำงานได้อย่างสมบูรณ์แบบสำหรับฉันและเป็นอิสระจากสิ่งต่าง ๆ เช่นไดรเวอร์การ์ดแสดงผลที่คุณพูดถึงที่นี่ซึ่งอาจผิดพลาดได้ง่ายสำหรับมือใหม่ดังนั้นฉันจึงโหวตคำตอบของเขา
lshw
เอาท์พุทแต่คนขับรถที่ถูกต้องคือi915
intel
แก้ไข/etc/lightdm/lightdm.conf
เพื่อเพิ่มตัวเลือกต่อไปนี้:
display-setup-script> โทร mycustomloginvideo.sh ของคุณก่อนที่หน้าจอเข้าสู่ระบบจะปรากฏขึ้น
session-setup-script> เรียก mycustomdesktopvideo.sh ของคุณก่อนเริ่มเซสชันเดสก์ท็อปผู้ใช้
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
# for your login screen, e.g. LightDM (Ubuntu 11.10) or GDM (11.04 or earlier)
display-setup-script=/usr/share/mycustomloginvideo.sh
# for your desktop session
session-setup-script=/usr/share/mycustomdesktopvideo.sh
คุณอาจมีเครื่องมือ "arandr" gui สร้างสคริปต์ sh ข้างต้นเลือกพารามิเตอร์จากการกำหนดค่า X ของเซสชันปัจจุบันของคุณ
ตรวจสอบให้แน่ใจว่าเชลล์สคริปต์ของคุณสามารถเรียกใช้งานได้:
chmod a+x /usr/share/mycustom*video.sh
และคุณสามารถทดสอบว่ามันใช้งานได้ (เช่นคุณไม่มีข้อผิดพลาดในการพิมพ์หรือการกำหนดค่าในคำสั่ง xrandr ของคุณ) เพียงแค่รันมันในเทอร์มินัล:
/usr/share/mycustomdesktopvideo.sh
หากสคริปต์ล็อกอินไม่ทำงานไม่ว่าด้วยเหตุผลใดก็ตามเครื่องของคุณอาจไม่เสร็จสิ้นขั้นตอนการบู๊ตไปยังหน้าจอเข้าสู่ระบบ หากสคริปต์เดสก์ท็อปล้มเหลวคุณอาจไม่ได้รับเดสก์ท็อปหลังจากลงชื่อเข้าใช้หากคุณตั้งค่าจอภาพภายนอกสคริปต์เหล่านี้จะล้มเหลวเมื่อคุณตัดการเชื่อมต่อและ X เซสชันจะไม่เริ่มทำงาน
display-setup-script
สคริปต์เนื่องจาก Xfce ตั้งค่าไว้แล้วโดยการตั้งค่าการแสดงผลดังนั้นsession-setup-script
ฉันเพิ่งทิ้งฉันที่หน้าจอเข้าสู่ระบบ
บางคนโพสต์วิธีแก้ปัญหาอื่นแม้ว่าฉันต้องบอกว่ามันไม่ได้ผลสำหรับฉัน มันอาจเป็นไปได้สำหรับคุณ ในกรณีของฉันมันเป็นอันหนึ่งอันเดียวกันและฉันสามารถเลื่อนเคอร์เซอร์เมาส์ไปได้เท่านั้น แผงด้านบนตัวบ่งชี้แอพว่างเปล่า แต่หลังจากถอดปลั๊ก LCD ฉันสามารถลบบรรทัดที่เพิ่มและทุกอย่างกลับเป็นปกติ
แก้ไขไฟล์ /usr/sbin/lightdm-session
นี่คือลักษณะที่ส่วนแรกของไฟล์นั้นมีลักษณะ:
#!/bin/sh
#
# LightDM wrapper to run around X sessions.
echo "Running X session wrapper"
# Load profile
for file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; do
if [ -f "$file" ]; then
echo "Loading profile from $file";
. "$file"
fi
done
xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
xrandr --addmode CRT1 1368x768_60.00
xrandr --output CRT1 --mode 1368x768_60.00
# Load resources
โปรดทราบว่าควรเปลี่ยนการตั้งค่า Xrandr เพื่อให้ตรงกับความต้องการของคุณ
ฉันพยายามแก้ปัญหาที่คล้ายกันมาระยะหนึ่งแล้วและพบวิธีแก้ปัญหาที่เหมาะกับฉันดังนั้นหวังว่ามันจะช่วย ...
ฉันมี AOA110 รุ่นเก่าที่มีหน้าจอหลายต่อหลายครั้งและหลังจากซื้อแล็ปท็อปเครื่องใหม่แล้วตัดสินใจว่าฉันจะลองเปลี่ยนเป็น HTPC แต่จอภายนอกฉันไม่รู้จัก X ดังนั้นฉันต้อง 'บิด' หลายครั้งเพื่อให้มันทำงานได้อย่างถูกต้อง
นี่คือสิ่งที่ฉันทำ:
หลังจากใช้http://ubuntuforums.org/showthread.php?t=1112186บทช่วยสอนนี้จนถึงขั้นตอนที่ 5 ฉันสามารถค้นหาวิธีแก้ไขที่ใช้งานได้และเป็นที่ยอมรับใน xrandr แต่นี่ไม่ได้ทำงานบนหน้าจอเข้าสู่ระบบ LightDM
อย่าทำตามขั้นตอนต่าง ๆ เพื่อให้ถาวรในวิธีการใช้งานข้างต้น แต่ฉันคิดว่านี่เป็นวิธีที่เหมาะสมในการทำ 11.10 ฉันพบโพสต์นี้ใน ArchWiki https://wiki.archlinux.org/index.php/Xorgซึ่งฉันปรับให้เข้ากับความต้องการของฉัน
ขั้นแรกสร้างไฟล์ที่นี่: /etc/X11/xorg.conf.d/10-monitor.conf
จากนั้นเพิ่มรายละเอียด X ที่เหมาะสมสำหรับการแสดงผลของคุณที่นี่เป็นลักษณะของฉัน:
Section "ServerLayout"
Identifier "DualSreen"
Screen 0 "Screen0"
Screen 1 "Screen1" RightOf "Screen0" #Screen1 at the right of Screen0
#Option "Xinerama" "1" #To move windows between screens
EndSection
Section "Monitor"
Identifier "LVDS1"
Option "ignore" "true"
EndSection
Section "Monitor"
Identifier "VGA1"
Option "Enable" "true"
Modeline "1440x900_60.00" 106.47 1440 1520 1672 1904 900 901 904 932 -HSync +Vsync
EndSection
Section "Device"
Identifier "Device0"
Driver "intel"
Screen 0
EndSection
Section "Device"
Identifier "Device1"
Driver "intel"
Screen 1
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "VGA1"
DefaultDepth 24
Option "TwinView" "0"
SubSection "Display"
Depth 24
Modes "1440x900_60.00"
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "LVDS1"
DefaultDepth 24
Option "TwinView" "0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
บิตสิ่งสำคัญที่จะอยู่ภายใต้การเพิ่มที่เหมาะสมSection "Monitor"
รวมถึงการที่เหมาะสมModeline
ที่คุณพบในขณะที่ใช้gtf 1440 900 60.00
แล้วภายใต้ที่สอดคล้องกันรวมทั้งการที่ถูกต้องSection "Screen"
Modes
คุณจะสังเกตเห็นว่าสิ่งที่ฉันพยายามทำไม่ใช่แค่ตั้งค่าการเชื่อมต่อ VGA1 ให้เป็นความละเอียดที่เหมาะสม แต่ยังบอกด้วยว่าอย่าใช้เอาต์พุต LVDS1 ของฉัน เห็นได้ชัดว่าคุณจะต้องปรับแต่งของคุณอย่างเหมาะสมเพื่อให้ตรงกับจำนวนเอาท์พุทที่เหมาะสมและส่วนอุปกรณ์หน้าจอและจอแสดงผลที่เหมาะสมสำหรับการตั้งค่าของคุณ
ขออภัยสำหรับมหากาพย์การโพสต์ฉันได้รับการปรับแต่งไฟล์ xorg.conf บางครั้งตอนนี้กับจอแสดงผล Hannspree ฉันได้ใช้และการตั้งค่า xorg.conf เก่าที่ฉันใช้ก่อน 11.10 เพียงไม่ทำงานอย่างถูกต้องอีกต่อไปนี่คือ ทางออกเดียวที่ฉันพบว่าใช้งานได้
โชคดี!
xrandr -q
ควรให้ข้อมูลที่ถูกต้องเกี่ยวกับการใช้งานจอภาพและโหมดที่เป็นไปได้
Xorg :1 -configure
ซึ่งสร้างเซิร์ฟเวอร์ X ใหม่และสร้างไฟล์กำหนดค่าจากไฟล์ซึ่งสามารถคัดลอกจาก/root/xorg.conf.new
ไปยัง/etc/X11/xorg.conf
ได้ ฉันพบวิธีที่ดีกว่าคือคำตอบข้างต้น
ฉันมีปัญหาที่คล้ายกันกับแล็ปท็อปของฉันดังกล่าวข้างต้นและฉันต้องการเพิ่มบางสิ่งบางอย่างในการสนทนา หากคุณไม่สนใจเกี่ยวกับความละเอียดในการลงชื่อเข้าใช้ (ฉันไม่ได้) แต่ต้องการให้เวิร์กสเปซจริงเป็นความละเอียดที่ถูกต้องคุณสามารถเพิ่มข้อมูลจอภาพของคุณลงใน LightDM แต่ไม่เปิดความละเอียดเต็มจนกว่าคุณจะเข้าสู่ระบบ
ฉันเพิ่งเพิ่มสคริปต์ต่อไปนี้สำหรับมอนิเตอร์ของฉันในไฟล์: lighdmxrandr
xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
xrandr --addmode VGA1 1440x900_60.00
แล้วฉันจะเรียกมันว่า /etc/lightdm/lightdm.conf
display-setup-script=/usr/bin/lightdmxrandr
เมื่อฉันเข้าสู่ระบบฉันสามารถตั้งค่าจอภาพของฉันในการแสดงผลและใช้งานได้แม้หลังจากที่ฉันเข้าสู่ระบบอีกครั้ง (ใช้เพื่อให้ฉันข้อผิดพลาดที่น่าเกลียดขนาดใหญ่)
ในฐานะที่เป็นคำตอบสำหรับ Jon Roberts ให้ฉันระบุว่า arandr ไม่ได้รวมอยู่ในการสร้างสคริปต์ทุกพารามิเตอร์ที่ทำงานในเซสชันปัจจุบัน จอภาพหลัก (ในกรณีที่คุณใช้การกำหนดค่าจอภาพสองจอ) อัตราการรีเฟรชและการตั้งค่าแกมม่าสำหรับแต่ละจอภาพจะไม่รวมอยู่ สคริปต์เซสชันของฉันดูเหมือนว่า:
#!/bin/sh
xrandr --output LVDS --mode 1366x768 --pos 1600x432 --rotate normal --output HDMI-0 --off --output DVI-0 --off --output VGA-1 --mode 1600x1200 --rate 85 --pos 0x0 --rotate normal --primary
xrandr --output VGA-1 --gamma 0.8:0.7:0.55
ฉันเองเพิ่มตัวเลือก --rate และ --primary ในบรรทัดแรกแล้วเพิ่มด้วยตนเองบรรทัดที่สองกับการแก้ไขแกมมาเพราะเห็นได้ชัดว่าการตั้งค่าแกมมา xrandr จะหายไปเมื่อใดก็ตามที่คุณเปลี่ยนจอภาพให้หลัก
ฉันไม่ทราบว่าพฤติกรรมนี้โดยเฉพาะกับการตั้งค่าแกมม่าเมื่อสร้างจอภาพหลักมีจุดประสงค์หรือเป็นข้อบกพร่อง
นอกจากนี้เซสชันเชลล์สคริปต์ไม่ถูกเรียกใช้โดย lightdm แต่เป็นแอปพลิเคชันเริ่มต้นเนื่องจากดูเหมือนว่า lightdm จะเรียกใช้สคริปต์ก่อนที่สิ่งต่าง ๆ จะพร้อมสำหรับ xrandr และสิ่งแปลก ๆ เกิดขึ้น
ฉันมีปัญหาในการต้องการจอแสดงผลแบบขยายบนกล่อง LXDE ใหม่ของฉัน (ไม่ใช่โคลนคู่) พบคำสั่งที่ถูกต้อง แต่ไม่สามารถทำให้ถาวรได้
xrandr --output VGA-0 --right-of DVI-0
วิธีการข้างต้นดูเหมือนยากเกินไป / ไม่ใช่วิธีที่ถูกต้อง
ในที่สุดฉันก็พบสิ่งนี้: http://www.sudo-juice.com/change-lxde-screen-resolution-ubuntu-lubuntu/
แต่ฉันใช้ gedit แทน:
gksu gedit /etc/xdg/lxsession/LXDE/autostart
จากนั้นเพิ่มบรรทัดที่ท้ายด้วยสัญลักษณ์ @ ที่จุดเริ่มต้น:
@xrandr --output VGA-0 --right-of DVI-0
หวังว่าจะช่วยและขอบคุณน้ำผลไม้ซูโดะ
ปล. สังเกต-
คำสั่งคู่ในคำสั่ง xrandr --
(ไม่ปรากฏขึ้นอย่างชัดเจนบนหน้าจอของฉัน)
สร้างเอกสารใหม่และตั้งชื่อเช่น/home/yourusername/yourscriptname.sh
พิมพ์
#!/bin/bash
xrandr --newmode "1600x900_60.00" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync
xrandr --addmode VGA1 1600x900_60.00
xrandr --output VGA1 --mode 1600x900_60.00
unity --replace
และบันทึกลงในโฟลเดอร์โฮมของคุณ (นี่จะกำหนดความละเอียดเป็น 1600x900)
เปิดแอปพลิเคชันเริ่มต้น(หรือเรียกใช้gnome-session-properties
)และคลิก "เพิ่ม" ตั้งชื่อและประเภทในบรรทัดคำสั่ง:
bash /home/yourusername/yourscriptname.sh
บันทึกและตอนนี้สคริปต์จะทำงานตอนนี้ทุกครั้งที่คุณลงชื่อเข้าใช้ดังนั้นคุณจะต้องออกจากระบบก่อนจึงจะมีผล การรันคำสั่ง (เช่นbash /home/yourusername/yourscriptname.sh
) ในเทอร์มินัลก็เป็นความคิดที่ดีเช่นกันในการตรวจสอบว่าสคริปต์ทำงานหรือไม่
/usr/bin
ไม่ทำงาน แต่การเพิ่มสคริปต์นั้นไปยังแอปเริ่มต้นใช้งานของฉันgnome-session-properties
ประสบความสำเร็จ!
จากการตอบกลับส่วนบนฉันได้ทำการทดสอบและพบวิธีที่มีประโยชน์สำหรับฉันแล้วฉันได้สร้างสคริปต์ง่ายๆเพื่อทำให้เป็นอัตโนมัติด้วยการติดตั้งอัตโนมัติของฉัน แต่มันจะทำงานกับกรณีอื่น ๆ
สร้าง scriptinstallxrandrfixed.sh เพิ่มบรรทัดเหล่านี้:
#Variables for lightdm script and xrandr script to setup fixed resolution for old displays:
xrandrscript=/usr/local/bin/xrandrscript.sh
lightdmstartscript=/usr/share/lightdm/lightdm.conf.d/60-xrandrscript.conf
#Added old style configuration for lightdm:
sudo ln -s /usr/share/lightdm/lightdm.conf.d /etc/lightdm/lightdm.conf.d
#A fix to some old displays in high school at Fray Bentos, fix to 1024x768
#Some useful information comes from: http://askubuntu.com/questions/63681/how-can-i-make-xrandr-customization-permanent
sudo sh -c "echo '[SeatDefaults]' > $lightdmstartscript"
# for your login screen, e.g. LightDM (Ubuntu 11.10) or GDM (11.04 or earlier)
sudo sh -c "echo 'display-setup-script=$xrandrscript' >> $lightdmstartscript"
# for your desktop session
sudo sh -c "echo 'session-setup-script=$xrandrscript' >> $lightdmstartscript"
sudo sh -c "echo 'xrandr --size 1024x768 --rate 60.0' > $xrandrscript"
sudo chmod +x $xrandrscript
มันจะสร้างสคริปต์และไฟล์สำหรับการแสดง lightdm และเซสชั่น อย่าลืมให้สิทธิ์ในการดำเนินการ
chmod + x scriptinstallxrandrfixed.sh
และดำเนินการ
./scriptinstallxrandrfixed.sh (คุณต้องอยู่ในไดเรกทอรีเดียวกับที่คุณมีไฟล์)
หากไม่อยู่ในไดเรกทอรีเดียวกัน: /path/to/script/scriptinstallxrandrfixed.sh
ปรับเปลี่ยนตามความต้องการของคุณ ขอแสดงความนับถือ. ปาโบล