Как получить Evolution для запуска в VNC на Debian / Wheezy (или позже)?

В течение многих лет у меня была привычка, когда выходила из дома, VNC-ing (поверх ssh) обратно в свою «домашнюю машину» и запускала Evolution (для электронной почты, контактов и т. Д.) В среде tightvncserver.

Это отлично работало, когда на домашней машине запускался Debian / Squeeze, но теперь он обновлен до Wheezy, пытаясь запустить Evolution на выходах сеанса сервера VNC:

Xlib: extension "GLX" missing on display ":1". Failed to connected to any renderer: XServer appears to lack required GLX support 

tightvncserver, не поддерживающий GLX, не является неожиданностью, но эволюция переходит на GL-сервер (посредством использования инструментария «беспорядок»?). (Просто, чтобы быть ясным: Evolution работает абсолютно нормально на рабочем столе, машина имеет драйверы nvidia через DKMS.)

Каковы перспективы для этого? Я размышляю так:

  • Есть ли опция командной строки для Evolution, которая исправит это?
  • Есть ли способ получить поддержку GLX на сервере VNC? (Альтернативы жесткому серверу, которые его поддерживают?)

Обратите внимание, что я имею тенденцию быть VNC-ed в каналах с высокой задержкой / низкой пропускной способностью; Я попытался запустить Evolution удаленно над X11 раньше, и это не очень хороший опыт; VNC работает намного лучше.

Предпочтительными являются решения, совместимые с Debian (apt-get -able).

3 Solutions collect form web for “Как получить Evolution для запуска в VNC на Debian / Wheezy (или позже)?”

Я боролся с той же проблемой, пытаясь заставить qtcreator работать над vnc и в конечном итоге разобраться, почему он не работает, и как его исправить;

http://minkirri.apana.org.au/wiki/DevJournal

Вам не нужен VirtualGL, и это может быть даже хуже, чем альтернативы. Важно отметить, что вы можете заставить его работать только с использованием стандартных пакетов Debian.

VirtualGL предназначен для аппаратного ускорения на стороне приложения. GLX предназначен для аппаратного ускорения на стороне x-сервера. При использовании VNC обычно приложение-сервер и x-сервер находятся на одной машине вместе с вашим vnc-сервером, поэтому между VirtualGL и GLX нет большой разницы.

Проблема состоит в том, что два наиболее распространенных vnc-сервера tightvncserver и vnc4server – это x-прокси-серверы со своим внутренним x-сервером, который не поддерживает GLX. Вы все еще можете работать с 3D-приложениями, но вам нужно использовать рендеринг программного обеспечения для сторонних приложений на уровне приложений, что означает, что вам нужно установить libgl1-mesa-swx11 на ваш сервер приложений, и это противоречит обычно установленному аппаратным рендерингам версия libgl1-mesa-glx.

В качестве альтернативы вы можете установить обычный x-сервер с поддержкой аппаратного обеспечения GLX и использовать x11vnc, который является vncserver, который экранирует реальный x-сервер.

Было бы неплохо, если бы кто-то написал новый x-proxy vnc-сервер с надлежащей поддержкой GLX, используя libvncserver (используемый x11vnc). И tightvncserver, и vnc4server становятся немного твердыми.

После небольшого исследования все дороги, по-видимому, приводят к VirtualGL ( docs ), хотя мне еще предстоит попробовать (инструкции по настройке несколько … запугивают). Документация указывает на некоторые .debs , и есть открытый ITP для Debian .

В качестве альтернативы, возможно, будет возможно построить жесткий накопитель с поддержкой GLX через Mesa (например, упоминание здесь ). Разумеется, это не будет ускоренным GPU (но сколько потребуется графической лошадиной силы для электронной почты ???); что (по крайней мере, в прошлый раз, когда я пытался), Debian не позволял вам устанавливать более одного набора OpenGL-библиотек, установленных на компьютере, и я бы не хотел отказываться от ускорения HW для локального использования ,

Я обновлю здесь, если у меня будет какой-либо успех, так или иначе; Меня, безусловно, интересуют любые другие (возможные) решения / указатели.


Прогресс: установка VirtualGL через соответствующий .deb и следуя инструкциям (не так плохо, как они выглядят в первый раз, а охват множества платформ их несколько расширяет) позволяет мне поддерживать HX-ускорение!) В жестком сервере. Это первый раз, когда я это видел!

 /opt/VirtualGL/bin/vglrun glxgears 

введите описание изображения здесь

Эволюция также работает через этот механизм, решая мою основную проблему.

Однако есть некоторые существенные проблемы с этим методом. Он работает только тогда, когда кто-то вошел в систему на хост-машине (а не при отображении gadm3 greeter), и в этом случае vglrun получает ошибку «не удалось открыть отображение: 0») и любой вид перехода на дисплей (например, кто-то ctrl-alt-Fn-ing на виртуальную консоль) убьет приложение vglrun с ошибкой «Не могу прочитать пиксели»). Тем не менее, блокировка экрана кажется ОК. Для моих целей я могу жить с этим (есть кто-то еще, кто является основным пользователем машины, в которой я VNCing, и они всегда вошли в систему и, самое маловероятное, делают что-либо столь же техническое, как ctrl-alt-Fn с рабочего стола), но это может быть не идеально для других.

Обновление : на самом деле есть исправление, позволяющее использовать VNC + GLX во время показа gdm3 «greeter». Просто xhost +LOCAL: рядом с началом /etc/gdm3/Init/Default . vglserver_config действительно пытается это сделать (для небезопасных настроек), но он ничего не знает о конфигурационных файлах gdm3 (он проверяет только gdm и xdm). Хотя обратите внимание, что было бы лучше (и то, что пытается выполнить скрипт config, если вы отправились на более безопасные параметры во время установки, с группой vglusers), вместо этого нужно иметь vglgenkey , но это не похоже на делать что-либо (не создает /etc/opt/VirtualGL/vgl_xauth_key как предполагалось).

Обновление. Фактически, создание /etc/opt/VirtualGL/vgl_xauth_key для gdm3 можно включить, добавив пользователя Debian-gdm в группу vglusers. Но это просто переместит проблему в другом месте, когда vglrun теперь жалуется на невозможность заблокировать что-то в / var / run / gdm3 / (у которого есть права root: Debian-gdm). Я сейчас не в своей глубине и, несомненно, ужасно небезопасный xhost +LOCAL: строка должна будет сделать.

Обновление. Просто добрался до обновления этой жестокой старой машины Debian от Wheezy до Jessie и обновился до virtualgl 2.5 debs от SourceForge. vglrun evolution работает отлично, как только сервер настроен с помощью vglrun_config .

Я вижу, что в Debian9 («растяжка») появилось что- то под названием tigervnc-standalone-server . Это, как представляется, включает поддержку OpenGL (я отмечаю, что mesa является зависимостью). У меня не было никаких проблем с установкой его на новую установку Debian9 и его запуск, который обеспечил мне VNC-совместимый (любой клиент VNC) автономный (не «скриншотный экран») рабочий стол, на котором работает Gnome (не нужно возиться с файлами .Xsession), что кажется не имеют проблем с запуском эволюции или glxgears. Никакой virtualgl не нужен или даже не установлен на машине. Очень хорошо! (Хотя я сильно подозреваю, что это решение, вероятно, использует SW-рендеринг, тогда как с virtualgl я использовал графический процессор, а для 2D-приложений для настольных компьютеров на современных процессорах это просто отлично).

Обратите внимание, что сервер tigervnc не принимает удаленные (не-localhost) соединения по умолчанию (хотя есть опция командной строки, чтобы переопределить это); это должно (разумно) побуждать вас использовать туннелирование ssh!

  • Как я могу перенаправить ввод и вывод команды через VNC?
  • Как запустить vncserver как пользователь (а не root)?
  • Как я могу настроить новые файлы ~ / .vnc / xtartup для обычного рабочего стола по умолчанию?
  • vnc через назначение порта ssh
  • Время не синхронизируется в Linux VM
  • Отключить SSH-туннель с KVM VNC-сервером
  • Возможно ли сохранить vnc-сервер после выхода из системы?
  • Как подключиться к Mac OSX Maverick Shared Screen от Fedora 18?
  • xrdp не работает в Arch Linux с помощью диспетчера окон i3
  • Доступ к исполняемому экземпляру MATLAB из командной строки
  • Запустить X11vnc при загрузке в окне входа SLIM
  • Interesting Posts

    Системный язык Linux Mint 14 превращается в китайский. Как я могу вернуться на английский язык?

    Cronjob не выполняет сценарий оболочки, но когда я выполняю его автономно, он работает. Зачем?

    Вторая сессия записывается на диск BD-R с использованием -Z-флаг growisofs вместо -M. Можно ли сделать первый сеанс видимым?

    Как я могу сопоставить устройство ttyUSBX с последовательным устройством USB

    Что подразумевается под переназначением прерываний в Linux?

    Когда Debian переключится на Linux 4.x? (и поддерживать обновление ядра ядра?)

    cp: не может stat `/vol/examples/tutorial/science.txt ': нет такого файла или каталога

    Возможно ли получить список файлов, диапазон байтов от заголовка файла tar + bzip2?

    reprepro и gpg-agent – кодовая фраза не будет кэшироваться

    Что делать, если я хочу печатать каждую команду в файле sh в файле журнала, а также в консоли

    Какие инструменты могут показать мне использование ЦП, которое не отображается в top / sar?

    Время всех исполнений в bash

    Как я могу искать имя дикой карты во всех подпапках?

    Reverse id, я хочу, чтобы имя пользователя / группы из uid или gid

    Как читать из / proc / $ pid / mem в Linux?

    Linux и Unix - лучшая ОС в мире.