I'm using systemd-nspawn to "boot" a second Linux OS from a USB hard disk. I'd like to launch that OS's Gnome Desktop in a second X server running on the same machine on a different tty than the Desktop that is already running on tty1.

e.g. I have Gnome on tty1 running on the host machine. I'd like to launch the USB drive's KDE desktop in tty2 (in a 2nd X server I'm assuming). It seems possible somehow.

How can it be done?

1 Answer 1


It's possible, but not easy...

First, you have to bind mount tty2 and modules, so spawn the container using:

# assuming you have your system in the /system/arch dir
systemd-nspawn -bD /system/arch --bind /dev/tty2 --bind /lib/modules

Then, as asumed by the command, spawn the container in tty2 terminal. You also need to start an X-server in another tty:

startx -display :1 -- :1 vt2 &

The best option is to just freeze one xserver instance and start another in tty2, as both running would conflict and would waste resources.

P.S.: There is also a guy that ran a container's program under host's xserver, here http://dabase.com/e/12009/

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .