如何在不同的显示器(Linux)中打开Chrome信息亭模式的两个实例

时间:2019-07-03 13:28:46

标签: linux google-chrome broadcast-channel

我正在开发将在带有两个监视器(垂直设置)的终端上运行的Web应用程序。在终端上安装了linux mint。 我需要在2个不同的显示器上但在同一会话中打开2个不同的google-chrome实例。

到目前为止,我已经做到了:

#clear any cache from previous run of terminal
rm -rf /dev/shm/Chrome 
mkdir -p /dev/shm/Chrome 

export DISPLAY=:0.0
exec /usr/bin/google-chrome \
    --display=":0.0" \
    --new-window \
    --no-sandbox \
    --disable-setuid-sandbox \
    --start-maximized \
    --kiosk-printing \
    --start-fullscreen \
    --user-data-dir=/dev/shm/Chrome \
    --no-first-run \
    'http://google.com/'

第二个脚本

#second instance started in different place

export DISPLAY=:0.1
exec /usr/bin/google-chrome \
    --display=":0.1" \
    --new-window \
    --no-sandbox \
    --disable-setuid-sandbox \
    --start-maximized \
    --kiosk-printing \
    --start-fullscreen \
    --user-data-dir=/dev/shm/Chrome \
    --no-first-run \
    'http://google.com/'

它可以: 打开谷歌浏览器的两个不同窗口并全屏打开它们。

但是,如果他们共享配置文件(在本例中为--user-data-dir = / dev / shm / Chrome),则它们将在同一显示屏上打开。

如果它们的文件夹不同,则它们将在不同的监视器上打开,但是它们不会共享相同的会话,我需要进行进一步的开发。我计划使用broadcast-channel-api,示例可以在这里找到:https://github.com/irekrog/broadcast-channel-api-simple-example。如果Chrome不共享会话,则无法与广播频道进行通信。

注意:还标记--window-position = X,Y似乎不起作用,如果它们在同一会话中,则只会破坏所有内容

此问题的克隆适用于 windows How to open two instances of Chrome kiosk mode in different displays (Windows),但是我需要针对 linux 的解决方案,我不相信我可以像这样访问WinApi在那里接受了答案。

赞赏任何解决方案或解决方法

0 个答案:

没有答案