我正在运行最新的 Raspbian,它使用LXDE
和Openbox
,并且我想将 2 个离散输出视为 1。当我单击最大化或全屏时,我希望应用程序跨越两个显示器。
最终我将以自动化的方式使用它chromium-browser --kiosk
,因此手动在两个屏幕上拖动应用程序不是一种选择。我还希望能够灵活地使用不同的程序,因此chromium
不需要特定的命令行选项。
我试图开始Compiz
工作,因为我看到了一个关于如何让它跨越 2 个输出并将它们视为 1 个显示器的教程,但我似乎无法让它运行。compiz --replace
丢弃我的窗口装饰并抛出一些警告(见下文),并且在我这样做之前我无法使用桌面openbox --replace
。无论如何,我不确定我是否想要一个像合成窗口管理器一样繁重的解决方案——尽管在这一点上我会采取一切我能做的工作。
顺便说一句,有一个吨Xinerama
关于那里的过时信息。
我对任何能够实现能够运行chromium-browser --kiosk
并让一个窗口横跨两个显示器的目标的选项持开放态度。
pi@raspberrypi:~ $ xrandr
Screen 0: minimum 320 x 200, current 3840 x 1080, maximum 7680 x 7680
HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 509mm x 286mm
1920x1080 60.00*+ 60.00 50.00 59.94
1600x900 60.00
1280x1024 75.02 60.02
1152x864 75.00
1280x720 60.00 60.00 50.00 59.94
1024x768 75.03 60.00
800x600 75.00 60.32
720x576 50.00 50.00
720x480 60.00 60.00 59.94 59.94 59.94
640x480 75.00 60.00 59.94 59.94
720x400 70.08
HDMI-2 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 509mm x 286mm
1920x1080 60.00*+ 60.00 50.00 59.94
1600x900 60.00
1280x1024 75.02 60.02
1152x864 75.00
1280x720 60.00 60.00 50.00 59.94
1024x768 75.03 60.00
800x600 75.00 60.32
720x576 50.00 50.00
720x480 60.00 60.00 59.94 59.94 59.94
640x480 75.00 60.00 59.94 59.94
720x400 70.08
pi@raspberrypi:/etc/X11/openbox $ compiz --replace
(process:10097): dbind-WARNING **: 22:08:01.498: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
(process:10097): dbind-WARNING **: 22:08:01.500: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
dbus[10097]: arguments to dbus_connection_get_data() were incorrect, assertion "connection != NULL" failed in file ../../../dbus/dbus-connection.c line 6080.
This is normally a bug in some application using the D-Bus library.
D-Bus not built with -rdynamic so unable to print a backtrace
Aborted
答案1
解决方案
https://gist.github.com/eslindsey/70bbc0080e335b38836fab09d19686d0
该要点允许您提供任意命令(和可选参数),并自动检测创建的窗口和屏幕尺寸。
概念
chromium-browser --kiosk <url> &
sleep 5
wmctrl -r Chromium -b remove,fullscreen
wmctrl -r Chromium -b remove,maximized_vert,maximized_horz
wmctrl -r Chromium -e 0,0,0,3840,1080
争论--kiosk
的焦点是摆脱地址栏等chromium-browser
。这sleep
是为了确保窗口有时间显示。前两wmctrl
行从窗口中删除最大化和全屏属性(并且不能合并,因为wmctrl
只允许您同时删除“最多两个窗口属性”)。最终的wmctrl
工作实际上是移动窗口。g,x,y,w,h
是参数(g
是重力)。 3840x1080 覆盖了我的两个 1920x1080 并排显示器,其中一个 Chromium 浏览器在 kiosk 模式下运行。
已测试
这适用于当前版本的 Raspbian:
Raspbian Buster with desktop
Image with desktop based on Debian Buster
Version:July 2019
Release date:2019-07-10
Kernel version:4.19
Size: 1149 MB
SHA-256:6a1a5f20329e580d5161a0255b3d4163db6f56c3997e1c3b36bdd51140bd768e