Как обновить TigerVNC до 1.12 на Debian 11?

Вопрос или проблема

У меня есть развивающая машина на базе Debian 11, который в настоящее время является нашей стандартной средой для хостов оборудования. Я использую VNC (сервер TigerVNC) для удаленного доступа к ней с моего рабочего компьютера. Проблема в том, что TigerVNC, который поставляется с Debian 11, имеет очень раздражающую ошибку, которая мешает моей работе.

Ошибка давно исправлена, но, насколько мне известно, нет официальной обратной портировки, и обратные портировки для Debian 11 завершены.

Поэтому единственный способ получить исправление — вручную обновить TigerVNC. Я подумал о двух способах достижения этого:

  1. Установить пакеты для Debian 12, своего рода провести обновление до Debian 12, которое хирургически ограничено зависимостями TigerVNC, которые требуют более высоких версий. Я просмотрел их (фактически выполнил работу APT) и составил управляемый список: список

Проблема в том, что это требует обновления libc6, что, как я выяснил, очень опасно, хотя glibc должна быть обратно совместимой. Поэтому я отложил это в сторону. Тем не менее, это будет самым простым способом, если бы существовал способ обновить libc, не нарушая всю систему.

  1. Вероятно, более надежный способ — собрать TigerVNC (сервер) 1.12 для Debian 11. Однако это довольно сложно, потому что это включает сборку Xorg (раздел “Сборка сервера TigerVNC на системах Unix/Linux”).
    Мне удалось устранить все проблемы с отсутствующими инструментами и пакетами разработки. Однако было много предупреждений, таких как

    hw/dmx/config/Makefile.am:23: warning: source file '$(top_srcdir)/os/strlcpy.c' is in a subdirectory,
    hw/dmx/config/Makefile.am:23: but option 'subdir-objects' is disabled
    

    после

    autoreconf -fiv
    

Я не знаю, что с этим делать, нормально ли это так, или как я могу это исправить иначе.

Но я столкнулся с серьезной проблемой на конфигурации сборки Xorg (./configure), потому что у меня абсолютно нет идеи, какие параметры правильные для Debian. Мне определенно нужна помощь с этим.

  1. Возможно, есть и другие методы, которые я не рассмотрел.

Ответ или решение

Для того чтобы обновить TigerVNC до версии 1.12 на Debian 11, вам необходимо учитывать несколько важных аспектов, поскольку стандартная версия, поставляемая с этой системой, содержит ошибки, влияющие на вашу работу. Рассмотрим возможные методы решения данной проблемы.

1. Установка пакетов из Debian 12

Первый метод — это обновление соответствующих зависимостей TigerVNC из Debian 12. Однако это может привести к серьезным последствиям, так как одной из ключевых зависимостей является библиотека libc6. Хотя glibc ориентирована на обратную совместимость, риск сборки системы, включая удаление или неправильную установку ключевых компонентов, является довольно высоким. Поэтому, если вы все-таки решите следовать этому пути, рекомендуется внимательно проанализировать все зависимости и создать резервные копии системы перед внесением изменений.

2. Сборка TigerVNC из исходников для Debian 11

Второй, более безопасный метод заключается в том, чтобы собрать TigerVNC версии 1.12 самостоятельно. Для этого вам потребуется выполнить несколько шагов:

1. Установка необходимых инструментов

Убедитесь, что все необходимые пакеты для сборки установлены. Выполните следующие команды:

sudo apt update
sudo apt install build-essential cmake git pkg-config libx11-dev libxext-dev libxrender-dev libxtst-dev libxfixes-dev libxrandr-dev libxcb1-dev libx11-xcb-dev libxcb-util-dev libxrender1 libxrandr2 libfontenc1 libxkbcommon-dev

2. Клонирование репозитория TigerVNC

Клонируйте репозиторий TigerVNC:

git clone https://github.com/TigerVNC/tigervnc.git
cd tigervnc
git checkout 1.12-branch

3. Настройка окружения для сборки

Вам также необходимо установить Xorg и другие необходимые зависимости, чтобы обеспечить полную функциональность TigerVNC. В процессе сборки вы можете столкнуться с предупреждениями, например:

hw/dmx/config/Makefile.am:23: warning: source file '$(top_srcdir)/os/strlcpy.c' is in a subdirectory,
hw/dmx/config/Makefile.am:23: but option 'subdir-objects' is disabled

Это предупреждение может быть проигнорировано, но для лучшей практики рекомендуется переключиться на использование опции subdir-objects.

4. Настройка конфигурации Xorg

При выполнении команды ./configure для Xorg, обратите внимание на параметры, специфичные для вашей версии Debian. Попробуйте использовать следующие параметры в качестве отправной точки:

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-static

Если возникнут ошибки, обратитесь к документации Xorg для получения дополнительной информации о доступных параметрах.

5. Сборка и установка

После успешного выполнения конфигурации вы можете запустить процесс сборки:

make
sudo make install

3. Альтернативные методы

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

Заключение

Благодаря представленным методам вы сможете обновить TigerVNC на вашем Debian 11. Каждый метод имеет свои плюсы и минусы, и выбор зависит от вашего опыта и предпочтений. Важно также не забывать о создании резервных копий перед выполнением критичных изменений в системе. Надеюсь, эти советы окажутся полезными для вас.

Оцените материал
Добавить комментарий

Капча загружается...