Tôi đã sử dụng để chỉnh sửa tập lệnh khởi động cho GDM (/ etc / gdm / init / Default) để thay đổi vĩnh viễn độ phân giải màn hình của tôi.
Làm cách nào tôi có thể làm điều này với LigthDM trong Ubuntu Oneiric?
Tôi đã sử dụng để chỉnh sửa tập lệnh khởi động cho GDM (/ etc / gdm / init / Default) để thay đổi vĩnh viễn độ phân giải màn hình của tôi.
Làm cách nào tôi có thể làm điều này với LigthDM trong Ubuntu Oneiric?
Câu trả lời:
Tôi nghĩ bạn có thể thêm các chế độ hiển thị vào /etc/X11/xorg.conf
.
Nếu bạn không có xorg.conf
, thì bạn có thể sử dụng như sau. Bạn cần phải thay thế các mục với tên Modeline
, Driver
và Modes
với các mục chính xác cho hệ thống của bạn. Tùy thuộc vào phần cứng của bạn, bạn có thể cần các mục bổ sung, ví dụ nếu hệ thống của bạn có nhiều hơn một chip đồ họa.
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
Nếu bạn không biết tên của trình điều khiển video mà hệ thống của bạn đang sử dụng thì bạn có thể nhận được tên như sau (nếu bạn có chip đồ họa intel, tên trình điều khiển chỉ là "intel"):
lshw -class display | grep "driver"
Các mô hình có thể được tạo ra với cvt
:
cvt <h-resolution> <v-resolution> [refresh]
cvt
lệnh và trình điều khiển từ cái khác (và cũng đã thử vesa
), nhưng nó chỉ treo mà không có thông báo lỗi. Giải pháp của Jon Roberts hoạt động hoàn hảo với tôi và không phụ thuộc vào những thứ như trình điều khiển card màn hình mà bạn đề cập ở đây có thể dễ dàng sai đối với người mới, vì vậy tôi bỏ phiếu trả lời.
lshw
đầu ra i915
, tuy nhiên trình điều khiển chính xác là intel
.
Sửa đổi /etc/lightdm/lightdm.conf
để thêm các tùy chọn sau:
display-setup-script> gọi mycustomloginvideo.sh của bạn trước khi màn hình đăng nhập xuất hiện
session-setup-script> gọi mycustomdesktopvideo.sh của bạn trước khi phiên máy tính để bàn của người dùng bắt đầu
[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
Bạn có thể có công cụ gui "arandr" tạo tập lệnh sh ở trên, chọn tham số từ cấu hình X của phiên hiện tại của bạn.
Đảm bảo rằng tập lệnh shell của bạn có thể thực thi được:
chmod a+x /usr/share/mycustom*video.sh
và bạn có thể kiểm tra xem nó có hoạt động không (tức là bạn không có lỗi chính tả hoặc lỗi cấu hình trong lệnh xrandr của bạn) chỉ bằng cách chạy nó trong một thiết bị đầu cuối:
/usr/share/mycustomdesktopvideo.sh
Nếu tập lệnh đăng nhập không hoạt động vì bất kỳ lý do nào, máy của bạn có thể không hoàn thành quá trình khởi động vào màn hình đăng nhập. Nếu tập lệnh máy tính để bàn bị lỗi, bạn có thể không nhận được máy tính để bàn sau khi đăng nhập. Nếu bạn đang đặt màn hình ngoài, các tập lệnh này sẽ thất bại khi bạn ngắt kết nối và phiên X sẽ không bắt đầu.
display-setup-script
tập lệnh vì Xfce đã cài đặt nó bằng cài đặt hiển thị, vì vậy, session-setup-script
tôi đã bỏ qua màn hình đăng nhập.
Một số người đã đăng một cách giải quyết khác, mặc dù tôi phải nói rằng nó không hiệu quả với tôi. Nó có thể làm việc cho bạn. Trong trường hợp của tôi, nó phá vỡ sự thống nhất và tôi chỉ có thể di chuyển con trỏ chuột xung quanh. Bảng điều khiển trên cùng của chỉ báo ứng dụng trông trống rỗng, nhưng sau khi rút LCD ra, tôi có thể xóa các dòng được thêm vào và mọi thứ trở lại bình thường.
chỉnh sửa tập tin /usr/sbin/lightdm-session
Đây là cách phần đầu tiên của tập tin đó bây giờ:
#!/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
Hãy lưu ý rằng các cài đặt Xrandr nên được thay đổi để phù hợp với cài đặt của bạn.
Tôi đã cố gắng giải quyết một vấn đề tương tự trong một thời gian và tìm thấy một giải pháp hiệu quả cho tôi vì vậy hy vọng nó sẽ giúp ...
Tôi có một chiếc AOA110 cũ khao khát mà tôi đã làm hỏng màn hình quá nhiều lần và sau khi mua một chiếc máy tính xách tay mới đã quyết định rằng tôi sẽ cố gắng biến nó thành một HTPC nhưng màn hình bên ngoài mà tôi không nhận ra được vì vậy tôi phải 'tinh chỉnh' nó nhiều lần để làm cho nó hoạt động ở độ phân giải chính xác.
Đây là những gì tôi đã làm:
Sau khi sử dụng http://ubuntuforums.org/showthread.php?t=1112186 này đến bước 5, tôi đã có thể tìm thấy một độ phân giải hoạt động và chấp nhận được trong xrandr nhưng điều này không hoạt động trên màn hình đăng nhập LightDM.
Đừng làm theo các bước để làm cho nó bền bỉ ở trên để làm thế nào để nó hoạt động nhưng tôi nghĩ đây là cách thích hợp để làm điều đó trong 11.10. Tôi tìm thấy bài đăng này trên ArchWiki https://wiki.archlinux.org/index.php/Xorg mà tôi đã điều chỉnh theo nhu cầu của mình.
Đầu tiên tạo một tập tin ở đây: /etc/X11/xorg.conf.d/10-monitor.conf
Sau đó, thêm các chi tiết X thích hợp cho màn hình của bạn ở đây là giao diện của tôi:
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
Các bit quan trọng cần thêm nằm dưới phần thích hợp Section "Monitor"
bao gồm phần thích hợp Modeline
mà bạn tìm thấy trong khi sử dụng gtf 1440 900 60.00
và sau đó theo phần tương ứng Section "Screen"
bao gồm cả phần chính xác Modes
.
Bạn sẽ nhận thấy rằng những gì tôi đã cố gắng không chỉ là đặt kết nối VGA1 thành độ phân giải phù hợp mà còn bảo nó không sử dụng đầu ra LVDS1 của tôi. Rõ ràng là bạn sẽ cần phải điều chỉnh phù hợp của bạn để phù hợp với số lượng đầu ra phù hợp và các phần Thiết bị, Màn hình và Hiển thị phù hợp cho thiết lập của bạn.
Xin lỗi vì bài đăng hoành tráng, tôi đã điều chỉnh các tệp xorg.conf một thời gian với màn hình Hannspree tôi đã sử dụng và các thiết lập xorg.conf cũ mà tôi đã sử dụng trước 11.10 không hoạt động chính xác nữa. giải pháp duy nhất tôi đã tìm thấy hoạt động.
Chúc may mắn!
xrandr -q
sẽ cung cấp cho bạn thông tin chính xác về việc màn hình nào đang được sử dụng và các chế độ có thể.
Xorg :1 -configure
, nó tạo ra một máy chủ X mới và tạo một tệp cấu hình từ nó - điều này có thể được sao chép từ /root/xorg.conf.new
sang /etc/X11/xorg.conf
. Tôi tìm thấy một cách tốt hơn là câu trả lời ở trên
Tôi đã có một vấn đề tương tự với máy tính xách tay của tôi như trên và tôi muốn thêm một cái gì đó vào cuộc trò chuyện. Nếu bạn không quan tâm đến độ phân giải đăng nhập (tôi không), nhưng muốn không gian làm việc thực tế là độ phân giải phù hợp, bạn có thể thêm thông tin màn hình của mình vào LightDM nhưng không bật độ phân giải đầy đủ cho đến khi bạn đăng nhập.
Tôi vừa thêm đoạn script sau cho màn hình của mình vào một tệp: lighdmxrandr
xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
xrandr --addmode VGA1 1440x900_60.00
sau đó tôi gọi nó vào /etc/lightdm/lightdm.conf
display-setup-script=/usr/bin/lightdmxrandr
Khi tôi đăng nhập, tôi có thể thiết lập màn hình của mình trong Hiển thị và nó hoạt động, ngay cả sau khi tôi đăng nhập lại (được sử dụng để gây cho tôi một lỗi lớn xấu xí).
Như một sự nâng cao cho câu trả lời của Jon Roberts, hãy để tôi xác định rằng arandr không bao gồm trong việc tạo tập lệnh sh của nó tất cả các tham số hoạt động trong phiên hiện tại. Màn hình chính (trong trường hợp bạn đang sử dụng cấu hình màn hình kép), chẳng hạn như cài đặt tốc độ làm mới và gamma cho mỗi màn hình. Kịch bản phiên của tôi trông như thế:
#!/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
Tôi đã thêm thủ công các tùy chọn --rate và --primary trong dòng đầu tiên và sau đó thêm thủ công một dòng thứ hai với hiệu chỉnh gamma vì rõ ràng cài đặt gamma xrandr bị mất mỗi khi bạn chuyển màn hình sang chính .
Tôi không biết hành vi cụ thể này với cài đặt gamma khi thực hiện mục đích chính của màn hình hay là lỗi.
Ngoài ra, tập lệnh shell phiên không được gọi bởi lightdm mà là một ứng dụng khởi động, vì dường như lightdm gọi tập lệnh trước khi mọi thứ sẵn sàng cho xrandr và những điều kỳ lạ xảy ra.
Tôi gặp vấn đề muốn hiển thị mở rộng trên hộp LXDE mới của mình, (không phải bản sao kép), đã tìm thấy lệnh chính xác, nhưng không thể làm cho nó vĩnh viễn.
xrandr --output VGA-0 --right-of DVI-0
Tất cả các phương pháp trên dường như quá khó / không đúng cách để làm điều đó.
Cuối cùng tôi đã tìm thấy cái này: http://www.sudo-juice.com/change-lxde-screen-resolution-ubfox-lub Ubuntu /
Điều đó đã làm việc một điều trị, nhưng tôi đã sử dụng gedit thay thế:
gksu gedit /etc/xdg/lxsession/LXDE/autostart
Sau đó, thêm dòng ở cuối bằng ký hiệu @ ở đầu:
@xrandr --output VGA-0 --right-of DVI-0
Hy vọng rằng sẽ giúp và cảm ơn bạn để sudo-Juice.
PS Lưu ý nhân đôi -
trong lệnh xrandr --
(không hiển thị quá rõ trên màn hình của tôi).
Tạo một tài liệu mới và đặt tên cho nó, ví dụ: /home/yourusername/yourscriptname.sh
Nhập vào
#!/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
và lưu nó trong thư mục nhà của bạn (điều này đặt độ phân giải thành 1600x900)
Mở Ứng dụng khởi động (hoặc chạy gnome-session-properties
) và nhấp vào "THÊM". Đặt tên và gõ vào dòng lệnh:
bash /home/yourusername/yourscriptname.sh
Lưu nó và bây giờ tập lệnh sẽ được chạy ngay bây giờ mỗi khi bạn đăng nhập, vì vậy bạn sẽ cần phải đăng xuất trước để nó có hiệu lực. Chạy lệnh (ví dụ bash /home/yourusername/yourscriptname.sh
) trong một thiết bị đầu cuối cũng sẽ là một ý tưởng tốt để kiểm tra xem tập lệnh có hoạt động hay không.
/usr/bin
không hoạt động, nhưng thêm tập lệnh đó vào các ứng dụng khởi động của tôi bằng cách sử dụng gnome-session-properties
đã thành công!
Dựa trên các phản hồi trên, tôi đã thực hiện một số thử nghiệm và tìm thấy một phương pháp hữu ích phù hợp với mình, sau đó tôi đã tạo một tập lệnh đơn giản để tự động hóa nó với các cài đặt tự động của tôi. Nhưng nó sẽ làm việc cho bất kỳ trường hợp khác.
Tạo một scriptinstallxrandrfixed.sh Thêm các dòng sau:
#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
nó sẽ tạo các tập lệnh và các tập tin để hiển thị và phiên lightdm. đừng quên cho phép nó thực thi
chmod + x scriptinstallxrandrfixed.sh
Và thực hiện
./scriptinstallxrandrfixed.sh (bạn phải được đặt trong cùng thư mục nơi bạn có tệp.)
nếu không trong cùng thư mục: /path/to/script/scriptinstallxrandrfixed.sh
Sửa đổi nó để đáp ứng nhu cầu của bạn. Trân trọng. Pablo.