Директ Коммандер на Linux: Всё!
Месяц назад я рассказывал, как запустил Директ Коммандер на Linux. Схема работала, но с двумя оговорками:
- Официальный установщик зацикливался, поэтому программу приходилось доставать из него архиватором
- Автообновление не работало, и обновляться надо было руками.
Обе оговорки снялись. Коммандер ставится официальным установщиком и обновляется сам, как на Windows.
Что изменилось
Я отправил результаты тестов в WineHQ AppDB. Это база, где люди отмечают, какие Windows-программы и как работают под Wine. До меня там висела запись про Коммандер с рейтингом Garbage, то есть «не работает вообще». Мою запись с рейтингом Gold одобрили, а модератор попросил завести отчёт об ошибке в багтрекере Wine.
Я пошёл искать, нет ли такого отчёта уже. Сначала разобрался, как установщик проверяет, запущена ли программа, и нашёл жалобу на другой установщик с той же петлёй. Ниточка привела к PowerShell в Wine. Отчёт нашёлся с готовым решением в комментариях, висел с апреля 2026.
Причина зацикливания такая. Установщик перед копированием файлов спрашивает у системы, не запущен ли Коммандер. Спрашивает сначала через PowerShell, а в Wine вместо PowerShell стоит заглушка, которая на любой вопрос отвечает «да». Установщик слышит «да, программа запущена» и просит её закрыть. Закрывать нечего, он спрашивает снова, получает то же «да», и так по кругу.
Поэтому в первой статье установщик ломался везде, включая платный CrossOver: заглушка у всех одна.
Решение: запретить Wine запускать заглушку. Тогда установщик понимает, что PowerShell нет, проверяет запущенные программы другим способом, получает честный ответ «не запущена» и ставит программу.
Почему заодно заработало обновление
Встроенное обновление Коммандера делает ровно то же самое: скачивает новый установщик и запускает его при закрытии программы. Раньше этот установщик упирался в ту же заглушку и молча умирал. Со стороны это выглядело так: программа обещает обновиться, закрывается и при следующем запуске остаётся на старой версии.
Если запускать Коммандер с отключённой заглушкой, установщик обновления наследует эту настройку и проходит. Проверил на живом обновлении: закрыл 3.156.3, открыл 3.158.1, все клиенты и кампании на месте.
А чтобы забыть про настройку при каждом запуске, её можно один раз записать в настройки самого Wine. Тогда она действует на всё, что в нём запускается, включая обновление, и Коммандер можно открывать хоть из меню, хоть с рабочего стола.
Как поставить
Понадобится Wine от WineHQ, команды под свою систему есть на сайте WineHQ. Игровые сборки, которые по умолчанию предлагает Bottles, не подойдут: на них Коммандер не открывает окно.
Скачайте установщик Коммандера для Windows с официальной страницы в папку загрузок, подойдёт и 64-, и 32-битный. Затем запустите три команды:
Скрипт запишет настройку в Wine и запустит официальный установщик. Ярлык «Direct Commander» с родной иконкой Wine сделает сам, в меню и на рабочем столе. Дальше обновления ставятся сами.
Если хочется без скриптов, хватит двух команд. Первая один раз отключает заглушку, вторая запускает установщик как обычно:
На рабочем столе рядом с нормальным ярлыком появится ещё файл Direct Commander.lnk. Это виндовый ярлык от установщика, на Linux он не нужен, его можно удалить.
Если вы ставили по первой статье
Работает и так, переделывать не обязательно. Но со старой схемой обновляться приходится руками, а Яндекс периодически отключает от API старые версии. Как перейти и сохранить кампании, расписано в README репозитория, в разделе «Если ставили по старой инструкции».
Какой вывод?
Когда что-то ломается одинаково везде, это подсказка: у всех вариантов есть общая сломанная часть. И багтрекер стоит открывать до того, как перебирать настройки. Я долго перебирал настройки, а когда стало понятно, что искать, ответ нашёлся за минуту.
Если будете повторять и упрётесь во что-то своё, пишите: @cpa_jedi.
Пишу про то, как Директ устроен изнутри, и про LLM в работе аналитика и контекстолога в телеграм-канале t.me/cpa_jedi_notes.