모든 사용자 계정에 디스플레이 설정을 적용하시겠습니까?

모든 사용자 계정에 디스플레이 설정을 적용하시겠습니까?

여러 모니터에 대한 설정을 올바르게 설정하는 데 시간이 좀 걸렸습니다. 로그인하면 제대로 작동하지만 로그인 화면이나 다른 사용자에게는 제대로 작동하지 않습니다.

모든 사용자 및 로그인 화면에 대해 전역적으로 디스플레이 설정을 지정하려면 어떻게 해야 합니까?

답변1

시스템 설정 방법에 따라 파일을 복사하는 것만큼 쉬울 수도 있습니다 monitors.xml.올바르게 설정된 사용자로부터모든 사용자에게:

한 명의 사용자에 대해 이를 테스트하려면 다음을 수행하십시오.

cp --preserve=timestamps /home/CorrectUser/.config/monitors.xml /home/TestUser/.config/

그런 다음 TestUser에서 로그오프하세요.이미 로그인한 경우, 다시 로그온하여 모든 것이 올바른지 확인하십시오.

모든 사용자를 위한 명령:

cp /home/CorrectUser/.config/monitors.xml /tmp/
for szUser in /home/* ; do sudo cp --preserve=timestamps /tmp/monitors.xml $szUser/.config/ ; done

로그인 화면에 대한 명령:

sudo cp --preserve=timestamps /home/CorrectUser/.config/monitors.xml /var/lib/lightdm/.config/

명령미래의 모든 사용자를 위해¹:

sudo mkdir -p /etc/skel/.config
sudo cp --preserve=timestamps /home/CorrectUser/.config/monitors.xml /etc/skel/.config/

참고 1:앞으로 생성할 모든 사용자

답변2

화면 구성을 설정하려면로그인한 모든 사용자에 대해(로그인 화면의 구성은 변경되지 않습니다.) .desktop다음에서 파일을 생성할 수 있습니다./etc/xdg/autostart

그렇게하는 방법

  1. 를 실행하여 회전하려는 화면의 이름을 찾으십시오 xrandr. 다음과 같은 몇 줄 중 여러 줄이 출력됩니다.

    VGA-0 connected
    

    연결된 화면의 이름에 대한 정보를 제공합니다.

  2. 아래 예에서 회전하려는 것을 선택하십시오.VGA-0
  3. (예)를 사용하여 실행 프로그램을 만듭니다 gedit.

    sudo -i gedit /etc/xdg/autostart/set_screens.desktop
    

    아래 텍스트를 파일에 붙여넣습니다.

    [Desktop Entry]
    Name=set_screens
    Exec=/bin/bash -c "sleep 10&&xrandr --output VGA-0 --rotate left"
    Type=Application
    

    다음 줄에서 교체하세요.

    Exec=/bin/bash -c "sleep 10&&xrandr --output VGA-0 --rotate left"
    

    문자열: VGA-0(회전된) 화면 이름.

중요 사항

  • 줄에

    Exec=/bin/bash -c "sleep 10&&xrandr --output VGA-0 --rotate left"
    

    나는 sleep 10. 그 이유는 xrandr데스크톱 로드가 "완료"되기 전에 명령이 너무 일찍 실행되면 명령이 중단되는 경우가 있기 때문입니다. 아마도 휴식 시간을 늘려야 할 수도 있고, 생략해 볼 수도 있습니다. 명령어에서는 그대로 로그인 후 10초 후에 화면이 회전하게 됩니다.어느사용자.

  • 명령:

    xrandr --output VGA-0 --rotate left
    

    화면을 왼쪽으로 회전합니다. 다른 유형의 회전을 원할 경우 left, right, normal, 중 하나를 선택할 수 있습니다 inverted(또한 참조).여기).

설명

.desktop에 파일(런처)을 배치하여 시작(실제로 로그인) 시 명령을 실행할 수 있습니다 ~/.config/autostart. 그러면 단일 사용자에 대해서만 실행 프로그램이 실행됩니다. 동일한 작업을 수행하되 실행 프로그램을 에 배치하면 /etc/xdg/autostart언제든지 명령이 실행됩니다.어느특정 사용자가 Dash > 시작 애플리케이션에서 실행 프로그램을 비활성화하지 않는 한 사용자가 로그인합니다.

추가적으로, 로컬 ~/.config/monitors.xml파일을 복사하여 /var/lib/lightdm/monitors.xml로그인 화면에서도 설정이 작동하도록 할 수 있습니다.

나는 이것과 위의 솔루션( 의 실행 프로그램 /etc/xdg)을 조합하여 로그인 화면과 (모든) 사용자 모두에게 원하는 것을 정확하게 달성할 수 있는 가장 쉬운 솔루션입니다. 또한 런처 솔루션은 /etc/xdg사용자 설정과 로그인 화면이 모두 관리되기 때문에 (각) 사용자 수준에서 많은 파일을 편집하지 않고도 다른 설정을 해야 하는 경우 (매우) 쉽게 되돌리거나 변경할 수 있습니다. 두 개의 간단한 파일로 모든 사용자를 한 번에.

답변3

비슷한 문제로 어려움을 겪고 있는 사람을 위해 의견을 추가하고 싶었습니다. 로그인할 때마다 이전 모니터(1280x1024)의 해상도에서 멈췄지만 로그인 화면과 게스트 사용자 로그인에서는 올바른 기본값 1680x1050을 사용합니다.

나는 지난 4개월 동안 답변을 찾기 위해 많은 게시물을 읽었습니다.xorg.conf, monitors.xml, lightdm그리고xrandr및 기타 제안 - 그러나 일부 구성 변경은 복잡하고 디스플레이가 완전히 깨질 위험이 있으므로 로그인할 때마다 GUI를 사용하여 수동으로 모니터 설정을 변경했습니다.

오늘 저는 .config 폴더에서 이전 해상도에 대한 grep을 수행했습니다.

grep -HrnIF '1280' .config | less

첫 번째 결과는 다음을 포함하는 ~/.config/autostart/xrandr.desktop 파일이었습니다.

Exec=xrandr -s 1280x1024 -r 75

그래서 그냥 파일을 밖으로 옮겼어요. 그리고 빙고에서는 로그인하여 기본 1680x1050 해상도를 얻습니다.

검색하는 데 몇 시간이 걸렸지만 충분한 답변을 찾을 수 없었으므로 누군가에게 유용할 경우를 대비해 여기에 게시합니다.

답변4

에 뭔가를 추가하고 싶을 수도 있습니다 /etc/lightdm/lightdm.conf. 여기서는 xrandr명령을 사용하여 디스플레이를 설정하는 스크립트를 만듭니다 . 일부 그래픽 RandR 도구를 사용하여 와 같은 명령을 생성할 수 있습니다 arandr. 내 경우 스크립트는 다음과 같습니다.

#!/bin/sh
xrandr --output DVI-I-1 --mode 1600x1200 --pos 0x0 --rotate left --output DVI-I-0 --off --output DP-3 --off --output DP-2 --off --output DP-1 --mode 1600x900 --pos 1200x700 --rotate normal --output DP-0 --off

/usr/share이 스크립트를 원하는 위치에 넣을 수 있습니다 . 복잡한 듀얼 모니터 설정을 위한 것이므로 스크립트가 훨씬 덜 복잡해 보일 수 있습니다. 그런 다음 다음과 같이 추가하십시오.

session-setup-script=/usr/share/mycustomxrandr.sh

그리고:

display-setup-script=/usr/share/mycustomxrandr.sh

파일이 실행 가능한지 확인하십시오.

chmod a+x mycustomxrandr.sh

session-setup-script디스플레이를 다음으로 설정합니다 .~ 후에LightDM을 통해 로그인하면 display-setup-script로그인 화면의 표시가 변경됩니다.

관련 정보