我正在开发将在带有两个监视器(垂直设置)的终端上运行的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在那里接受了答案。
赞赏任何解决方案或解决方法