В продолжение импортированного бага #45, в котором напоминается, что base64 является не единственной утилитой для представления файла в base64.
Я достаточно хорошо разбираюсь в том, как установить любую программу в любой ОС и уже сообщил, какие программы в дистрибутиве Debian доступны для кодирования в base64:
1. uuenview -b (из пакета uudeview)
2. uuencode -m (из пакета sharutils)
Для таких случаев (когда некоторая необходимая функция может обеспечиваться несколькими различными, часто несовместимыми и взаимоисключающими утилитами) придумана категория virtual.
Делать исключение для Демьяна полагаю категорически неправильным.
Достаточно вынести задание команды кодирования base64 в отдельный пункт настроек.
И при установке/первом запуске расширения проверять это значение:
Если в системе есть утилита base64 (в моём случае идёт в составе пакета sys-apps/coreutils, которого, по понятным причинам, отсутствовать в системе не должно) — используем её, если её нет — проверяем uuencode, далее — uuenview.
А там, глядишь, и для самой распространённой ОС решение найдётся…
Если проверка не нашла ничего — отмечаем соответствующие функции (экспорт графики) как недоступные.
Про правильное поведение для данного случая навскидку не скажу, думать надо.
Наверное сюда же следует отнесит импортированный bug #24 про неработоспособность экспорта графики при отключённом cmd.exe.
Наиболее универсальным решением задачи является openssl base64.