i3의 작업 공간을 여러 디스플레이에 할당


15

Linux 랩톱에서 i3을 사용하도록 설정했습니다. 일반적으로 랩톱의 내부 모니터 (디스플레이 eDP1) 만 사용하고 있지만 직장에있을 때는 보조 모니터를 컴퓨터의 HDMI 포트 (디스플레이 HDMI2) 에 연결하는 경향이 있습니다 . 지금까지 i3 구성 파일에 다음 명령을 추가 하여이 작업을 올바르게 수행했습니다.

# use workspaces on different monitors
workspace "1: P1" output eDP1
workspace "2: P2" output eDP1
workspace "3: P3" output eDP1
workspace "4: P4" output eDP1
workspace "5: P5" output eDP1
workspace "6: S1" output HDMI2 
workspace "7: S2" output HDMI2
workspace "8: S3" output HDMI2
workspace "9: S4" output HDMI2
workspace "10: S5" output HDMI2

# add HDMI monitor when connected
exec --no-startup-id xrandr --output HDMI2 --right-of eDP1
bindsym $mod+m exec --no-startup-id xrandr --output HDMI2 --auto --right-of eDP1

다시 말해, HDMI 디스플레이를 연결할 때 Mod+ M를 누르면 i3가이를 감지하여 기본 디스플레이의 오른쪽에 놓고 이름이 지정된 5 개의 작업 공간 (6-10)을 위임합니다.

문제가 있습니다 : 집에 VGA (디스플레이 DP2)로 연결할 수있는 다른 모니터가 있습니다 . 나는 실행할 수 xrandr뿐만 아니라 내 기본 디스플레이의 오른쪽에이 디스플레이를 배치 할 위의 명령을,하지만 난하지 않는 한 작업 공간은 기본적으로이 디스플레이에 할당 할 수 없습니다 대체 내 HDMI 모니터에 대해 이미 가지고있는 규칙을. 사용중인 모니터에 관계없이이 두 작업 공간이 동일하게 작동하기를 원하므로 옵션이 아닙니다.

TL; DR 어떤 디스플레이가 연결되어 있는지에 따라 작업 공간을 두 개의 다른 디스플레이에 할당 할 수있는 방법이 있습니까?

답변:


21

단일 작업 공간에 여러 출력을 할당 할 수 없습니다 ( https://github.com/i3/i3/issues/555 참조).

따라서 유일한 방법은 i3 설정을 동적으로 변경하는 것입니다. 와 모니터 출력을 변경 : 당신은 두 가지 일을 할 것입니다 단축키 스크립트에 할당 할 수 xrandr와 함께 작업 공간 이동을 i3-msg:

xrandr --output DP2 --auto --right-of eDP1
i3-msg "workspace 6, move workspace to output DP2"
...
i3-msg "workspace 10, move workspace to output DP2"

위의 스크립트를 사용하면 6-10 개의 작업 공간을 DP2로 이동하고 작업 공간 10을 유지하게됩니다.

2019 업데이트 : v4.16부터 여러 출력 할당이 구현되었습니다 ( https://i3wm.org/docs/userguide.html#workspace_screen 참조) . 이제 다음과 같이 사용할 수 있습니다.

workspace "6: S1" output HDMI2 VGA

그런 다음 사용 가능한 첫 번째 출력이 사용됩니다.


2

사용자 안내서 에 따르면 구문은 다음과 같습니다.

workspace 1 output eDP1
...
workspace 6 output HDMI2 VGA

작동해야합니다.

또는 설정되지 않은 경우 ( xrandr --output <output> --primary) 컴퓨터에서 기본 출력을 정의 하고이 구문을 사용할 수 있습니다.

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