Ubuntu / Gnome에서 와이드 스크린을 두 개의 가상 작업 공간으로 세로로 나누는 방법은 무엇입니까?


23

새 랩톱에는 16 : 9 화면이 커서 HD 영화를 보지 않는 95 %의 시간 동안 완전히 활용하기가 어렵습니다.

실제 화면을 두 개의 작업 공간으로 분할하여 일종의 가상 듀얼 화면으로 설정하고 싶습니다. 창을 수동으로 정렬 할 수 있다는 것을 알고 있지만 창을 최대화하고 모니터의 절반 만 소비하고 팝업 대화 상자를 반 화면 중앙에 배치하고 싶습니다.

이 작업을 수행 할 수있는 플러그 인이 있습니까?


compiz를 사용하는 경우 그리드 플러그인이 더 간단하다는 것을 알 수 있습니다. 아래 답변을 참조하십시오.
kynan

답변:


24

원하는 것을 달성하기 위해 ' fakexinerama '를 사용할 수 있습니다 .

 Fake Xinerama is a replacement libXinerama library that instead 
 of querying the XServer reads ~/.fakexinerama and provides fake 
 information about Xinerama screens based on this file. It can be 
 used to fake a Xinerama setup even on computers with just one monitor
 or to fake Xinerama setup other than one specified in the XServer 
 configuration (e.g. making one screen smaller when using two same 
 screens). It's probably only useful for developers.

1
감사합니다. 이것은 완벽하게 작동하며 실제로 기대했던 것보다 낫습니다. 내 도크, 패널 막대 및 플로팅 창은 실제 화면에 걸쳐 있지만 최대화되고 "전체 화면"앱 (VMware 게스트 인스턴스 포함)은 정중하게 화면의 절반을 유지합니다. 나는 리눅스를 처음 접했기 때문에 디스플레이 설정을 해킹하는 것이 약간 위험하다고 생각했지만 실제로 많은 작업이 필요하지 않습니다. 아래의 추가 답변에서 다른 Linux 아마추어 (나 같은)에 대한 정확한 단계를 문서화하고 있습니다.
David

2
링크가 끊어졌습니다. 이 소프트웨어를 어디서 찾을 수 있습니까?
Maxime

17

Lubos Lunak의 "가짜 xinerama"사용에 대한 akira의 팁을 확장하려면 다음과 같이하십시오.

  1. 이 Xinerama.c 파일가짜 Xinerama 사이트 에서 다운로드 했습니다 .
  2. 터미널을 열고 Xinerama.c를 저장 한 폴더로 이동했습니다.
  3. 나는 처형했다.
    gcc -O2 -Wall Xinerama.c -fPIC -o libXinerama.so.1.0.0 -shared
  4. Alt-F2를 입력 한 후 노틸러스 (그놈 파일 탐색기)를 루트로 열고 다음을 입력했습니다.
    gksu nautilus
  5. / usr / lib로 이동하여 libXinerama.so.1.0.0을 찾아 백업 복사본을 만들었습니다.
  6. libXinerama.so.1.0.0을 다운로드 디렉토리에서 / usr / lib 디렉토리로 복사하여 5 단계에서 방금 백업 한 사본을 재정의했습니다 (필요한 경우 나중에 취소 할 수 있음). "가짜"버전의 파일 크기는 내가 교체 한 "실제"버전 (8.6kb)보다 더 컸습니다 (12.6kb).
  7. 내 / home / dave 디렉토리에 .fakexinerama라는 새 텍스트 파일을 만들고 여기에 넣었습니다. (내 실제 1440x900 화면 크기 기준)
    2
    0 0 720 900
    720 0 720 900

가짜 Xinerama를 사용하면 원하는 모든 종류의 가상 화면 설정을 정의 할 수 있지만 세로 분할 화면이 필요합니다. 모니터에서 X x Y 픽셀 크기로 파일 예제를 보려면 720을 X / 2로 바꾸고 900을 Y로 바꾸십시오.

그게 다야. 로그 아웃했다가 다시 로그인하여 실행했습니다.

이 모드를 제작 한 Lubos Lunak에게 다시 한 번 감사 드리며이 모드를 지적 해 주셔서 감사합니다.


이것은 3 헤드 디스플레이로 많은 도움이되었습니다. Xinerama는 3 개의 데스크톱에서 속도가 매우 느리므로이 기능을 사용하면 두 가지 문제를 모두 해결하지 않고도 트윈 뷰에 두 개를 배치 할 수 있고 Xinerama와 함께 트윈 뷰에 연결된 별도의 X 화면으로 세 번째를 가질 수 있습니다. David의 발걸음을 쓸 시간을 내 주셔서 감사합니다!
Kyle Brandt

7

FakeXRandR 이라는 새로운 프로젝트가 생겼습니다 .

이것은 실제보다 더 많은 모니터가 있다고 믿기 위해 X11 서버를 속이는 도구입니다. libXRandR 및 libXinerama에 연결하고 구성 가능한 특정 모니터 구성을 여러 가상 모니터로 바꿉니다. 이 패키지와 함께 제공되는 도구를 사용하여 모니터 분할 방법을 구성 할 수 있습니다.


나는 때때로 fakexrandr를 성공적으로 사용했다. 불행히도 xorg.conf (초광각 모니터의 사용자 정의 해상도가 필요)가 있으면 화면이 스크램블됩니다. fakexrandr 구성을 삭제하고 X를 다시 시작한 다음 fakexrandr을 다시 구성해야합니다.
JAponte

3

추가 소프트웨어없이 XRandR 1.5에서이 작업을 수행 할 수 있습니다. Xubuntu에서 fakexinerama 나 FakeXRandR이 저에게 효과가 없었지만,이 솔루션은 마침내 화면을 두 개로 나 has습니다.

모니터를 분리하려면 다음을 수행하십시오.

  1. xrandr터미널에 입력 하여 분할하려는 디스플레이의 출력 이름과 현재 해상도를 확인하십시오.
    내 시스템에서 결과는 다음과 같습니다.

    Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
    HDMI1 disconnected (normal left inverted right x axis y axis)
    HDMI2 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 509mm x 286mm
       1920x1080     60.00*+  50.00    59.94
       1920x1080i    60.00    50.00    59.94  
       1600x900      60.00  
       1280x1024     75.02    60.02  
       1152x864      75.00  
       1280x720      60.00    50.00    59.94  
       1024x768      75.08    60.00  
       800x600       75.00    60.32  
       720x576       50.00  
       720x576i      50.00
       720x480       60.00    59.94
       720x480i      60.00    59.94
       640x480       75.00    60.00    59.94
       720x400       70.08
    VGA1 disconnected (normal left inverted right x axis y axis)
    VIRTUAL1 disconnected (normal left inverted right x axis y axis)
    

    모니터가 HDMI2에 연결되어 있고 해상도가 1920x1080으로 설정되어 있음을 알 수 있습니다.

  2. 두 개의 가상 모니터를 xrandr --setmonitor명령 과 함께 추가 하여 실제 디스플레이와 겹치고 서로 나란히 배치되도록합니다. 명령 구문은 따옴표없이입니다.

    xrandr --setmonitor "monitor_name" "width_px"/"width_mm"x"height_px"/"height_mm"+"x_offset_px"+"y_offset_px" "output_name" 
    

    내 시스템의 경우 :

    xrandr --setmonitor HDMI2~1 960/254x1080/286+0+0 HDMI2
    xrandr --setmonitor HDMI2~2 960/255x1080/286+960+0 none
    
  3. 위의 시스템에서 이미 가상 모니터를 구성했지만 변경 사항은 내가 실행될 때까지 적용되지 않았습니다 (xrandr를 새로 고치는 것 같습니다).

    xrandr --fb 1921x1080
    xrandr --fb 1920x1080
    

재부팅 후 변경 사항을 유지하려면 로그인 할 때 이러한 명령을 실행하려고합니다. ~/.profile파일 끝에 명령을 추가하면 됩니다.


1
그것이 xrandr에 바로 존재하는 것이 좋습니다. 그러나 그것은 내 모니터의 왼쪽 만 사용할 수있게하고 오른쪽 부분에는 아무것도 표시하지 않습니다. 그리고 오류가 표시되지 않습니다. -Awesome WM은 모니터를 지원하지 않지만 출력 만 사용하는 것 같습니다. WM에서도 지원이 필요합니다.
nert

오, 걱정하지 마세요. 굉장히 xrandr의 모니터를 지원합니다. 그것은 저에게 효과적이지 않았습니다. 하지만 awesomewm.org/apidoc/classes/screen.html#screen:fake_add
nert

1

나는 Compiz 제어판을 사용하여 Ubuntu / Gnome의 Windows Snap 기능을 모방하는 매우 쉬운 방법을 제공하는 omgubuntu에 관한 기사를 발견 했습니다. 이 Windows Snap을 사용하면 하나의 와이드 스크린 바탕 화면이 생겨나지 만 창 자체를 쉽게 도킹하여 절반 화면을 채울 수 있습니다. (원래 내가 찾던 것이 아니지만 여전히 매우 편리합니다.)


1

나는 triplehead2go를 사용하여 몇 년 동안이 정확한 질문에 대한 해결책을 사용해 왔습니다. 이 장치는 최대 3 대의 모니터를 병합하고 하나의 거대한 모니터를 X에보고합니다.

다음은 거대한 모니터를 xorg.conf의 가상 작업 공간으로 분할하는 방법입니다.

Section "Device"
    # ... your other settings above
    Option         "TwinViewXineramaInfoOverride" "1280x1024+0+0, 1280x1024+1280+1, 1280x1024+2560+0"
EndSection

최신 nvidia 드라이버를 사용하는 경우 해당 드라이버는 위의 설정을 무시하는 고유 한 xinerama 확장명을 제공하므로 해당 장치 섹션에 다음을 추가해야합니다.

Option         "NoTwinViewXineramaInfo" "true"

0

X 구성 파일 을 조정 하여이 작업을 수행 할 수 있다고 확신 하지만 디스플레이 구성을 깨뜨릴 수는 없습니다. 이 작업을 시도하면 매우 조심해서 config를 표시하고 디스플레이를 수정해야 할 경우 사용할 수있는 대체 로그인이 있는지 확인하십시오.

xmonad 와 같은 바둑판 식 배열 창 관리자 또는 창을 열고 닫고 바둑판 식으로 배열하는 방법을 제어하기 위해 compiz 를 실행 하면 더 많은 만족을 얻을 수 있습니다 .


0

나를 위해 잘 작동합니다 :

두 모니터 (1280x1024 + 2048x1152)에 다음을 사용했습니다.

3
0 0 1280 1024
1280 0 1024 1152
2304 0 1024 1152

0

compiz를 사용하는 경우 그리드 플러그인 이 더 쉽고 유연한 솔루션 임을 알 수 있습니다 . 가장자리로 드래그 할 때 화면의 왼쪽 / 오른쪽 절반에 창을 바둑판 식으로 배열하도록 구성 할 수 있습니다.

이것이 David가 링크 한 기사에 설명 된 Window Snapping 기능입니다. 또한 바로 가기를 구성하고 창을 화면의 상단 / 하단 또는 1/4에 차지하게 할 수 있습니다.

Xinerama는 주목할만한 성능 저하를 일으 킵니다 (모든 Xinerama 화면에서 X 동작을 복제하기 때문에). 복합 창 관리자에서는 제대로 작동하지 않습니다.

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