My computer has only one display. Does it correspond to $DISPLAY
:0
?
Can an application run on an arbitrary display number, even if I don't see it?
$ DISPLAY=:40 firefox
Can a X server run on an arbitrary display number? Will the kernel implicitly create a virtual display?
$ xpra start :7
Thanks.
:0
,:40
(both starting with a colon). The kernel does not create any virtual display. You can create a virtual display withXvfb :1337
, then run firefox on it withDISPLAY=:1337 firefox
. – Mar 13 '19 at 00:56-listen tcp
will let it also listen on a tcp socket). Also, a xserver/display can have multiple "screens", though nowadays multiple monitors are managed as part of a single "screen". An xserver can use a hardware framebuffer, a dummy framebuffer (Xvfb
) or a window on another xserver (Xephyr
). The latter two are examples of "virtual" xserver/displays. – Mar 13 '19 at 01:34DISPLAY=:0
andDISPLAY=localhost:10
as forwarded via ssh refer to the same display/xserver, the same video card, and the same monitor. – Mar 13 '19 at 01:39$DISPLAY
specify both a listening socket and a rendering target at the same time? – Tim Mar 15 '19 at 00:01$DISPLAY
does not specify a "rendering target". And no need to harp about what "rendering target" means -- XrandR is able to let a root window (screen) span multiple monitors rendered to through multiple GPUs. The "screen" part of the display spec (the second number of the$DISPLAY
) will determine what theDefaultScreen()
andDefaultRootWindow()
X11 library functions will return. Unless you're using an Xserver configured with multiple old-style screens (with multiple root windows), that number should be omitted or 0. – Mar 15 '19 at 12:57