I am running OpenBSD on a laptop with X windows starting on f5 vtty via Xenodm login manager. I am unable to start another session of X from different vtty. xinit or startx fails with
Fatal server error: - no console drivers found. Supported drivers: wscons
Since, X11 is running well on default window I figured that I should be able to launch addition session on different ttys
-
Althrough an answer on misc@, states this is not supported, the xenodm(1) manpage mentions the file containing server specifications in plural (disclaimer: I have not personally tried this). Note that startx(1) (or xinit(1)) is not supported since Xorg(1) was made not suid, and will generally not work, unless /usr/X11R6/bin/Xorg is made suid (not recommended). The recommended way to use X in OpenBSD is through xenodm(1).Vilinkameni– Vilinkameni2024年05月10日 20:26:23 +00:00Commented May 10, 2024 at 20:26
-
Also, there is no "X windows", as X has no relation to Microsoft Windows and predates it. There is the X Window System. This should be understood as "X" "Window System", not as "X WIndow" "System".Vilinkameni– Vilinkameni2024年05月10日 20:28:46 +00:00Commented May 10, 2024 at 20:28
1 Answer 1
This was already asked, only two days ago, and almost verbatim on in the mailing list thread that @Vilinkameni refers to. On that thread you can find the definitive answer, from a member of the OpenBSD dev team: this is not supported. I'm assuming that this is due to the fact that Direct Rendering requires ownership of /dev/dri/card0
and /dev/dri/renderD128
, and you can't keep switching that around or share registers or video memory between multiple users. Maybe you could pull this off with multiple video cards, but I suspect that wouldn't be supported as well.
You don't say why you want to do this, but maybe Xephyr
is an option.
-
The xenodm(1) manpage explains the format of the file /etc/X11/xenodm/Xservers, which contains the server definitions. At the bottom of that file is the line
:0 local /usr/X11R6/bin/X :0 vt05
, which defines the (only) X server. It is interesting that the comment above it states "If you also have some X terminals connected which do not support XDMCP, you can add them here as well. Each X terminal line should look like:XTerminalName:0 foreign
", even though the manpage states onlylocal
type is supported.Vilinkameni– Vilinkameni2024年05月12日 13:26:35 +00:00Commented May 12, 2024 at 13:26 -
Also it seems that a "server" in the above sense is specifically tied to the "display" in X terminology.Vilinkameni– Vilinkameni2024年05月12日 13:28:46 +00:00Commented May 12, 2024 at 13:28
-
Well, if you want to "serve" windows, you need to "display" them, so yes, it is tied. And since, in many cases, displaying windows requires hardware access, there are security issues with sharing that capability across different users.Zé Loff– Zé Loff2024年05月12日 13:51:35 +00:00Commented May 12, 2024 at 13:51