Darktable — это мощное приложение с открытым исходным кодом для обработки RAW-изображений (фотографий в «сыром» формате). Его часто сравнивают с Adobe Lightroom, но Darktable бесплатен, не требует подписки и даёт полный контроль над вашими фотографиями.
В этом руководстве я покажу три способа установки Darktable на Debian:
- APT — из официальных репозиториев Debian (проще всего, но версия зависит от релиза)
- Flatpak — из Flathub (более новая версия на любом Debian)
- Сборка из исходников — самая свежая версия (только для Debian 13 и 12)
| Релиз Debian | Версия в APT | Версия в Flatpak | Сборка из исходников |
|---|---|---|---|
| Debian 13 (Trixie) | 5.0.x | 5.4.x (актуальная) | ✅ Да (5.5.x) |
| Debian 12 (Bookworm) | 4.2.x | 5.4.x (актуальная) | ✅ Да (5.5.x) |
| Debian 11 (Bullseye) | 3.4.x | 5.4.x (актуальная) | ❌ Нет (слишком старые инструменты) |
⚠️ Важно: Выберите один способ установки. Открытие одной и той же библиотеки фотографий в более новой версии Darktable может обновить её базу данных, и старая версия больше не сможет её прочитать. Не смешивайте способы.
Предварительные требования
Перед установкой Darktable убедитесь, что:
- У вас есть графическая среда (GNOME, KDE, Xfce и т.д.) — Darktable не запускается без неё
- Вы имеете права
sudo(администратора)
⚠️ ВАЖНО: Проверьте права sudo перед установкой
Если вы не уверены, есть ли у вашего пользователя права администратора, выполните в терминале:
sudo whoami
Что делает: sudo — выполняет команду от имени суперпользователя; whoami — показывает имя текущего пользователя.
✅ Ожидаемый вывод в терминале:
root
❌ Если выводит is not in the sudoers file — сначала пройдите наше руководство по настройке sudo.
Способ 1: Установка Darktable из APT (рекомендуемый)
Это самый простой способ. Darktable устанавливается из официальных репозиториев Debian, поэтому обновления будут приходить вместе с системой.
Шаг 1: Обновите список пакетов
sudo apt update
Что делает: Обновляет список доступных пакетов.
Шаг 2: Установите Darktable
sudo apt install -y darktable
Что делает: Устанавливает Darktable и все необходимые зависимости.
Шаг 3: Проверьте установленную версию
dpkg-query -W darktable
Что делает: Показывает установленную версию пакета Darktable.
✅ Ожидаемый вывод (зависит от версии Debian):
- Debian 13:
darktable 5.0.1-2 - Debian 12:
darktable 4.2.1-4 - Debian 11:
darktable 3.4.1-5
Способ 2: Установка Darktable через Flatpak (более новая версия)
Используйте этот способ, если версия из APT слишком старая, но вы не хотите вручную компилировать программу. Flatpak даст вам актуальную версию Darktable на любом Debian.
Шаг 1: Установите Flatpak (если ещё не установлен)
Если Flatpak не установлен, сначала пройдите наше руководство по установке Flatpak на Debian.
Шаг 2: Добавьте репозиторий Flathub (если ещё не добавлен)
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Что делает: Добавляет репозиторий Flathub, откуда Flatpak берёт приложения.
Шаг 3: Проверьте, что Flathub доступен
flatpak remotes
Что делает: Показывает список подключённых репозиториев.
✅ Ожидаемый вывод: Должна быть строка flathub system.
Шаг 4: Установите Darktable из Flathub
sudo flatpak install flathub org.darktable.Darktable -y
Что делает: Устанавливает Darktable из репозитория Flathub.
Шаг 5: Проверьте установленную версию
flatpak info org.darktable.Darktable
Что делает: Показывает информацию об установленном приложении.
✅ Ожидаемый вывод (сейчас):
ID: org.darktable.Darktable
Ref: app/org.darktable.Darktable/x86_64/stable
Arch: x86_64
Branch: stable
Version: 5.4.1
Installation: system
Способ 3: Сборка Darktable из исходников (только Debian 13 и 12)
Этот способ для тех, кто хочет самую свежую версию Darktable (сейчас 5.5.x), не хочет использовать Flatpak и готов потратить немного времени на компиляцию.
⚠️ Debian 11 не поддерживает этот способ — в нём слишком старые версии компилятора и CMake.
Шаг 1: Установите инструменты сборки
sudo apt install -y build-essential cmake git
Что делает:
build-essential— компиляторы (GCC, make)cmake— система сборкиgit— для скачивания исходного кода
Шаг 2: Включите исходные репозитории (deb-src)
Для сборки Darktable нужны зависимости, которые описаны в пакете darktable. Чтобы их установить, нужно включить исходные репозитории.
Если у вас современный Debian с файлом /etc/apt/sources.list.d/debian.sources:
sudo sed -i 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/debian.sources
Если у вас классический /etc/apt/sources.list:
sudo sed -Ei 's/^# ?deb-src /deb-src /' /etc/apt/sources.list
Что делает: Раскомментирует строки с deb-src (исходные репозитории).
Затем обновите список пакетов:
sudo apt update
Шаг 3: Установите зависимости для сборки Darktable
sudo apt build-dep darktable -y
Что делает: Устанавливает все пакеты, которые нужны для компиляции Darktable (библиотеки, заголовочные файлы и т.д.).
Шаг 4: Узнайте последнюю стабильную версию Darktable
DARKTABLE_TAG="$(git ls-remote --tags --refs https://github.com/darktable-org/darktable 'refs/tags/release-*' | sed 's#.*refs/tags/##' | sort -V | tail -n1)"
printf '%s\n' "$DARKTABLE_TAG"
Что делает: Проверяет на GitHub, какой тег последний (например, release-5.5.0).
✅ Ожидаемый вывод: release-5.5.0 (или новее).
Шаг 5: Скачайте исходный код
rm -rf "$HOME/darktable-source"
git clone --branch "$DARKTABLE_TAG" --depth 1 https://github.com/darktable-org/darktable.git "$HOME/darktable-source"
cd "$HOME/darktable-source"
git submodule init
git config submodule.src/tests/integration.update none
git submodule update --depth 1 --recursive
Что делает:
- Удаляет старую директорию с исходниками (если была)
- Клонирует только последнюю версию (
--depth 1) - Инициализирует подмодули (дополнительные библиотеки)
- Отключает загрузку тяжёлых тестов (
integration.update none)
Шаг 6: Соберите и установите Darktable
./build.sh --prefix /opt/darktable --build-type Release --install --sudo
Что делает:
--prefix /opt/darktable— устанавливает программу в/opt/darktable(не конфликтует с системной)--build-type Release— оптимизированная сборка--install --sudo— запускает установку с правами администратора
Шаг 7: Создайте ярлык в меню приложений (опционально)
sudo install -d -m 0755 /usr/local/share/applications
sudo ln -sfn /opt/darktable/share/applications/org.darktable.darktable.desktop /usr/local/share/applications/org.darktable.darktable.desktop
Что делает: Создаёт символическую ссылку, чтобы Darktable появился в меню приложений.
Шаг 8: Проверьте версию собранной программы
/opt/darktable/bin/darktable --version | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+' | head -n1
✅ Ожидаемый вывод: 5.5.0 (или актуальная версия).
Запуск Darktable
Запуск из терминала
Для версии из APT:
darktable
Для версии из Flatpak:
flatpak run org.darktable.Darktable
Для версии из исходников:
/opt/darktable/bin/darktable
Запуск из меню приложений
Найдите Darktable в меню приложений. В GNOME он обычно находится в категории «Графика».
Обновление Darktable
Обновление APT-версии
sudo apt update && sudo apt install --only-upgrade darktable
Обновление Flatpak-версии
sudo flatpak update org.darktable.Darktable -y
Обновление сборки из исходников
Darktable из исходников не обновляется автоматически. Для удобства создадим скрипт-помощник.
Создайте файл скрипта:
sudo install -m 0755 /dev/stdin /usr/local/bin/update-darktable-source <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
SOURCE_DIR="$HOME/darktable-source"
INSTALL_BIN="/opt/darktable/bin/darktable"
REPO_URL="https://github.com/darktable-org/darktable.git"
if [ "$(id -u)" -eq 0 ]; then
echo "Запускайте этот скрипт от обычного пользователя. sudo потребуется только для установки."
exit 1
fi
for cmd in git cmake make; do
if ! command -v "$cmd" >/dev/null 2>&1; then
echo "Отсутствует необходимая команда: $cmd"
exit 1
fi
done
if [ ! -d "$SOURCE_DIR/.git" ]; then
echo "Не найдена директория с исходниками: $SOURCE_DIR"
exit 1
fi
LATEST_TAG="$(git ls-remote --tags --refs "$REPO_URL" 'refs/tags/release-*' | sed 's#.*refs/tags/##' | sort -V | tail -n1)"
LATEST_VERSION="${LATEST_TAG#release-}"
CURRENT_VERSION="$([ -x "$INSTALL_BIN" ] && "$INSTALL_BIN" --version 2>/dev/null | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+' | head -n1 || true)"
CURRENT_VERSION="${CURRENT_VERSION:-none}"
if [ -z "$LATEST_TAG" ]; then
echo "Не удалось определить последнюю стабильную версию Darktable."
exit 1
fi
echo "Текущая версия: $CURRENT_VERSION"
echo "Новая версия: $LATEST_VERSION"
if [ "$CURRENT_VERSION" = "$LATEST_VERSION" ]; then
echo "Darktable уже обновлён до последней версии: $CURRENT_VERSION"
exit 0
fi
if [ -n "$(git -C "$SOURCE_DIR" status --porcelain)" ]; then
echo "Есть несохранённые изменения в $SOURCE_DIR"
exit 1
fi
echo "Обновление исходников в $SOURCE_DIR"
git -C "$SOURCE_DIR" fetch --tags
git -C "$SOURCE_DIR" checkout "$LATEST_TAG"
git -C "$SOURCE_DIR" submodule init
git -C "$SOURCE_DIR" config submodule.src/tests/integration.update none
git -C "$SOURCE_DIR" submodule update --depth 1 --recursive
echo "Удаление предыдущей директории сборки"
rm -rf "$SOURCE_DIR/build"
echo "Сборка Darktable $LATEST_VERSION"
cd "$SOURCE_DIR"
./build.sh --prefix /opt/darktable --build-type Release --install --sudo
sudo install -d -m 0755 /usr/local/share/applications
sudo ln -sfn /opt/darktable/share/applications/org.darktable.darktable.desktop /usr/local/share/applications/org.darktable.darktable.desktop
echo "Обновление завершено"
"$INSTALL_BIN" --version | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+' | head -n1
EOF
Запуск обновления:
update-darktable-source
Что делает: Проверяет последнюю версию на GitHub и пересобирает Darktable, если вышло обновление.
Удаление Darktable
Удаление APT-версии
sudo apt remove --autoremove darktable
Удаление Flatpak-версии
sudo flatpak remove --delete-data org.darktable.Darktable -y
Удаление сборки из исходников
sudo rm -rf /opt/darktable
sudo rm -f /usr/local/share/applications/org.darktable.darktable.desktop
sudo rm -f /usr/local/bin/update-darktable-source
rm -rf "$HOME/darktable-source"
Удаление пользовательских данных Darktable
Darktable хранит свои настройки, библиотеку и пресеты в домашней директории. Удалите эти папки, только если вы больше не планируете использовать Darktable.
rm -rf ~/.config/darktable ~/.cache/darktable ~/.local/share/darktable ~/.var/app/org.darktable.Darktable
Решение типичных проблем
8.1 Darktable не запускается из меню приложений
Симптом: Darktable установлен, но не открывается при нажатии на иконку.
Причина: Вы установили ту версию, для которой не создан ярлык (например, собранную из исходников без создания ссылки).
Пошаговое решение:
Шаг 1: Проверьте, какая версия Darktable у вас установлена.
Для APT:
dpkg-query -W darktable
Для Flatpak:
flatpak info org.darktable.Darktable
Для сборки из исходников:
/opt/darktable/bin/darktable --version
Шаг 2: Запустите Darktable из терминала — это покажет ошибку, если она есть.
Для APT:
darktable
Для Flatpak:
flatpak run org.darktable.Darktable
Для сборки из исходников:
/opt/darktable/bin/darktable
Шаг 3: Если программа запускается из терминала, но не из меню — для сборки из исходников выполните команду создания ярлыка:
sudo install -d -m 0755 /usr/local/share/applications
sudo ln -sfn /opt/darktable/share/applications/org.darktable.darktable.desktop /usr/local/share/applications/org.darktable.darktable.desktop
Шаг 4: Если программа не запускается даже из терминала, и вы видите ошибки о библиотеках — переустановите Darktable.
8.2 Darktable не открывает RAW-файлы с моей камеры
Симптом: Программа запускается, но при попытке импортировать RAW-файл (CR3, NEF, RAF) выдаёт ошибку или показывает чёрную миниатюру.
Причина: Слишком старая версия Darktable. Поддержка новых камер добавляется в новых версиях.
Пошаговое решение:
Шаг 1: Проверьте вашу версию Darktable:
darktable --version
Шаг 2: Сравните вашу версию с официальным списком поддерживаемых камер Darktable. Если ваша камера требует более новую версию — обновитесь.
Шаг 3: Если у вас версия из APT (особенно на Debian 11 или 12) — перейдите на Flatpak:
sudo flatpak install flathub org.darktable.Darktable -y
Шаг 4: Если у вас Debian 13 или 12 — соберите последнюю версию из исходников (см. Способ 3).
8.3 Ошибка: tethered shooting (съёмка через USB) не работает
Симптом: Камера подключена по USB, но Darktable не видит её в режиме tethering.
Причина: Ваш пользователь не состоит в группе plugdev, которая имеет доступ к USB-устройствам.
Пошаговое решение:
Шаг 1: Проверьте, входит ли ваш пользователь в группу plugdev:
groups "$USER"
✅ Ожидаемый вывод: Должна быть строка plugdev. Если её нет — переходите к шагу 2.
Шаг 2: Добавьте пользователя в группу plugdev:
sudo usermod -aG plugdev $USER
Что делает: Добавляет текущего пользователя в группу plugdev (-aG — append to Group).
Шаг 3: Выйдите из системы и зайдите снова (или перезагрузитесь). Только после этого изменения вступят в силу.
Шаг 4: Проверьте ещё раз:
groups "$USER"
Теперь plugdev должна быть в списке.
8.4 Darktable тормозит или медленно открывает изображения
Симптом: Darktable работает медленно, долго применяет изменения, даже на мощном компьютере.
Причина: Darktable по умолчанию использует программную обработку, а не видеокарту (OpenCL).
Пошаговое решение:
Шаг 1: Установите драйверы OpenCL для вашей видеокарты.
Для NVIDIA:
sudo apt install -y nvidia-opencl-icd
Для AMD:
sudo apt install -y mesa-opencl-icd
Шаг 2: Включите OpenCL в настройках Darktable:
- Откройте Darktable
- Зайдите в Настройки → Обработка
- Найдите раздел OpenCL
- Поставьте галочку «Использовать OpenCL»
- Перезапустите Darktable
Шаг 3: Проверьте, что OpenCL работает:
darktable --version | grep -i opencl
✅ Ожидаемый вывод: Строка, указывающая на поддержку OpenCL.
У darktable версии из APT или сборки из исходников эта команда может не показать OpenCL, потому что флаг --version не всегда выводит информацию об OpenCL. Но это не ошибка — просто пользователь может увидеть пустой вывод, даже если OpenCL настроен правильно.
Или, есть ещё вот такой вариант проверки (более детальная проверка):.
darktable --version --verbose 2>/dev/null | grep -i opencl
Отсутствие вывода не означает, что OpenCL не работает — нужно проверить в настройках самого Darktable.
Чек-лист: что проверить после установки
- [ ] Программа запускается:
darktable(илиflatpak run org.darktable.Darktable) открывает окно - [ ] Версия соответствует ожидаемой:
dpkg-query -W darktable(APT) илиflatpak info(Flatpak) или/opt/darktable/bin/darktable --version(сборка) - [ ] Можно импортировать фото: Darktable видит папки с изображениями
- [ ] Можно открыть RAW-файл: тестовый снимок открывается в darkroom
- [ ] Для сборки из исходников: ярлык есть в меню приложений
- [ ] Для tethering: пользователь в группе
plugdev
Часто задаваемые вопросы (FAQ)
Вопрос: Darktable уже есть в репозиториях Debian. Зачем мне Flatpak или сборка из исходников?
Ответ: Репозитории Debian содержат стабильные, но часто довольно старые версии. Flatpak даёт более свежую версию на любой системе. Сборка из исходников — самую последнюю.
Вопрос: Можно ли установить Darktable через Snap?
Ответ: Можно, но официально от Darktable рекомендуются APT (для стабильности) и Flatpak (для новизны). Snap не тестируется разработчиками так же тщательно.
Вопрос: Какой способ установки самый простой?
Ответ: APT — одна команда, не требует дополнительных действий. Но версия будет не самая новая.
Вопрос: Будут ли конфликтовать APT, Flatpak и сборка из исходников?
Ответ: Они устанавливаются в разные места: APT — в /usr, Flatpak — в свой изолированный каталог, сборка — в /opt/darktable. Но не открывайте одну и ту же библиотеку фотографий разными версиями — база данных может обновиться, и старая версия перестанет её читать.
Вопрос: Darktable работает только с RAW или с JPEG тоже?
Ответ: Darktable работает и с JPEG, и с TIFF, и с другими форматами. Но основная его сила — обработка RAW.
Заключение
Теперь Darktable установлен на вашем Debian. Вы можете выбрать подходящий вам способ установки:
- APT — для простоты и стабильности (но версия зависит от релиза)
- Flatpak — для более свежей версии на любой системе
- Сборка из исходников — для самой последней версии (Debian 13 и 12)
Что дальше?
- Изучите официальную документацию Darktable
- Посмотрите список поддерживаемых камер
- Настройте OpenCL для ускорения обработки
- Установите RAW-кодек для просмотра миниатюр в файловом менеджере