Как эффективно запустить X-приложения в контейнере LXC?
ssh -Y guest
слишком медленный - нет графического ускорения ssh -Y
- все должно путешествовать по виртуальной сети с традиционным протоколом X11.
Возможность копировать-вставлять между хост-и гостевыми приложениями желательна, но не обязательна. Запуск двух X-серверов, один для хоста и один для гостя, (для моих целей) является необходимым.
Я не могу запустить собственный Xorg изнутри гостя, потому что он жалуется /dev/tty0
на отсутствие, и я не могу запустить это mknod
устройство в госте, потому что я получаю отказ в разрешении, даже когда выполняю его как root.
источник
ПРИМЕЧАНИЕ : этот подход немного взломан. Он также не поддерживает копирование и вставку между хостом и гостем - и абсолютно небезопасен!
/tmp
в качестве дополнительной файловой системы гостевую конфигурацию, которая проходит через/tmp
хост.xhost +
в окне терминала.DISPLAY=:0 Xephyr :2 -screen 1024x768 -dpi 96 &
DISPLAY=:2 /etc/X11/xinit/Xsession
внутри гостевой системы (заменив оба параметра
2
на номер экрана, который следует использовать, если вы используете его для подключения к нескольким виртуальным машинам LXC.) Настройте параметры resolution (-screen
) и DPI (-dpi
) в соответствии с требованиями.Это устанавливает «прокси» соединения с вложенным X-сервером Xephyr, работающим в гостевой системе (которые используют как доменные сокеты UNIX, и расширение MIT-SHM), так и другим соединением Xephyr с вашим X-сервером хоста (который использует доменные сокеты UNIX). , но не могу, насколько я могу определить, использовать MIT-SHM из-за конструкции LXC). Кажется, это самая быстрая конфигурация, возможная с гостем LXC, по крайней мере с драйвером с открытым исходным кодом для моего оборудования (nvidia).
источник