xrandr 사용자 정의를 영구적으로 만들려면 어떻게해야합니까?


65

디스플레이 해상도를 영구적으로 변경하기 위해 GDM의 시작 스크립트 (/ etc / gdm / Init / Default)를 편집했습니다.

Ubuntu Oneiric에서 LigthDM을 사용하여이 작업을 수행하려면 어떻게해야합니까?


홈 폴더의 .xprofile에 추가하십시오. 참조 askubuntu.com/questions/63863/... 해상도를 설정하고 .xprofile에 추가로 기본 가이드를 위해
duffydack

답변:


21

에 디스플레이 모드를 추가 할 수 있다고 생각합니다 /etc/X11/xorg.conf.

이없는 경우 xorg.conf다음을 기본으로 사용할 수 있습니다. 당신은 이름을 가진 항목을 교체해야 Modeline, DriverModes시스템에 대한 올바른 항목으로. 하드웨어에 따라 시스템에 둘 이상의 그래픽 칩이있는 경우 추가 항목이 필요할 수 있습니다.

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

시스템에서 사용중인 비디오 드라이버의 이름을 모르는 경우 다음과 같이 이름을 얻을 수 있습니다 (인텔 그래픽 칩이있는 경우 드라이버 이름은 "인텔"입니다).

lshw -class display | grep "driver"

다음과 cvt같이 모델을 생성 할 수 있습니다 .

cvt <h-resolution> <v-resolution> [refresh]

나는 이것을 시도했지만 어떤 이유로 부팅되지 않을 것입니다. cvt명령 에서 생성 된 모델 과 다른 드라이버에서 드라이버를 사용했지만 시도했지만 vesa오류 메시지가 표시되지 않았습니다. Jon Roberts의 솔루션은 나를 위해 완벽하게 작동했으며 여기에서 언급 한 비디오 카드 드라이버와 같은 것과는 독립적으로 초보자에게 쉽게 잘못 될 수 있으므로 그의 대답을 투표하고 있습니다.
Mike

1
이것은 --rotate와 같은 것에 도움이되지 않는 것 같습니다.
Jherico

2
이 답변은 구식입니다. 참조 존 로버츠 (John Roberts) 응답을
사기-f는-사용

+1 Perfect-o! Gnome 3.16이 포함 된 GDM을 사용하면 GDm에서 1080p 모니터를 인식하게되었습니다. 감사합니다!
eduncan911

내 컴퓨터에서 lshw출력 i915하지만 올바른 드라이버는 intel입니다.
user202729

63

/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 도구가 현재 세션의 X 구성에서 매개 변수를 선택하여 위의 sh 스크립트를 생성하도록 할 수 있습니다.

쉘 스크립트가 실행 가능한지 확인하십시오.

chmod a+x /usr/share/mycustom*video.sh

터미널에서 실행하여 작동하는지 (즉, xrandr 명령에 오타 나 구성 오류가 없는지) 테스트 할 수 있습니다.

/usr/share/mycustomdesktopvideo.sh

어떤 이유로 든 로그인 스크립트가 작동하지 않으면 컴퓨터가 로그인 화면으로 부팅 프로세스를 완료하지 못할 수 있습니다. 데스크탑 스크립트가 실패하면 로그인 한 후 데스크탑을 얻지 못할 수 있습니다. 외부 모니터를 설정하는 경우 연결을 해제하면이 스크립트가 실패하고 X 세션이 시작되지 않습니다.


mdm을 사용하는 Mint 13 XFCE의 경우 / etc / mdm / Init / Default를 편집하십시오. "exit 0"전에 스크립트를 호출하십시오
StackUnder

Evnn은 Fedora에서 작동합니다 ... display-setup-scriptXfce가 이미 디스플레이 설정으로 설정했기 때문에 스크립트 만 필요 했기 때문에 session-setup-script로그인 화면에 저를 버렸습니다.
Wilf

10

일부는 다른 해결 방법을 게시했지만 나에게 도움이되지 않았다고 말해야합니다. 아마 당신을 위해 일할 수 있습니다. 내 경우에는 통일성이 깨지고 마우스 커서를 움직일 수만 있습니다. 앱 표시기 상단 패널이 비어있는 것처럼 보이지만 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 설정은 사용자의 설정과 일치하도록 변경해야합니다.


이 솔루션은 오래된 시스템에서 lubuntu 17.x에 적합했습니다. 세션에만 영향을 미치므로 인사말 로그인 화면에 원하는 해상도가 표시되지 않습니다.
laconbass

6

나는 잠시 동안 비슷한 문제를 해결하려고 노력해 왔으며 나에게 도움이되는 해결책을 찾았습니다.

화면을 너무 많이 broken은 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 출력을 사용하지 말라고 알려주는 것입니다. 분명히 올바른 수의 출력과 설정에 적합한 장치, 화면 및 디스플레이 섹션에 맞게 적절히 조정해야합니다.

서사시 게시물에 대해 죄송합니다. 지금 사용하고 있던 Hannspree 디스플레이와 11.10 이전의 이전 xorg.conf 설정을 사용하여 xorg.conf 파일을 한동안 조정했습니다. 이제 더 이상 제대로 작동하지 않습니다. 내가 찾은 해결책 만 작동합니다.

행운을 빕니다!


를 사용하면 사용 xrandr -q중인 디스플레이와 가능한 모드에 대한 올바른 정보가 제공됩니다.
faithinfriction

기본 설정 파일은 실행에 의해 생성 될 수있다 Xorg :1 -configure이는 복사 할 수 있습니다 - 새로운 X 서버를 만들고 그것에서 설정 파일을 생성 /root/xorg.conf.new하는 /etc/X11/xorg.conf. 더 좋은 방법은 위의 답변
Wilf

5

위와 같이 랩톱에서도 비슷한 문제가 있었고 대화에 무언가를 추가하고 싶었습니다. 로그인 해상도는 신경 쓰지 않지만 실제 작업 공간이 올바른 해상도가되도록하려면 모니터 정보를 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

로그인하면 디스플레이에서 모니터를 설정할 수 있으며 다시 로그인 한 후에도 작동합니다 (큰 못생긴 오류가 발생 함).


원하는대로 작동했지만 다시 로그인하지 않고 재부팅해야했습니다 ...
CrandellWS

4

Jon Roberts의 답변을 향상시키기 위해 arandr이 현재 세션에서 작동하는 모든 매개 변수를 sh 스크립트 생성에 포함시키지 않도록 지정하겠습니다. 기본 모니터 (이중 모니터 구성을 사용하는 경우), 각 모니터의 재생 빈도 및 감마 설정은 포함되지 않습니다. 내 세션 스크립트는 다음과 같습니다.

#!/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에 의해 호출되지 않고 시작 응용 프로그램으로 호출됩니다. 왜냐하면 xrandr에 대한 준비가되어 있고 이상한 일이 발생하기 전에 lightdm이 스크립트를 호출하는 것 같습니다.


4

새 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

sudo-juice에 도움이되고 감사합니다.

추신 : -xrandr 명령 의 double 을 참고하십시오 --(내 화면에 너무 명확하게 표시되지 않았습니다).


2

새 문서를 작성하고 이름을 /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) 을 열고 "ADD"를 클릭하십시오. 명령 행에 이름을 입력하고 입력하십시오.

bash /home/yourusername/yourscriptname.sh

저장하면 이제 로그인 할 때마다 스크립트가 실행되므로 로그 아웃하려면 먼저 로그 아웃해야합니다. bash /home/yourusername/yourscriptname.sh터미널에서 명령 (예 :)을 실행하면 스크립트가 작동하는지 확인하는 것이 좋습니다.


이 여기에 대신에 게시 된대로이이 대답의 영업 이익으로 (삭제 대신하는 경우) 편집 된 여기에 - 나는 그것이 로그인에 xrandr를의 설정 복원해야합니다으로이 유용 할 수 있으므로 원래 서식을 복원 - bash는 스크립트의 내용을해야 올바른 구성을 얻는 데 사용되는 xrandr 명령으로 대체 될 수 있습니다.
Wilf

듀얼 모니터 디스플레이에서 HDMI-0 디스플레이 용 EDID를 읽지 만 DVI-0 용 EDID를 읽을 수 없습니다. 저장된 구성 스크립트를 가리키는 /usr/bin것이 작동하지 않았지만 해당 스크립트를 사용하여 시작 응용 프로그램에 추가 gnome-session-properties했습니다!
noobninja

1

응답 상단을 기반으로 몇 가지 테스트를 수행하고 나에게 유용한 유용한 방법을 찾은 다음 자동 설치로 자동화하는 간단한 스크립트를 만들었습니다. 그러나 다른 경우에는 효과가 있습니다.

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

필요에 맞게 수정하십시오. 친절합니다. 파블로

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.