У меня есть компьютер с Ubuntu + установленный графический рабочий стол, на котором я часто запускаю приложения OpenGL, чтобы просто захватить экран и сделать видео. Меня интересует только сгенерированное видео, но для создания контекста OpenGL мне нужно открыть окно, поэтому у меня есть программа, которую я могу запустить из терминала, которая открывает окно, рендерит что-то с помощью OpenGL и отправляет пиксельные данные в процесс ffmpeg для создания видео, и это работает. Теперь я хочу запустить этот видеогенератор удаленно через ssh, но когда я запускаю программу удаленно, создание окна не удается. Полагаю, это как-то связано с тем, что X предполагает, что я хочу получить какой-то графический вывод на машине, с которой я подключаюсь, или что-то в этом роде, я не очень разбираюсь в этом. Я просто хочу, чтобы он делал видео, мне не важно видеть окно, теоретически он должен иметь возможность открыть окно на удаленной машине, как это всегда происходит, когда я запускаю скрипт локально. Должен ли я установить какую-то переменную окружения, например DISPLAY, чтобы это работало удаленно?
решение1
Вам необходимо установить DISPLAY
переменную, соответствующую той, на которой на хосте запущен сеанс графического интерфейса (X, Wayland или Mir).
С помощью этой команды можно who
узнать, на каком дисплее запущен сеанс вашего графического интерфейса (при условии, что вы уже вошли в графический интерфейс удаленного хоста в другом сеансе).
Другим решением было бы использование VNC или SPICE для подключения к удаленному хосту для получения полного рабочего стола.