Как получить 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-порт (?)
  • Как автоматически запустить TightVNC-сервер как root при запуске Ubuntu?
  • Могут ли два USB-устройства RNDIS с тем же IP-соединением подключаться к серверам VNC одного компьютера?
  • Приложения XForwarding из OSX
  • Удаленная поддержка: маршрутизация RDP через туннель ssh?
  • Как установить vncserver с паролем?
  • Системный звуковой сигнал не работает в TigerVNC
  • Как указать источник / etc / profile и .bashrc при запуске vncserver
  • Как скопировать текст в xterm
  • vnc, работающее с PuTTY, но не с командной строкой
  • Возможная атака на VNC-сервер
  • Interesting Posts

    Как включить модуль pg_stat_statements в postgresql (9.4)

    Какой модуль в ядре информирует клиента DHCP о начале переговоров по DHCP?

    Показать старые или более старые элементы истории с помощью команды history в zsh

    Переместить папку в под-том BTRFS

    Элемент запуска Gnome игнорирует аргументы командной строки

    Предупреждения при открытии программ через вызовы подпроцесса Python

    Интеграция мыши с клиентом SSH, в командной строке, а не только с vim?

    Как вернуть несколько записей DNS A в определенном порядке с помощью bind9?

    Является ли разумным подход к «резервному копированию» переменной $ IFS?

    Как перевести ключ-модификатор + (управление + пробел) в другой модификатор (сдвиг)?

    Понимание использования Inode NTFS-3g

    Как перейти в каждый каталог и выполнить команду по определенному файлу?

    Чтение шаблонов grep из файла

    Как переместить .bash_profile вдали от дома

    Как получить адрес IPV4 для интерфейса из / proc

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