Как использовать локальный дисплей, удаленно

У меня есть работа Linux, в который я могу войти удаленно через ssh и ssh -Y.

Одно приложение я хотел бы использовать использование GLFW. Перед пандемией я мог работать удаленно очень хорошо, поскольку был пользователь, зарегистрированный локально (меня).

Теперь, я должен был перезагрузить машину и хотя я могу ssh в, никакой пользователь никогда не входил в систему начиная с перезагрузки. По сути, мое приложение не запустится. Я добираюсь:

Cannot initialize GLFW library

поскольку приложение пытается открыть дисплей. (Я не забочусь об этом дисплее, приложение производит выходные файлы, к которым я могу получить доступ удаленно),

Я пытался экспортировать дисплей с export DISPLAY=[my ip address]:0 и заставил xterm работать. Но это бесполезно, потому что мое приложение требует чего-то OpenGL:

what():  GLFW error: GLX: Forward compatibility requested but GLX_ARB_create_context_profile is unavailable

Так, что я спрашиваю:

По ssh (-Y), как я могу войти в пользователя, как будто он находился перед машиной? Я предполагаю, что существует некоторая часть X запусков, которые отсутствуют.

В случае, если это полезно:

4.15.0-91-generic #92~16.04.1-Ubuntu SMP Fri Feb 28 14:57:22 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

2
задан 31 March 2020 в 22:37

1 ответ

Вот решение открыть локальное X рабочих столов для суперпользователя от удаленного соединения SSH. Я надеюсь, что это будет полезно, так как мне не может удаться заставить его работать за обычным пользователем.

1. Вход в систему Ваша машина с ssh

2. Позвольте кому-либо открывать локальную сессию X11 на консоли

Необходимо отредактировать/etc/X11/Xwrapper.config и изменение

allowed_users=console

кому:

allowed_users=anybody

3. Запустите сессию (sudo)

sudo startx

Сессия X11 запускается (как суперпользователь), и Вы видите нормальные сообщения сессии X11 на своей ssh сессии.

startx не выходит до выходов сессии X11. Если startx выходит с сообщениями об ошибках, что-то пошло не так, как надо.

Это обычно перестало работать для обычного пользователя

В некоторых системах можно просто использовать startx (или startx - vt [число] для принуждения используемой виртуальной консоли), но обычно это перестало работать.

Это, кажется, связано с правами доступа к (по крайней мере):

  • /dev/tty [число]
  • /dev/dri/card0
  • /dev/fb0

Правильные должны быть установлены некоторым механизмом, и принуждение их с показанным делает некоторые улучшения, но не не решает проблему.

Я не смог найти различие между системой, где startx работает на обычного пользователя и системы, где это не делает. Они все выполняют человечность eoan и насколько я знаю, конфигурации идентичны. Только аппаратные средства отличаются, особенно видеокарты.

1
ответ дан 7 April 2020 в 23:23

Другие вопросы по тегам:

Похожие вопросы: