Far manager не открывается

Обновлено: 05.07.2024

Первая публикация исходников far2l, порта Far Manager под Линукс — штуки, которая когда-то считалась принципиально невозможной — состоялась 10 августа 2016го. Поскольку главный разработчик поговаривает о переходе проекта в статус беты, решил написать обзорный пост, как там идут дела и чего удалось добиться за прошедшие четыре года.

Консольная версия

Первый же вопрос, который все задавали и здесь, и на опеннете, и на лоре — а чего не в консоли? Изначально far2l действительно работал только в графическом режиме, через wxWidgets. Это оказалось самым простым способом быстро получить работающий порт со всеми пользовательскими удобствами: иксовым буфером обмена и всеми сочетаниями клавиш, причем с поддержкой событий не только KeyDown, но и KeyUp.

Сейчас это ограничение в прошлом: far2l прекрасно себя чувствует в консоли. Более того, там появились так называемые расширения терминала far2l, поэтому если запускать консольный far2l внутри графического (например, зайдя куда-нибудь по ssh), они «сконнектятся» между собой, и внутренний far2l тоже будет видеть и буфер обмена (с разрешения пользователя, конечно), и все возможные горячие клавиши. Более того, сделана даже специальная сборка putty, позволяющая наслаждаться всеми этими фишками из Windows.

Вот, смотрите, это far2l в GNOME Terminal




А вот в putty


Русские буквы в .zip'ах «с винды»

Вы не поверите, но Windows, вплоть, как минимум, до семерки создавала .zip архивы, записывая туда имена файлов в OEM (DOS) кодировке! Совместимость страшная штука. В итоге StackOverflow переполнен вопросами «как мне правильно распаковать зип с кракозябрами».

В far2l мы это починили. В процессе родилась демонстрационная утилитка, которая показывает, как правильно работать с кодировками в .zip'ах, чтобы «кракозябров» не было (пригодится авторам архиваторов), а также патчик к p7zip, применяющий аналогичный алгоритм. p7zip-с-патчиком даже запакован в .deb'ку (ubuntu 20.04+, amd64), установка которой чинит поддержку зипов, например, в Engrampa, используемом в MATE.


Приведение в порядок зависимостей

Изначально порт нёс в себе кучу кода библиотек, и так присутствующих в мире Linux в системных пакетах: pcre, minizip, universal charset detector. Сейчас всё это заменено на грамотное использование зависимостей: системные библиотеки используются везде, где это возможно (исключение: 7z и unrar, там статически компилируются самые свежие библиотеки для поддержки самых свежих особенностей форматов).

Человеческая поддержка .tar.gz

Плагин multiarc, который используется в far2l для доступа к архивам, приехал к нам из мира Windows, и не умел воспринимать .tar.gz как один архив. Он видел .gz, и внутри него .tar. Следовательно, чтобы получить список файлов, приходилось делать полную распаковку. Такой себе экспириенс. За последний месяц multiarc был существенно доработан, и эта проблема исчезла.

Красивое консольное окно

В графической версии far2l была проблема: символы рисования рамок показывались раздражающим «пунктиром».

image

У нас долго не получалось найти причину или подобрать настройки рендеринга, исправляющие этот бесячий баг, пока я не заглянул в исходники терминалок из GNOME и KDE. А там, оказывается, давным-давно символы рисования рамок рендерятся не из шрифта, а вручную, чтобы линии четкие и красивые получались.

В итоге сделали так же в far2l, только немножко лучше: добавив сглаживание. А то в терминалах KDE и GNOME максимально контрастные линии слишком сильно отвлекают на себя внимание рядом со сглаженным текстом.

В процессе пришлось разобраться в психовизуальных нюансах антиалиасинга, отлавливая несуществующие «слишком яркие пиксели», которые упорно видели глаза. Подробности.

image

Пакеты для дистрибутивов

В репозитории многих дистрибутивов мы пока не попали (а в некоторые уже попали!). Зато давно есть пакеты во всех основных форматах. Даже скрипт сборки для Amazon Linux есть! Ну и, конечно, есть ppa для *buntu — самый удобный способ «просто поставить фар» для большинства пользователей.

Свежий Colorer

far2l «форкнулся» от ветки Far 2, так что некоторые плагины там требовали срочного обновления. Недавно такое обновление было проведено: обновили код распаковки 7z и unrar, а также схемы цветовой подсветки синтаксиса Colorer. Остальные портированные плагины не содержат каких-то регулярно обновляющихся штук, а вот старые «раскраски» и не открывающиеся новые архивы были реальной проблемой. Всё, её больше нет!


NetBoxRocks

Это был второй вопрос, который обычно задавали в каментах: «а нетбоооокс буууудеееет?». Нет, нетбокса не будет! Там putty внутри, и тащить в far2l её linux-версию показалось странной затеей. Да и сам код netbox'а не слишком располагал к портированию.

Поэтому автор порта, великолепный elfmz, сделал свою версию сетевого плагина: NetRocks. Там есть всё, что только может понадобиться — и ftp[s], и scp, и sftp, и nfs, и webdav, и даже samba! Всё работает на нативных линуксовых библиотеках. В sftp можно даже удаленные команды запускать и в удаленную консоль ходить.

А ещё в NetRocks есть псевдо-сетевой плагин file, который позволяет работать с локальной файловой системой. Зачем? Потому что NetRocks умеет в фоновые операции. А обычное копирование файлов Far — не умеет.


А как там вообще с плагинами?

Помимо NetRocks, в комплекте есть:

colorer (подсветка синтаксиса, свежий!)
multiarc (работа с архивами, доработанный, свежие архиваторы!)
tmppanel (временная панель)
align block (форматирование блоков для редактора)
autowrap (автоперенос слов в редакторе)
drawline (рисование линий в редакторе)
editcase (конвертация регистра в редакторе)
SimpleIndent (работа с отступами в редакторе)
compare (продвинутая версия «сравнения папок»)
editor autocomplete (автодополнение в редакторе)
filecase (конвертация регистра имен файлов)
incremental search («быстрый поиск» в редакторе)
inside (показывает, что внутри ELF и некоторых других форматов)
и даже плагин для написания других плагинов на Python!

Есть парочка сторонних, far2-gvfs и far2l-fuse, но после появления NetRocks они в некоторой степени утратили актуальность.

В общем, базовый набор для комфортной работы с локальными и удаленными файлами и архивами, а также написания кода прямо в редакторе far2l — имеется :)

А со стабильностью как? Когда релиз уже?

Со стабильностью всё хорошо: за 4 года использования в работе (webdev + всякое офисное) ни одной потери данных с far2l я не «поймал». Автор порта готов понемножку менять статус с альфы на бету, если в течении месяца-двух не вылезет критических ошибок. Тогда можно будет подумать об отправке пакетов в репозитории дистрибутивов, например.

Отчасти :) Из Wine были вытащены некоторые кусочки трансляции WinApi в нативный API Linux (конвертация кодировок, например; к слову, этот кусок недавно попробовали переписать на iconv, но выяснилось, что код из Wine делает то же самое в 4 раза быстрее). Со временем обращения к этим функциям, разбросанные по всему коду far2l, можно будет понемножку заменять на прямые вызовы нативных функций. А пока и эта конструкция работает очень даже быстро (самое медленное, на чём пробовали запускать — raspberry pi, полет нормальный) и вполне надежно.

За время работы над far2l (тестировщиком, а ещё иногда нехитрые патчи шлю) я узнал о линуксовой консоли больше, чем за всю жизнь до этого :) А ещё понемногу осваиваю си, на которых кодить со времен института не приходилось — повода не было (заодно, кстати, перешел на «ты» с git). Так что ждите скоро статью «как веб-макака си на опенсорсе учила»!

Несколько лет назад я бы скорее посмеялся над этим вопросом. Но да, если целый день смотреть в синий цвет, становится как-то не по себе (и прямо чувствуешь, как отрастает борода и свитер с оленями). Поэтому в итоге сделал себе раскраску в духе Monokai, ну и выложил для всех, конечно. У нас opensource ведь.



Где взять последнюю версию?
На странице загрузки скачайте MSI-инсталлятор стабильной сборки нужной вам разрядности (32 или 64 бита) или дистрибутив в виде 7z-архива и установите/распакуйте в любую папку (FAR портабелен и может работать без установки).
Там же на свой страх и риск можно взять наиболее свежую "ночную" сборку (в ночных сборках устраняются выявленные недоработки, добавляются новые функции, но могут содержаться и серьёзные ошибки).
Архив всех предыдущих ночных сборок FAR
Last release на github - собирается практически сразу (в течение получаса) после каждого коммита.

Можно воспользоваться одной из пользовательских сборок FAR Manager
Вопросы, касающиеся сборок, следует задавать непосредственно их авторам, а не на официальном форуме.

Где взять дополнительные плагины, скрипты и макросы?
Плагринг. В настоящее время большинство авторов (возможно, уже и все) выкладывают плагины здесь. Кроме плагинов здесь появляется всё относящиеся к FAR: дополнения, консольные шрифты, скрипты и пр.
Анонсы плагинов на официальном форуме. Даже если автор не выкладывает по каким-либо причинам плагин на плагринге, он может дать анонс в этой теме.
Полезные скрипты и макросы.

* 13 декабря 2008 г. произошло переименование веток: ANSI-ветка 1.71 превратилась в 1.75, а Unicode-ветка получила номер версии 2.0 (вместо 1.80). Т.е. версии 1.хх это ANSI ("старый" FAR), а версии 2.хх – Unicode ("новый" FAR). Эти ветки сильно различаются по способу взаимодействия с плагинами и системой!
* При обновлении ANSI-ветки 1.хх более старые версии плагинов могут работать в более новом FAR, но более новые плагины в большинстве случаев требуют обновления FAR (см. документацию).
* Unicode-плагины в ANSI-версии FAR не работают – у них иной способ взаимодействия (API) с Far.exe, поэтому даже не пытайтесь их использовать в FAR версии ниже 1.80.
* При обновлении Unicode-версии FAR 1.80/2.0/3.0 обращайте внимание на номер сборки: следует обязательно обновить все плагины для сборок 677/680/684, иначе они не будут работать. ANSI-плагины (кроме тех, которые работают в редакторе) можно применять в Unicode-версии FAR, в меню плагинов (вызываемом по F11) они будут помечены значком [A] справа от их имени. Unicode-плагины в FAR 1.80/2.x/3.х никаким значком после имени не помечаются.
* Unicode-версия FAR 1.80/2.x/3.х требует как минимум Windows 2000, т.е. она работает только в Windows 2000/XP/2003/Vista/2008/7/8/10.
* Плагины от FAR 2 несовместимы с FAR 3 и не запустятся.
* В FAR 3 выборочно могут работать плагины от FAR 1, однако не стоит брать от FAR 1 плагины для редактора или работающие с дисками: первые портят текст в Юникоде, вторые – файловую систему.
* В любом случае разрядность плагинов должна совпадать с разрядностью FAR, иначе плагин не будет загружен.
* Блондинку на скриншоте зовут Tommie Jo.

Правильное (корректное) завершение Far: всегда завершайте сеанс работы с Far по F10! Подробнее на форуме - Различие выхода из Far по F10 и крестиком

  1. Решаете задачу самостоятельно, при необходимости ищете ответы в теме и других источниках. Предварительное изучение документации обязательно!
  2. Если ваших знаний не хватает, то задаёте вопрос в форуме и строго следуете инструкциям тех людей, которые вам помогают.
  3. Если решить задачу, следуя пунктам 1 и 2, не удалось, то задаёте вопрос разработчикам.

Речь о тепловой конструкции ультрабуков. Там долей ватта больше выделяемого тепла и корпус раскаляется добела - за все удовольствия надо платить.

Ну так все файловые операции, просмотр, редактирование файликов - в нем, постоянно в него переключаюсь.

В совокупности с Conemu давал 2%-3%, а если учесть что как минимум эта связка в двух экземплярах работала (хост и на виртулке), то получается беда. Coneumu поудаляю, вроде это немного улучшает ситуацию.

Кстати, кстати, а почему бы вам не выставить настройки:

Системные параметры:

Обновление панелей только если Far активен ON

Отключать автообновление панелей, если объектов больше <число> ON

Часы в панелях OFF
Часы в редакторе и программе просмотра OFF
Экранная заставка OFF

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

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

А консультация с коллегами из DELL по поводу описанной вами проблемы перегрева как я и думал дала чёткий ответ "Необходимо провести диагностику устройства в гарантийном сервис-центре. До получения его диагностического заключения разговор по существу не возможен.". Так что вам нужно обратится туда с гарантийным талоном и аппаратом. От себя мой собеседник предположил что скорее всего имеет неисправность системы охлаждения которую нужно немедленно устранить.

Но вот что напрягало меня в последнее время, так это долгий запуск far3. 7 секунд (это без плугинов, свежескачанный build 5100 x86)
Посмотрел на версию 1.75, и что я вижу- 0.15 сек.
Проверял простейшим батником

Добавлено:
Ну раз уж такой интерес, то характеристики ноута:
Dell XPS-13 9360
Сервисный код: G0ZWNH2
------
Процессор: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
Память: 16Гб (LPDDR3 (2133 MHz)
--

Спасибо мил человек, попробую

Согласен с Pasha_ZZZ. Длительный запуск возможен только если заново строится БД кэша. У меня сейчас ЦП занят счётом в Avidemux 43,36% и одновременно Mathcad делает сложные расчёты загружая ЦП ещё 47,61%, но и то, хотя эта пара задач использует 90,97% времени ЦП запуск FarUE3 x64 по логам PH ну никак на семь секунд не тянет:

Process Hacker 3.0.1218
Windows NT 6.1 Service Pack 1 (64-bit)
20.01.2018 19:33:48

19:26:44 20.01.2018: Process created: Far.exe (4328) started by explorer.exe (3904)
19:26:44 20.01.2018: Process created: conhost.exe (5264) started by csrss.exe (780)
19:26:45 20.01.2018: Process created: holder_x86_64.exe (8424) started by Far.exe (4328)
19:26:45 20.01.2018: Process created: holder_x86.exe (5672) started by holder_x86_64.exe (8424)

и это при том, что при запуске происходит инициализация плагинов и отработка автостартующих скриптов. Скриншоты PH (цена деления шкалы времени равна 5 сек) так же подтверждают что процесс запуска если существует БД кэша и к ней разрешены обращения происходит быстро:


Правда я слышал что на Win10 народ жаловался на более длительный в сравнении с Win7 запуск не только Far, но и pCAD, Mathcad и ряда других не инженерных программ. Зато на тех же машинах игры и развлекательные программы запускались и главное работали намного быстрее чем на Win7 что может говорить об оптимизации ОС под игровые и развлекательные задачи.

что такое "существует БД кэша и к ней разрешены обращения"?

а если не разрешены и как их раpрешить?
почему far 1.7 запускается в 60 раз быстрее?
Почему все остальное запускается быстро, а для far Windows 10 не подходит?
К слову это я уже не на ултрабуке запускаю а на десктопе i7 7700 32 GB.

Это штатная процедура запуска Far3, но можно сказать Far3 "не использовать кэш" и при каждом запуске Far.exe будет искать плагины по всем возможным местам их расположения, опрашивать их и пытаться запускать, а это долго. Возможные ключи управления запуском смотрите по F1 - Ключи командной строки.

Я лично предполагаю, что на Win10 FCU (это то чудо что выкатили с номером 1709) происходит блокировка БД кэша вынуждая Far3 каждый опрашивать плагины заново.

По крайней мере у пары рабочих программ в соседней конторе, так же хранящих свои конфиги в БД SQLite именно на этой недооси база блокируется примерно на 45 - 70 сек с момента запуска программ что видно по записям "Нет доступа к БД SQLite" в их логах что значительно увеличивает время запуска по сравнению с Win7. Но там за аксиому принято высокое мнение, что это MS SQL Server проверяет подлинность юзверя на PDC ибо раз он SQL и целый сервер, а база называется SQLite, то значит он ей и управляет . И естественно, что опровергать авторитетное мнение руководства кандидатов в герои нет, а выслушивать всякую чепуху местным верхам некогда ибо бизнес ждать не любит!

Видел на одном компьютере в учреждении (конфиг переписать возможности нет) интересно настроенный FAR:

— у него были вкладки (. )

— имена всех файлов и каталогов отображались БОЛЬШИМИ БУКВАМИ С КАПС-ЛОКОМ

— в списке дисков (Alt+F1/Alt+F2) присутствовал пункт «КПК», выбрав который можно было работать с содержимым устройства на Windows Mobile (через ActiveSync полагаю).

— Если нажать F3, выделив mp3-файл — то он заиграет, а не отобразится в редакторе

— Если мы что-то копируем, можно было что-то нажать, и продолжить работу, в то время как копирование шло в фоне. Может быть это была новая вкладка или другая копия — не могу сказать.


С первым вроде разобрался через ConEmu. Как бы остальное заполучить?

Копирование в фоне работает через плагин Background Copy.
Для установки нужны права администратора, поскольку там ставится специальная виндовая служба, которая и занимается собственно копированием. А плагин ею управляет и рисует интерфейсные окошки.

mp3 — это тоже плагин. Название навскидку не помню, но за всю историю FAR-а он был даже не один такой. В свою очередь, плагин вешается на F3 через ассоциации файлов.
Я как-то давно ставил, поигрался и убрал. Оно вполне работает, но специализированный софт все же удобнее.

Плагин для MP3 нашёлся — это оказался qPlayEx
Работает действительно удобно. Быстро отслушать что-нибудь из папки диктофона к примеру — самое оно.

А вот использование отдельной виндовой службы (sic!) для копирования — незачёт полный. Проще ещё одну копию запустить.

Каталоги большими буквами:
Параметры -> Режимы панели файлов -> (выбрать текущий режим, например Средний режим) -> галочка «Показывать папки заглавными буквами».

Остальное, похоже решается только плагинами. Вот только какими?

P.S. У меня настроено перед каталогами выводить префикс "\", перед символическими ссылками префикс "

", это делается через Параметры -> Раскраска файлов и группы сортировки.

Речь пойдет о сборке в недавнем прошлом достаточно популярного файлового менеджера FAR.
К сожалению, в последнее время наблюдается грустная картина — этот мощный ФМ уходит на второй план, оказавшись в беспощадной пасти Total Commander.

Я опишу сборку FPP, которую часто использую сам, дабы освежить память о некогда очень распространенном ФМ. Кроме этого, надеюсь, для кого-то статья будет открытием.

Топик не является рекламой и не претендует на правду в последней инстанции. Выбор сборки сделан исключительно по собственным соображениям (+ там все-таки несколько моих плагинов).

Установка

image

Инсталятор умеет переустанавливать приложение.

В процессе инсталяции можно выбрать полную (PRO) или обычную (LITE) версию. Отличия варианта Lite от Pro описаны здесь

image

Нужно обратить внимание, что помимо плагинов можно выбрать набор архиваторов (), а также дополнительных утилит, таких как chmview и zd2t (для просмотра содержимого .doc файла в редакторе ФАРа).

Плагины сгруппированы по функциональной составляющей.

В конце идет ряд полезных советов, которые помогут в освоении продукта.
Я бы выделил:
1. Если не все настройки по умолчанию вас устраивают, то рекомендуется
с помощью плагина RegBrowser выяснить/сохранить .reg файл нужных настроек
(используйте в самом плагине ShiftF1) и использовать его как патч
2. Обратите внимание на .bat файлы в комплекте — с помощью
их вы можете сохранить/восстановить настройки реестра ФАРа и плагинов
3. Вы можете применить настройки Far PowerPack не являясь пользователем, из-под которого
производилась установка. Для этого вам необходимо выделить все .reg файлы в папке PlugInSettings
и нажав Ctrl-G набрать и выполнить regedit -s .
Тоже самое нужно произвести с файлами FarSave1.reg, FarSave2.reg.
Если у вас нет доступа записи в реестр в ветку HKLM, то нужно выполнить все тоже самое, исключая
файлы FarSave2.reg и MultiArc.reg.

image

Обратим внимание на чекбоксы на последнем этапе установке:
Цвета консоли (для всех консольных приложений) — речь идет о принудительной установке цветовой гаммы для всех создаваемых терминальных окон
Макросы, настройки FPP — понятно из названия — применить рекомендуемые макросы и настройки для базового FAR
Настройки плагинов — прописать настройки плагинов

Пакет сделан Nullsoft-инсталером, поэтому подразумевает тихую установку:
FarPowerPack_setup.exe /S /D=C:\Far

Использование

image

1. Работа с мультимедиа
Одна из самых удобных возможностей — просмотр картинок, прослушивание аудио/видео при помощи плагина
MultiMediaViewer

image

2. Использование встроенного редактора
Подсветка синтаксиса

3. Мощь FAR manager прежде всего в обработке файлов и данных в них, хотя с этим утверждением можно и поспорить — для кого-то важней colorer и примочки для программистов.
Хотел бы выделить основные вещи, которые можно совершать:
— отметка/сравнение совпадающих файлов (SelectingEx, AdvCompare)
— переименование группы файлов по шаблону (FileNum, переименование через Ctrl-G (ren ". " "!.htm"))
— переименование группы файлов в редакторе (FRename)
— изменение регистра файлов (FileCase)
— изменение концов строк UNIX/Windows формат (FileCRLF)
— перекодировка файлов (FarTrans)
— транслитерация/детранслитерация (Translit)
— создание образа файлов (Mould)
— раскидывание файлов по папкам (FileMove2)

в редакторе:
— поиск и замена с использование рег.выражения (Search&Replace)
— сортировка содержимого файла (SortEdit)
— вставка нумерация в файл (RenumberLines)
— автодополнение слов (EditCompletion)
— работа с выделенными блоками (Blocks, BlockFormating, BlockIndent)
— рисование псевдографики (DrawLine)
— смена регистра внутри файла (EditCaseEx)

… и многое другое.
Кстати, что самое главное, в комплекте уже идут готовые макросы, чтобы быстро работать со всем этим «щастьем». Для просмотра/изменения макрокоманд отвечает, как всегда, еще один плагин — MacroView.

Читайте также: