Предыдущая статья описывает порядок установки Guacamole на машину под управлением Debian 10.10, как правило, этой инструкции достаточно чтобы установить Guacamole и начать им пользоваться. Однако, некоторые пользователи сталкиваются с тем, что при попытке подключиться посредством Guacamole 1.3.0 (баг именно этой версии) к компьютеру под управлением MS Windows (т.е. через RDP) соединение устанавливается, но тут же закрывается, причем, без всяких ошибок. По крайней мере, в моем случае чтение логов не сильно помогло разобраться в ситуации. Остальные протоколы (SSH, VNC) работают вполне стабильно и никаких проблем с ними я не наблюдал. Ошибка с RDP проявляется при использовании Debian и его производных — Ubuntu, Mint и др. В чем же тут дело?

Дело в некорректной работе RDP клиента — freerdp2, для нормального функционирования Guacamole необходимо обновить freerdp2 из dev-ветки репозитория (т.е. backports). Что такое backports? Это ветка перекомпилированных пакетов из тестовой (testing) или нестабильной (unstable) веток. В основном пакеты портируются из тестовой (testing) ветки, но бывают случаи портирования и из нестабильной (unstable) ветки. Стоит с осторожностью использовать пакеты из backports, т.к. они не так хорошо оттестированы (по сравнению с пакетами из стабильной ветки) и предоставляются «как есть». В моем случае я решаю вопрос несколько радикальным методом, оставив только backports ветку в sources.list (нужны root права):

cp /etc/apt/sources.list /etc/apt/sources.list.bak
echo ‘# Backports’ >> /etc/apt/sources.list
echo ‘deb http://ftp.ru.debian.org/debian/ buster-backports main’ >> /etc/apt/sources.list
echo ‘deb-src http://ftp.ru.debian.org/debian/ buster-backports main’ >> /etc/apt/sources.lis

После чего отдаю команду на обновление freerdp2 из новой ветки:

apt -y -t buster-backports install freerdp2-dev libpulse-dev

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