이것이 제가 문서화한 마지막 키오스크 설정입니다.

이것이 제가 문서화한 마지막 키오스크 설정입니다.

내 목표는 i3가 듀얼 모니터 설정에서 각 모니터에 대해 브라우저를 시작하도록 하는 것입니다.

브라우저를 실행하고 대상 모니터로 이동하는 방법을 찾을 수 없습니다.

문서를 파고 ~/.i3/config를 시도했습니다.

exec --no-startup-id i3-msg 'workspace 1 ; move workspace to output HDMI1 ; exec chromium --new-window "http://url/1" ; workspace 2 ; move workspace to output HDMI2 ; exec chromium --new-window "http://url/2"'

그러나 두 창 모두 첫 번째 모니터에 나타나고 두 번째 모니터는 비어 있습니다.

내가 놓친 게 무엇입니까?

Xorg 구성은 다음과 같습니다.

Section "Monitor"
  Identifier "HDMI1"
  Option     "Primary" "true"
EndSection

Section "Monitor"
  Identifier "HDMI2"
  Option     "LeftOf" "HDMI1"
EndSection

편집하다:

나는 다음에 추가했다~/.i3/config

workspace 1 output HDMI1
workspace 2 output HDMI2

나는 노력했다

exec --no-startup-id i3-msg 'workspace 1; exec xeyes'
exec --no-startup-id i3-msg 'workspace 2; exec xclock'

또는

exec --no-startup-id i3-msg 'workspace 1; exec xeyes; workspace 2; exec xeyes'

항상 동일한 결과, 두 응용 프로그램 모두 마지막으로 선택한 작업 공간에서 시작됩니다.

답변1

Chromium 인스턴스에 특정 클래스 이름을 할당하고 작업공간에 바인딩할 수 있습니다. 따라서 2개의 모니터 구성을 사용하면 다음과 같습니다.

workspace 1 output HDMI1
workspace 2 output HDMI2

for_window [class="^chromium-no-1$"] move workspace number 1
for_window [class="^chromium-no-2$"] move workspace number 2

특정 클래스 값을 사용하여 2개의 브라우저 인스턴스를 시작해야 합니다.

$ chromium-browser --class=chromium-no-1
$ chromium-browser --class=chromium-no-2

답변2

저는 듀얼 모니터에서 ArchLinux와 함께 i3wm을 사용하여 큰 성공을 거두었습니다. i3를 부팅하면 각 모니터에 작업 공간이 생깁니다. 작업 공간을 다른 모니터로 이동하기 위해 다음을 내 모니터에 추가했습니다 ~/.i3/config.

bindsym $mod+Mod1+Up    move workspace to output up
bindsym $mod+Mod1+Down  move workspace to output down
bindsym $mod+Mod1+Left  move workspace to output left
bindsym $mod+Mod1+Right move workspace to output right

이를 통해 작업 공간을 다른 출력으로 이동할 수 있습니다. 그러나 서로 다른 작업 공간에 두 개의 브라우저를 두려면(별도로 구성되지 않는 한 작업 공간에는 하나의 화면만 포함됨) 브라우저를 다른 화면의 작업 공간으로 이동하거나 다른 화면에서만 사용할 수 있습니다 $mod+Left/Right.

창 위치 지정과 관련하여 사용하는 모든 바인딩 기호는 다음과 같습니다.

# move focused window
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+odiaeresis move right

# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10

# move workspace to another output/monitor
bindsym $mod+Mod1+Up    move workspace to output up
bindsym $mod+Mod1+Down  move workspace to output down
bindsym $mod+Mod1+Left  move workspace to output left
bindsym $mod+Mod1+Right move workspace to output right

답변3

이것이 제가 문서화한 마지막 키오스크 설정입니다.

존재하다~/.xinitrc첨부합니다:

# disable screen saver
xset s off
xset -dpms

# start window-manager
i3

존재하다~/.i3/config첨부합니다:

# Setting workspace to monitors
workspace 1 output HDMI1
workspace 2 output HDMI2

# tie each browser to each monitor
for_window [class="^chromium-left$"] move workspace number 1
for_window [class="^chromium-right$"] move workspace number 2

exec ./start-browsers.sh

그리고 브라우저를 실행하세요

./start-browsers.sh

#!/bin/bash

left_url="http://whatever/url/for/left/monitor"
right_url="http://whatever/url/for/right/monitor"

tmpdir1=$(mktemp --directory)
tmpdir2=$(mktemp --directory)

left_target="chromium --new-window $left_url \
--user-data-dir=$tmpdir1 \
--class=chromium-left \
--no-first-run \
--disable-restore-session-state \
--no-default-browser-check \
--disable-java \
--disable-translate \
--disable-infobars \
--disable-suggestions-service \
--disable-save-password-bubble \
--start-fullscreen"
right_target="chromium --new-window $right_url \
--disable-java --user-data-dir=$tmpdir2 \
--class=chromium-right \
--no-first-run \
--disable-restore-session-state \
--no-default-browser-check \
--disable-translate \
--disable-infobars \
--disable-suggestions-service \
--disable-save-password-bubble \
--start-fullscreen"

# start app for left screen
i3-msg 'workspace 1'
$left_target &

# start app for right screen
i3-msg 'workspace 2'
$right_target &

# hide mouse pointer
unclutter &

관련 정보