Пробуем Darktable на windows в виртуалке.

Заметка сея посвящена тому, как попробовать бесплатный рав конвертер Darktable на Windows без установки второй операционной системы, а с использованием виртуальной среды.

Причиной послужило то, что я давно планировал попробовать этот проявщик и определить насколько он мне подходит, но переразбивать винт и ставить линукс исключительно, чтобы попробовать одну программу не было абсолютно никакого желания. В этот раз я решил наконец потратить часик-другой и попытаться поставить darktable.

Почему вообще Darktable и зачем его пробовать?

Во-первых, он бесплатный.

Во-вторых, имеющийся у меня лайтрум с рендерингом версии 2012 иногда реально бесит цветовыми артефактами, а работа со светом в ргб пространстве в нём приводит к невроятно извратному мультяшному цвету при любом серьёзном вытягивании.

В-третьих, адоб перпеползает на облачную модель с оплатой за время, а меня не прикалывает подобное. Напроявляешь в нём сейчас фоток, а вот если через 5 лет адоб прикажет долго жить, что с этим потом делать? Софта-то в наличии нет, чтобы открыть наработанное. Приплыли. Не говоря уже вообще об идеологии работы в облаке. Ну не люблю я подписки тянущие бабло ежемесячно.

В общем, darktable для таких староверов как я вариант интересный, тем более, что вроде как качество из него должно быть неплохое. К тому же, проект живой и развивается уже довольно давно. Так почему не попробовать?

Посмотрим, что из этого выйдет.

    Ставим виртуалку:
  1. Поскольку у меня винда, а ставить вторую ось желания нет, ставим виртуализатор: https://www.virtualbox.org/wiki/Downloads Оттуда я скачал вот это: VirtualBox 5.0.16 for Windows hosts.

    Запускаем, со всем соглашаемся, всё устанавливаем.

    Далее, качаем оттуда же и сохраняем: VirtualBox 5.0.16 Oracle VM VirtualBox Extension Pack и запоминаем, куда мы это сохранили.

    Открываем свежеустановленную программу Virtualbox. Или с десктопа, если иконку сказали там сделать инсталлятору, или через пуск:
    все программы->oracle vm virtualbox->oracle vm virtual box.

    В открывшейся программе открываем наверху:
    file->preferences->extensions

    Справа кликаем иконку-кнопку единственную, которая пишет "add new package" (если на неё навести мышку).

    В открывшемся выборе файла указываем путь до скачанного чуть ранее второго файла (VirtualBox Extension Pack). Его распаковывать не надо, суём как есть. И кликаем ок.

  2. Далее, смотрим список того, где darktable может жить: http://www.darktable.org/install/

  3. Решаем выбрать из возможных операционных систем убунту, как самую дружелюбную, и ищем где её скачать: http://www.ubuntu.com/download/alternative-downloads

    (внимание, если охото, чтобы оно пошустрее было, лучше ставьте не убунту, а xubuntu: http://xubuntu.org/getxubuntu - без лишних наворотов графики рабочего стола оно будет работать гораздо шустрее).

    Качаем: я выбрал вариант x64 desktop.

    Скачали.

    Создаём виртуальную машину
  4. Тэкс, создаём новую виртуалку в виртуалбоксе:
    Жмём кнопку New в virtualbox'е.

    название: убунту.
    тип: linux
    версия: ubuntu 64-bit
    далее

    памяти я 8192 выделю, если что, можно и убавить потом.
    далее

    create virtual disk now - создаём файл где будет виртуальный жёсткий диск. Естественно, что он должен быть на диске, где есть хотя бы полсотни гигабайт свободных
    далее

    vdi - структура файла с виртуальным диском
    далее

    dynamically allocated - увеличивать размер файла по необходимости, а не брать всё место сразу
    далее

    местонахождение: предлагает где-то в попе сохранять, фиг, сохраним в корень и дадим понятное имя, скажем c:\ubuntu.vdi
    размер: 32gb авось для экспериментов хватит.

    создали.

    теперь правой кнопкой на новой машине->settings->storage
    там выбираем иконку диска справа со словом "empty" под "controller ide".

    далее, с самого справа ещё одна иконка диска, кликаем её:
    choose virtual optical disk file->суём туда скачанный с сайта убунты дистрибутив

    в моём случае это файл "ubuntu-15.10-desktop-amd64.iso".

    жмём ok.

    Далее, суёмся в system->processor
    Там выделяем убунте столько ядер проца, сколько не жалко. Я выделяю на одно меньше, чем их физических у меня есть. Ну и execution gap в 95%. мало ли что, так хоть основная система не встанет колом, если в убунте что-то сожрёт все ресурсы.

    Далее, идём в Display->Screen
    Включаем 3д ускорение: "Enable 3d acceleration" - ставим галку.

    Так же, выдаём 128мб видео памяти.

    Без 3д ускорения compiz в убунте дико-страшно-ужасно тормозит пожирая 30% у меня в виртуалке. не хило. (если с 3д ускорением что-то не пашет, лучше вырубить всё в компизе или вообще ставить xubuntu, а не убунту).

    Всё, жмём "ок".

    ну и запускаем - выбираем нашу новую машину в списке и жмём наверху start.

    и, о чудо, появляется коричневая, как ... в общем начинает загружаться убунта :).
    Ставим убунуту:
  5. Убунта. После запуска виртаулки, убунта начинает загружаться с образа диска и нам предстоит пройти через ряд вопросов. Приступим.
    Выбираем язык - русский.

    Cправа тыкаем в установить убунту.

    Cтавим крыжик - скачать обновления при установке (нехай пропатчится сразу), а второй крыжик ниже для вкусностей - по желанию. ну, пусть будет, так спокойнее.

    Продолжить.

    Новые крыжики:

    Стереть диск. а то. диск-то виртуальный, пущай делает внутри, что хочет.

    Зашифровать - ну нафиг, только тормозов добавится.

    Использовать lvm - ну пущай, поставим крыжик.

    Жмём "установить сейчас" (кто это перевёл?)

    Получаем предложение проверить разметку разделов - нам пофигу, жмём продолжить.

    Временная зона, выбор города - продолжить.

    раскладка русская - продолжить.

    имя пользователя: пишем "vasya"
    пароль: пишем "pupkin". это важно.

    зеваем, пока файло копируется.

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

    о, свершилось маленькое чудо, процесс завершён. перезагрузить.

    перезагрузка виснет с руганью про биос, закрываю-ка окно с убунтой, из вариантов закртия: power off.

    давайте вынем загрузочный диск. снова правой кнопкой на виртуальной машине->settings и вынимаем диск.
    опс, у меня оно уже само пустое. странно. ну и фиг с ним.

    и установка завершена. не слишком пыльное занятие :).
    Ставим Darktable
  6. Переходим к работе в убунте.


    Тэкс, запускаем виртуалку снова - выбрали виртуалку в virtualbox и кнопка старт вверху.

    Вводим наш пароль "pupkin".

    И, вот мы и в полной убунте. звучит-то как, уф.

    Кликаем в левом ряду на третью иконку снизу - буква "а" на оранжевом фоне, что значит "приложения убунту".

    Вводим в строку поиска справа-сверху "darktable" и... обламываемся.

    не, оно есть, но версия 1.6.8.. тогда как уже выпущена 2.0.2. ну и нафиг нам эти исторические хроники? вздыхаем.

    опс, тут само вываливается окно с предложением установки обновлений. ну, дело хорошее, установить.

    пьём чай. ух, хорошо, что деревья ещё без листвы и сугробы везде. а то половина деревьев завтра была бы переломана с таким ветром. шумит, силища!

    а чай вкусный, да.

    и-и-и, наконец-то закончили. перезагрузить.

  7. Тэкс, значит нам надо установить darktable из их собственного репозитория.

    Открываем терминал - верхняя кнопка слева, фиолетовая такая. в строку поиска: terminal.

    Ага, нашёлся "терминал". кликаем на нём дважды, появляется командная строка.

    Втаптываем в неё:
    sudo add-apt-repository ppa:pmjdebruijn/darktable-release

    Оно спрашивает наш пароль, вводим. оно предупреждает о всякой фигне, жмём enter, то бишь ввод.

    Видим всякую инфу и в конце "всего обработано 1, импортировано 1".

    Что ж, репозиторий добавили, теперь стянем с него данные о том, чего там есть.

    Вводим в терминал команду: sudo apt-get update, пароль, ежели надо, и получаем "чтение списков пакетов... Готово.".

    Приехали. то есть, едем дальше.

    Закрываем терминал (а крестик для закрытия слева, прям воспоминания о полумухе, ну да ладно).

    Снова открываем мешок приложений (третья снизу-слева оранжевая кнопка с "а") (если он был открыт, то сначала закрываем, хотя хз, может и не обязательно).

    Вводим в поиск сверху-справа darktable.

    В найденной строке тыкаем в "подробно".

    Внизу обнаруживаем "версия: darktable 1:2.0.2". Замечательно, теперь мы на острие прогресса.

    Главное, не порезаться. в общем, жмём кнопку "установить". опять пароль.

    Фаза созерцания. Как красиво поёт ветер под аккомпанемент металлического дребезга. Просто кайф.

    О, уже установлено. Закрыть окно.

    Снизу слева появилась новая иконка, в виде цветной диафрагмы. Тыкаем в неё.

    И оно открывается, оно правда открывается! Оно - это darktable, если кто не понял. А, ну да, надо же туда файлы теперь сувать. Хм-хм. Для этого к ним надо дать доступ. Что ж, займёмся.

  8. расшариваем папки:

    для начала придётся установить дополнительные библиотеки под виртуалку.

    Для этого наверху, в окне самой виртуалки (над окном открытой убунты) у нас есть меню, а там Devices.

    Вот и тыкаем: devices->insert guest additions cd images.

    Оно предложит запустить или отменить, жмём "запустить". ну и опять вводим наш супер пароль. Когда оно установится и скажет "press return and.." нам надо будет перезагрузиться.

    Для этого сверху справа в убунте есть мелкая кнопочка типа шестерёнки, вот туда тыкаем, а там "выключение" и левый квадрат - перезагрузить.

    Убунта перезагружается и.. у меня она перестаёт реагировать вообще. :). ну, бывает. пытаюсь закрыть, закрывается, но в списке процессов продолжает висеть виртуалбокс.

    Что ж, выйдем/зайдём из винды. или перезагрузим винду. попробуем ещё разок, октрываем virtual box (он в пуск->все программы->oracle vm virtual box->oracle vm virtual box.

    Опять запускаем убунту.. о, в этот раз завелось. ну и фиг с ним.

    Ползём дальше. теперь надо расшарить саму папку с файлами для убунты. Снова тыкаем в Devices в меню наверху:
    devices->shared folders->shared folders settings

    Открывается окно, там справа-сверху есть иконка с плюсиком, тыкаем туда: folder path->other и выбираем папку с нашими фотками-равками.

    Ставим крыжик на "read-only" если не хотим, чтобы убунта имела возможность что-то постирать нам в виндовой папке. однако, в этом случае и экспорт из darktable не будет работать. Он по умолчанию пишет экспортируемый файл в папку с исходником.

    Ставим крыжики на "auto-mount" и "make permanent", ибо каждый раз руками монтировать вломы, а так папки будут автоматом подключаться при запуске убунты.

    В общем, ок. и ещё раз ок.

    И снова перезагружаем убунту (не винду). Правый врехний угол, кнопка, выключить, перезагрузить. можно было наверное и проще, ну да фиг с ним.

    Пробуем открыть папку. Слева у нас в столбике кнопок вторая - это файловый менеджер "наутиус". Тыкаем.

    Видим в списке в левой колонке под "Компьютер" строку с текстом "sf_имя_нашей_папки".

    Ага, получилось! Тыкаем в неё и видим "не удалось показать содержимое. недостаточно прав". бгг. ну да, удалось.

    Едем дальше.

    Снова левая верхняя фиолетовая кнопка, в поиск вбиваем terminal и тыкаем в найденный "терминал".

    Пишем в терминал: sudo adduser vasya vboxsf
    Это надо, чтобы добавить нашего пользователя в группу пользователей, которой доступны расшареные папки. Если вы использовали другие имя пользователя при установке убунты, то всесто "vasya" пишете своё имя пользователя.

    Вводим пароль.

    Добавили.

    Пробуем опять сунуться в папку в наутиусе, фиг. перезагржу-ка убунту. перезагрузил, открываю наутиус, открываю папку sf_..

    И, опа, вот они мои файлы.

    Пробуем открыть файл в Darktable
  9. Итак, приступаем к священнодействию.

    Тыкаем в darktable (нижняя иконка в левом меню). открылся. Тыкаем импорт->из папки, окей.

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

    В два часа я конечно не уложился, ушло почти три. правда, львиную долю заняла установка файлов на hdd, был бы ssd, наверное меньше часа бы ушло. ну и немного притормозило процесс то, что я впервые в жизни устанавливал себе убунту и что-то в ней. так что, пришлось разбираться как и что, чтобы решить вышеописанные проблемы. на эксперименты с самим дарктэйблом времени уже не хватило, ну, не всё коту масленица :).

    Настраиваем Darktable по минимуму

    Для начала, захотелось найти настройки программы. После некоторого блуждания по экрану была обнаружена крохотная шестерёнка справа в углу от фотки - слева от гистограммы. Она видна, только если открыта верхняя панель инструментов.

    Я не буду проходить по каждой из опций, желающие вполне и сами способны на это. Я лишь приведу те настройки, которые счёл необходимым изменить.

    • Интерфейс->игнорировать jpeg при импорте.

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

    • основные->предел расхода памяти для мозаики

      Ставьте сколько можете (сколько выделили для виртуалки минус 1гб). это память для обработки, так что мало её быть не может, авось тормозов будет меньше. я выделил сразу 5500gb, мне более чем хватило, поскольку равы у меня не многопиксельные.

    • интерфейс->"держать один модуль в режиме обработки единовременно"

      По-умолчанию ДТ открывая настройки одного модуля, закрывает остальные. С шифтом этого можно избежать, но всё равно меня такое поведение сильно раздражает. Не люблю прыгающий под мышкой интерфейс.

    • интерфейс->scroll to darkroom modules when expanded/collapsed

      Убрать галку. (было не переведено, когда я пробовал).
      По-умолчанию ДТ при открытии нового модуля перемещает его наверх, в итоге всё это визуально прыгает, причём именно прыгает, а не сдвигается. Прыгающий интерфейс, одна из самых ужасных вещей, которые только можно придумать для юзабилити :)).

    • Основные->высококачественная интерполяция при экспорте - ставим галку.

    • Основные->способ дебайеризации при просмотре фото целиком - полная (может быть медленной)

      Если я смотрю фото в подробностях, я хочу видеть его таким, каким оно пойдёт на экспорт. Это же логично.

    • Автоматически применять предустановки базовых кривых: ставим крыжик.

      Так у нас будет на автомате применяться к равом кривая, какую эта модель камеры использует для создания джпегов из рава. При условии, что в ДТ уже есть профиль для вашей камеры. Начинать работать с линейной кривой - издевательство :).

    • Клавиатурные комбинации->Обработка->Следующая фотография
      Клавиатурные комбинации->Обработка->Предыдущая фотография

      Назначаем под себя удобные кнопки. Стрелочки у меня не заработали, но всё лучше, чем space/backspace предлагаемые по умолчанию. Как их вообще нажимать левой рукой подряд?

    Больше ни за что интересное внимание не зацепилось.

    И это очень печально, ведь лез-то я туда за весьма простой вещью - изменить размер шрифта и интерфейса в целом. Ибо 100% зрением уже давненько не балуюсь. Однако, никаких настроек шрифта там не оказалось.

    Изменить его, тем не менее, оказалось вполне возможно, для этого проходим следующую процедуру :).

    В-нулевых, закрываем darktable.

    Во-первых, для удобства работы ставим "midnight commander":

    - идём в менеджер софта (оранжевая "А")

    - ищем там "mc", находим midnight commander, устанавливаем. слева в панельке убунты появляется синий квадрат в меню с буквами mc.

    это наш менеджер файлов, типа фара, дос навигатора, волков коммандера и даже нортон коммандера ).

    - открываем mc.

    переходим на правую панельку (кнопка tab на клаве),

    путешествуем в папку: "/usr/share/darktable"

    (чтобы перейти в верхний каталог, надо нажимать ввод на "./.." находящихся первым в списке файлов. в самом верхнем каталоге таких точек уже нет, так что в нём уже ищем "usr", жмём ввод, "share" и так далее).

    Там находим файл "darktable.css", стрелочками выбираем его, жмём на клаве "tab", перепрыгивая на левую панель, идём на левой панельке в папку "/home/ваше_имя_пользователя/.config/darktable/". отлично, теперь на левой панельке у нас "куда" копировать, а на правой "откуда". жмём ещё раз tab, чтобы вернуться на правую панельку, убеждаемся, что мы по прежнему на файле darktable.css, жмём на клаве F5 (или мышкой внизу на кнопке "Копия". открывается диалог, где написано, что мы копируем darktable.css в папку /home/vasya/.config/darkable. просто жмём ввод. всё, файл скопирован.

    Жмём tab, чтобы прыгнуть на левую панель, наводим курсор на "darktable.css" и жмём F4 (или мышкой кнопку правка внизу).
    Как не трудно догадаться, файл этот, это простая цсска описывающая интерфейс darktable.

    Во-вторых, нам надо отредактировать этот файл в папке "/home/ваше_имя_пользователя/.config/darkable".

    Нас спросят о том, какой редактор мы предпочитаем, проще ткнуть кнопку 3 (выбрать mcedit). После чего откроется редактирования файла.

    Нас интересует размер шрифта, он виден сразу на первой странице в блоке

    * {
       font: Sans 8;
    ......
    }

    гоним курсор к 8 и заменяем 8 на 7px (это размер шрифта).

    в итоге имеем строку font: Sans 7px;

    жмём F2 (или мышкой в "сохранить" внизу), сохраняем, жмём на клаве Esc.

    Далее, изменяем размеры интерфейса в целом:
    открываем для редактирования файл:
    /home/ваше_имя_пользователя/.config/darktable/darktablec

    Ищем там "screen_dpi_overwrite"
    (если вы используете mc, то это F7 или мышкой в кнопку Поиск внизу, в редакторе (F4 на файле)).

    и ставим значение во что-то более удобное. например:
    screen_dpi_overwrite=150

    Сохраняем (F2).

    Выходим из редактирования (esc)
    В итоге, первой настройкой мы чуть уменьшили шрифт, а второй сильно увеличили весь интерфейс в целом. Варьируя этими двумя настройками, можно попытаться подогнать ДТ под своё зрение.


    Открываем darktable заново и наслаждаемся более читабельными надписями, а то этот миллиметраж доставал.

    Итак, задача минимум у нас выполнена, darktable установлен, более-менее настроен под себя и готов к работе.

    Теперь можно переходить к чтению документации и опробации предложенных инструментов.