Обычно я пишу статьи об развитии проекта far2l — порта знаменитого Far Manager под Linux, MacOS и BSD (а теперь ещё и Haiku) раз в год. Но иногда случается так, что объем новостей на статью набирается быстрее. Недавно произошло сразу несколько важных событий, поэтому дожидаться конца года не буду, а опубликую самое интересное сразу.
Нас взяли в Debian!
Это, пожалуй, главная новость. К сожалению, в Bookworm мы попасть не успели, так что ждите нас в следующем выпуске, или в Ubuntu 23.10. Да, можно будет делать sudo apt install far2l
, без всяких сложностей с ppa или самостоятельной сборкой!
Путь в Debian был непростой: в проекте очень строгие требования по лицензионной чистоте. far2l включает большое количество кода из разных проектов под разными лицензиями (большей частью это BSD, под которой публиковались оригинальные исходники Far, и GPL2, под которой находится код Wine, отдельные фрагменты которого всё ещё используются в проекте, и весь вновь написанный код), и потребовалось значительное время, чтобы заменить лицензионно несовместимые библиотеки.
В частности, пришлось заменить ConvertUTF из состава LLVM на utf-cpp авторства ww898, которая распространяется под подходящей нам MIT. Потом — внести в GPL2 специальное исключение для разрешения линковки с OpenSSL, что потребовало согласования со всеми авторами меняющего лицензию кода. Также для Debian пришлось отказаться от использования libunrar в пользу обвязки вокруг отдельной утилиты командной строки — опять же из-за лицензионных ограничений, и написать специальный скрипт, собирающий лицензионную информацию со всех файлов с исходниками в единый файл сведений об авторских правах в совместимом с Debian формате. Итог — пакеты лежат на ftp, ура!
Portable версия для Linux теперь куда более portable
Ещё одна новость о доступности far2l на разных системах: portable-сборка, позволяющая скачать far2l в виде одного исполняемого файла, переработана, и теперь запускается на куда большем числе дистрибутивов. Например, она теперь работает и на таких старых системах как Debian 7 и CentOS 6 (там ядро 2.6.32, даже на нём запускается!). Просто скачиваете один-единственный файл, и всё работает.
Сборка для Haiku и OpenWRT/DDWRT
В проект добавлены патчи, позволяющие собрать far2l и для Haiku!
Также добавлены buildroot-скрипты для сборки под embedded платформы, такие как OpenWRT или DDWRT. Теперь можно запустить far2l даже на роутере. В процессе пришлось внести некоторые оптимизации во viewer (до них он тратил по 32 Мб памяти на открытие каждого файла) и поиск в файлах по подстроке, чтобы избежать падений в условиях очень органиченных аппаратных ресурсов. Заодно поддержка протокола SCP в плагине NetRocks (альтернатива NetBox) доработана для нормального взаимодействия с *wrt-роутерами (на которых более надёжного SFTP обычно по умолчанию нет).
Улучшения поддержки буфера обмена в консольной версии
far2l теперь поддерживает стандарты Bracketed Paste и OSC52 (OSC52 нужно включать в настройках), описывающие протоколы доступа к системному буферу обмена из консольных приложений. В результате консольная версия far2l справляется с копированием и вставкой из графического буфера обмена под такими терминалами как, например, Windows Terminal или iTerm2 (поддержку OSC 52 можно включить и в любом другом терминале с помощью специальной утилиты). Также поддержка активирована и для приложений, работающих внутри встроенного терминала самого far2l.
Развитие экосистемы
В консольный текстовый редактор turbo добавлена поддержка расширений терминала far2l (в частности, поддержка передачи всех сочетаний клавиш и доступ к буферу обмена). turbo интересен тем, что это один из немногих консольных редакторов, где нормально работает перенос по словам — как в windows notepad или html textarea (он сделан на базе движка Scintilla, на котором работает Notepad++). Удобно, когда ты привык работать с длинными текстами в консоли.
В результате мы находимся в моменте, когда два приложения (putty4far2l и turbo) в состоянии общаться между собой на языке расширений терминала far2l даже без использования самого far2l. А ещё putty4far2l (форк putty, где в far2l работают все комбинации клавиш и буфер обмена) обновлен до последней версии апстрима.
Приятные мелочи
Теперь можно запускать far2l сразу с maximized окном (или, наоборот, в стандартном размере, выбор через опции командной строки, см. far2l --help
). Размер и положение окна запоминается при сохранении настроек.
Палитра цветов из ~/config/far2l/palette.ini
теперь применяется и в консольной версии в терминалах, поддерживающих установку палитры через escape-последовательности OSC 4.
Теперь можно вручную задавать допустимые алгортимы шифрования через файл настроек OpenSSH: поможет тем, у кого были проблемы с соединением с некоторыми хостами в NetRocks.
В графической версии побеждён давний баг #1303 (проблемы с рендерингом под rdp, xwayland и на некоторых других системах), заодно ускорили первичную отрисовку окна при запуске.
Добавлена поддержка стандарта .editorconfig — теперь можно задавать настройки табуляции для редактора (использовать табы или пробелы, ширина табов, etc) глобально для всей папки с исходниками какого-либо проекта в одном конфигурационном файле.
Если вы ещё не пробовали far2l, самое время попробовать! Например, установив через ppa или скачав portable сборку под вашу архитектуру. Если появились вопросы — приходите в чат (в основном русскоязычный), а отчёт про баг можно прислать сюда (принимаются и на русском, и на английском). А вот предыдущий выпуск новостей, если вы вдруг его пропустили.
Комментарии (60)
alex-open-plc
00.00.0000 00:00-7# apt install far2l
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package far2lLinux npi 5.10.34-sunxi #21.05.1 SMP Thu May 6 20:13:21 UTC 2021 armv7l GNU/Linux
kai3341
00.00.0000 00:00+20Поясню автору, по какой причине этот комментарий собирает минусы
При наличии глаз можно открыть скриншот и понять, что пакет оказался в `sid`. Также можно вспомнить, что пакеты debian перед релизом проходят стадии мягкой и жёсткой заморозок, когда завершается приём новых пакетов
Отсюда вопрос -- как пакет, добавленный в sid, мог оказаться в замороженном stable? Логика, ты где?
shibanovan
00.00.0000 00:00+1А вы всегда так общаетесь - ни комментария, ни уточнений - просто вот кусок консоли и даже вопрос не задан, что вы хотите?
Вы, возможно, не задумывались, но выглядит это не особо уважительно к собеседнику. Да и кроме того, это просто малоинформативно, стоит хотя бы пару словами написать что вы хотите этим сказать)
kai3341
00.00.0000 00:00+2Справедливости ради отмечу, что сказано, как любят говорить математики, "необходимо и достаточно"
domix32
00.00.0000 00:00+1Ну, на такое "необходимо и достаточно" можно со спокойной же душой отправить человека RTFMить. Ибо я после прочтения оных без особых усилий смог выполнить все те же команды на убунте из под WSL и получить результат.
twr
00.00.0000 00:00Годы идут, даже десятилетия, а нравы и повадки людей с постсоветского пространства не меняются, если говорить о культуре общения на форумах. Увидел вопрос, который оформлен не так, как тебе нравится? Обязательно влепи минус, отправь RTFMить или просто напиши, что "автор дурак, у меня всё сразу получилось". Но ни в коем случае не пытайся оказать реальную помощь!
domix32
00.00.0000 00:00Действительно, зачем читать мануалы. Там же расскажут, что ppa надо добавить, а я читать не хочу. Проще ж устроить дебаггинг в комментариях. Заодно половину мануала туда же перепечатаем.
unxed Автор
00.00.0000 00:00Мне кажется, тред вышел достаточно токсичный, предлагаю его свернуть :) Я, вероятно, написал не очень понятно: так, будто far2l уже в текущем Дебиане есть. Сожалею! Общаться в пренебрежительном тоне из-за этого едва ли стоит. Все ошибаются! И, да, людям лень читать инструкции, это нормально :)
joedm
00.00.0000 00:00+1На Debian 10 не запускается, вы зачем-то хотите glibc 2.34, а в 10-м 2.28. Или расскажите как пофиксить (ну кроме как пересобрать :) ), т.к. я не настоящий линуксоид.
aborouhin
00.00.0000 00:00+2+1. Я могу и собрать, и портабельную скачать, конечно но за готовый backport был бы тоже признателен, чтобы его с помощью ansible раскидать по серверам без танцев с бубном. А у меня зоопарк из убунт и чистых дебианов.
aborouhin
00.00.0000 00:00+2P.S. Набросал на коленке "танцы с бубном" для скачивания/обновления портабельной версии с помощью Ansible. Не претендую на изящество решения и отсутствие багов, но works for me :)
Кусок плейбука
- name: Install far2l (Debian) when: ansible_distribution == 'Debian' vars: far2l_url: https://github.com/unxed/far2l-deb/raw/master/portable/far2l_portable_amd64.tar.gz far2l_archive: "{{ far2l_url | basename }}" far2l_executable: far2l_portable_amd64.run block: - name: Get previously downloaded far2l checksum (if any) ansible.builtin.stat: path: "~/{{ far2l_archive }}" get_checksum: true checksum_algorithm: sha1 register: previous_far2l_stats - name: Download portable far2l ansible.builtin.get_url: url: "{{ far2l_url }}" dest: "~/{{ far2l_archive }}" - name: Get newly downloaded far2l checksum ansible.builtin.stat: path: "~/{{ far2l_archive }}" get_checksum: true checksum_algorithm: sha1 register: new_far2l_stats - name: Unpack and install far2l if new version was downloaded when: (not previous_far2l_stats.stat.exists) or (previous_far2l_stats.stat.checksum != new_far2l_stats.stat.checksum) block: - name: Unpack far2l ansible.builtin.unarchive: src: "~/{{ far2l_archive }}" dest: /tmp/ remote_src: true - name: Copy far2l to /usr/local/bin/ become: true ansible.builtin.copy: src: "/tmp/{{ far2l_executable }}" dest: /usr/local/bin/far2l remote_src: true mode: 0755 owner: root
aborouhin
00.00.0000 00:00+1P.P.S. С утра посмотрел на свой плейбук свежим взглядом и переписал его малость поээфективнее :)
Более правильный кусок плейбука
- name: Install far2l (Debian) when: ansible_distribution == 'Debian' vars: far2l_url: https://github.com/unxed/far2l-deb/raw/master/portable/far2l_portable_amd64.tar.gz block: - name: Download far2l portable to localhost delegate_to: localhost run_once: true block: - name: Ensure folder for temporary artifact exists ansible.builtin.file: path: ~/.ansible_temp/far2l state: directory recurse: true - name: Get previously downloaded far2l checksum (if any) ansible.builtin.stat: path: ~/.ansible_temp/far2l/far2l get_checksum: true checksum_algorithm: sha1 register: previous_far2l_stats - name: Download and extract portable far2l ansible.builtin.unarchive: src: "{{ far2l_url }}" dest: ~/.ansible_temp/far2l/ list_files: true remote_src: true register: far2l_download_result changed_when: false - name: Rename far2l executable ansible.builtin.copy: src: "~/.ansible_temp/far2l/{{ far2l_download_result.files[0] }}" dest: ~/.ansible_temp/far2l/far2l mode: 0755 changed_when: false - name: Get newly downloaded far2l checksum ansible.builtin.stat: path: ~/.ansible_temp/far2l/far2l get_checksum: true checksum_algorithm: sha1 register: new_far2l_stats always: - name: Clean up downloaded file with old name ansible.builtin.file: path: "~/.ansible_temp/far2l/{{ far2l_download_result.files[0] }}" state: absent changed_when: false - name: Install far2l if new version was downloaded when: (not previous_far2l_stats.stat.exists) or (previous_far2l_stats.stat.checksum != new_far2l_stats.stat.checksum) become: true ansible.builtin.copy: src: ~/.ansible_temp/far2l/far2l dest: /usr/local/bin/far2l mode: 0755 owner: root
unxed Автор
00.00.0000 00:00Оно и в 11 не запустится, потому что собирается пока только под sid, бекпорты ещё не делали. Надо подождать немножко или использовать portable.
Urub
00.00.0000 00:00imho, far "не развивается" в удобствах - например в mc создать хоткей на путь можно в два нажатия - на каталог, на ftp, на ssh - в фар так нельзя и как я понял и не хотят делать
economist75
00.00.0000 00:00+2Команды - Ссылки на папки
Urub
00.00.0000 00:00нет ссылок на сетевые "папки" (ftp, ssh) - это главное
неудобно вызывать - не вижу хоткея
DistortNeo
00.00.0000 00:00+2- Уже есть.
- Уже удобно.
Urub
00.00.0000 00:00так этоже другое окно, в нем много лишнего, например точки монтирования (они редко нужны сами по себе)
и как сюда добавить адрес ftp ?
DistortNeo
00.00.0000 00:00+1-
Отображение точек монтирования можно отключить.
-
Находясь внутри FTP, открыть это окошко и нажать Ins.
Единственная проблема здесь: на букмарки можно назначать только цифры, а на точки монтирования — ещё и буквы.
-
b00
00.00.0000 00:00+4Добрый день. А есть где-то сравнение с mc (по основным возможностям хотя бы)?
Чтобы предварительно понять, что к чему, прежде, чем ставить на пробу.
economist75
00.00.0000 00:00+6Far дефолтно красивее, цветнее, ярче, читаемей и удобнее чем MC. По функциям - у консольных файловых менеджеров с такой длинной историей +/- паритет.
Far в Linux - один из самых эффективных способов перетащить опытного пользователя Windows - на Linux, потому что MC на Windows не взлетел, не похож на Far/Norton Commander etc и требует глубокой донастройки. Все имхо, но из большого коллектива.
unwrecker
00.00.0000 00:00+4Есть киллер фича в виде временного повышения приоритета при записи файлов на которые нет прав.
Stanislavvv
00.00.0000 00:00Он на чистой консоли запустится? Ибо для гуёв есть и более другие файлменеджеры.
unwrecker
00.00.0000 00:00Да, с ключиком --tty.
Я не понимаю почему это не сделано по умолчанию.
Stanislavvv
00.00.0000 00:00Тут, скорее, автоопределение надо: есть непустой $DISPLAY - таки иксы и гуй, нет - таки консоль.
Ну и, конечно, переключатель в настройках типа: "авто | только гуй | только консоль"DistortNeo
00.00.0000 00:00+1Тут, скорее, автоопределение надо: есть непустой $DISPLAY — таки иксы и гуй, нет — таки консоль.
Оно так и работает.
turbidit
00.00.0000 00:00+1Вопрос по пакету в Debian - он на сервер потянет ошметки X-ов? Если да, то хотелось бы far2l-nox пакет для этого случая.
DistortNeo
00.00.0000 00:00+1Что-то подтягивает, но вроде без особого криминала:
apt install far2lroot@0ac0c9a2f2d3:/# apt install far2l Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: ca-certificates chafa dbus dbus-bin dbus-daemon dbus-session-bus-common dbus-system-bus-common far2l-data fontconfig fontconfig-config fonts-dejavu-core fonts-droid-fallback fonts-noto-mono fonts-urw-base35 gcc-12-base ghostscript gsfonts htop imagemagick-6-common libaom3 libapparmor1 libarchive13 libavahi-client3 libavahi-common-data libavahi-common3 libbrotli1 libbsd0 libc-bin libc6 libcairo-gobject2 libcairo2 libcap2 libchafa0 libcups2 libcurl3-gnutls libdatrie1 libdav1d6 libdbus-1-3 libde265-0 libdeflate0 libexpat1 libffi8 libfftw3-double3 libfmt9 libfontconfig1 libfontenc1 libfreetype6 libfribidi0 libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libglib2.0-0 libglib2.0-data libgmp10 libgnutls30 libgomp1 libgraphite2-3 libgs-common libgs10 libgs10-common libharfbuzz0b libheif1 libice6 libicu72 libidn12 libijs-0.35 libjansson4 libjbig0 libjbig2dec0 libjpeg62-turbo liblcms2-2 libldap-2.5-0 libldap-common libldb2 liblerc4 liblmdb0 liblqr-1-0 libltdl7 libmagickcore-6.q16-6 libmagickwand-6.q16-6 libmd0 libneon27 libnfs13 libnghttp2-14 libnl-3-200 libnl-genl-3-200 libnuma1 libopenjp2-7 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpaper-utils libpaper1 libpixman-1-0 libpng16-16 libpopt0 libpsl5 librsvg2-2 librsvg2-common librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db libsm6 libsmbclient libssh-4 libssh2-1 libssl3 libstdc++6 libtalloc2 libtdb1 libtevent0 libthai-data libthai0 libtiff6 libuchardet0 libwbclient0 libwebp7 libwebpdemux2 libwebpmux3 libx11-6 libx11-data libx265-199 libxau6 libxcb-render0 libxcb-shm0 libxcb1 libxdmcp6 libxerces-c3.2 libxext6 libxi6 libxml2 libxrender1 libxt6 libzstd1 openssl poppler-data publicsuffix samba-libs sensible-utils shared-mime-info ucf x11-common xdg-user-dirs xfonts-encodings xfonts-utils Suggested packages: default-dbus-session-bus | dbus-session-bus fonts-noto fonts-freefont-otf | fonts-freefont-ttf fonts-texgyre lm-sensors lsof strace lrzip glibc-doc libc-l10n locales libnss-nis libnss-nisplus cups-common libfftw3-bin libfftw3-dev low-memory-monitor gnutls-bin liblcms2-utils libmagickcore-6.q16-6-extra librsvg2-bin libsasl2-modules-gssapi-mit | libsasl2-modules-gssapi-heimdal libsasl2-modules-ldap libsasl2-modules-otp libsasl2-modules-sql poppler-utils fonts-japanese-mincho | fonts-ipafont-mincho fonts-japanese-gothic | fonts-ipafont-gothic fonts-arphic-ukai fonts-arphic-uming fonts-nanum Recommended packages: manpages The following NEW packages will be installed: ca-certificates chafa dbus dbus-bin dbus-daemon dbus-session-bus-common dbus-system-bus-common far2l far2l-data fontconfig fontconfig-config fonts-dejavu-core fonts-droid-fallback fonts-noto-mono fonts-urw-base35 gcc-12-base ghostscript gsfonts htop imagemagick-6-common libaom3 libapparmor1 libarchive13 libavahi-client3 libavahi-common-data libavahi-common3 libbrotli1 libbsd0 libcairo-gobject2 libcairo2 libcap2 libchafa0 libcups2 libcurl3-gnutls libdatrie1 libdav1d6 libdbus-1-3 libde265-0 libdeflate0 libexpat1 libffi8 libfftw3-double3 libfmt9 libfontconfig1 libfontenc1 libfreetype6 libfribidi0 libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libglib2.0-0 libglib2.0-data libgomp1 libgraphite2-3 libgs-common libgs10 libgs10-common libharfbuzz0b libheif1 libice6 libicu72 libidn12 libijs-0.35 libjansson4 libjbig0 libjbig2dec0 libjpeg62-turbo liblcms2-2 libldap-2.5-0 libldap-common libldb2 liblerc4 liblmdb0 liblqr-1-0 libltdl7 libmagickcore-6.q16-6 libmagickwand-6.q16-6 libmd0 libneon27 libnfs13 libnghttp2-14 libnl-3-200 libnl-genl-3-200 libnuma1 libopenjp2-7 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpaper-utils libpaper1 libpixman-1-0 libpng16-16 libpopt0 libpsl5 librsvg2-2 librsvg2-common librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db libsm6 libsmbclient libssh-4 libssh2-1 libssl3 libtalloc2 libtdb1 libtevent0 libthai-data libthai0 libtiff6 libuchardet0 libwbclient0 libwebp7 libwebpdemux2 libwebpmux3 libx11-6 libx11-data libx265-199 libxau6 libxcb-render0 libxcb-shm0 libxcb1 libxdmcp6 libxerces-c3.2 libxext6 libxi6 libxml2 libxrender1 libxt6 openssl poppler-data publicsuffix samba-libs sensible-utils shared-mime-info ucf x11-common xdg-user-dirs xfonts-encodings xfonts-utils The following packages will be upgraded: libc-bin libc6 libgmp10 libgnutls30 libstdc++6 libzstd1 6 upgraded, 141 newly installed, 0 to remove and 88 not upgraded. Need to get 77.8 MB of archives. After this operation, 271 MB of additional disk space will be used. Do you want to continue? [Y/n]
turbidit
00.00.0000 00:00+1Что-то многовато зависимостей - будет жирно для всяких Armbian на слабеньких платах. Было бы здорово иметь nox-пакет (такие есть для emacs, vim, qbittorrent).
DistortNeo
00.00.0000 00:00+1Как я понимаю, львиная доля зависимостей — это работа с юникодом (libicu), поддержка работы с архивами, работа с множеством сетевых протоколов, поддержка множества форматов изображений и видео (вывод в виде текстовой псевдографики через chafa). Вот последние свистоперделки точно надо делать опциональными.
Stanislavvv
00.00.0000 00:00Судя по инфе из дебиана - реальных зависимостей там немного. Остальное подтягивается по Recommends, причём не от этого пакета.
Stanislavvv
00.00.0000 00:00--no-install-recommends
надо быDistortNeo
00.00.0000 00:00Не сильно помоглоroot@a532ad7ddd9e:/# apt install far2l --no-install-recommends Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: chafa far2l-data fontconfig fontconfig-config fonts-dejavu-core gcc-12-base htop imagemagick-6-common libaom3 libarchive13 libavahi-client3 libavahi-common-data libavahi-common3 libbrotli1 libbsd0 libc-bin libc6 libcairo-gobject2 libcairo2 libcap2 libchafa0 libcurl3-gnutls libdatrie1 libdav1d6 libdbus-1-3 libde265-0 libdeflate0 libexpat1 libffi8 libfftw3-double3 libfmt9 libfontconfig1 libfreetype6 libfribidi0 libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libglib2.0-0 libgmp10 libgnutls30 libgomp1 libgraphite2-3 libharfbuzz0b libheif1 libicu72 libjansson4 libjbig0 libjpeg62-turbo liblcms2-2 libldap-2.5-0 libldb2 liblerc4 liblmdb0 liblqr-1-0 libltdl7 libmagickcore-6.q16-6 libmagickwand-6.q16-6 libmd0 libneon27 libnfs13 libnghttp2-14 libnl-3-200 libnl-genl-3-200 libnuma1 libopenjp2-7 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpixman-1-0 libpng16-16 libpopt0 libpsl5 librsvg2-2 librtmp1 libsasl2-2 libsasl2-modules-db libsmbclient libssh-4 libssh2-1 libssl3 libstdc++6 libtalloc2 libtdb1 libtevent0 libthai-data libthai0 libtiff6 libuchardet0 libwbclient0 libwebp7 libwebpdemux2 libwebpmux3 libx11-6 libx11-data libx265-199 libxau6 libxcb-render0 libxcb-shm0 libxcb1 libxdmcp6 libxerces-c3.2 libxext6 libxi6 libxml2 libxrender1 libzstd1 samba-libs shared-mime-info Suggested packages: lm-sensors lsof strace lrzip glibc-doc libc-l10n locales libnss-nis libnss-nisplus libfftw3-bin libfftw3-dev low-memory-monitor gnutls-bin liblcms2-utils libmagickcore-6.q16-6-extra librsvg2-bin Recommended packages: manpages ca-certificates dbus libgdk-pixbuf2.0-bin libglib2.0-data xdg-user-dirs libldap-common ghostscript gsfonts publicsuffix librsvg2-common libsasl2-modules The following NEW packages will be installed: chafa far2l far2l-data fontconfig fontconfig-config fonts-dejavu-core gcc-12-base htop imagemagick-6-common libaom3 libarchive13 libavahi-client3 libavahi-common-data libavahi-common3 libbrotli1 libbsd0 libcairo-gobject2 libcairo2 libcap2 libchafa0 libcurl3-gnutls libdatrie1 libdav1d6 libdbus-1-3 libde265-0 libdeflate0 libexpat1 libffi8 libfftw3-double3 libfmt9 libfontconfig1 libfreetype6 libfribidi0 libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libglib2.0-0 libgomp1 libgraphite2-3 libharfbuzz0b libheif1 libicu72 libjansson4 libjbig0 libjpeg62-turbo liblcms2-2 libldap-2.5-0 libldb2 liblerc4 liblmdb0 liblqr-1-0 libltdl7 libmagickcore-6.q16-6 libmagickwand-6.q16-6 libmd0 libneon27 libnfs13 libnghttp2-14 libnl-3-200 libnl-genl-3-200 libnuma1 libopenjp2-7 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpixman-1-0 libpng16-16 libpopt0 libpsl5 librsvg2-2 librtmp1 libsasl2-2 libsasl2-modules-db libsmbclient libssh-4 libssh2-1 libssl3 libtalloc2 libtdb1 libtevent0 libthai-data libthai0 libtiff6 libuchardet0 libwbclient0 libwebp7 libwebpdemux2 libwebpmux3 libx11-6 libx11-data libx265-199 libxau6 libxcb-render0 libxcb-shm0 libxcb1 libxdmcp6 libxerces-c3.2 libxext6 libxi6 libxml2 libxrender1 samba-libs shared-mime-info The following packages will be upgraded: libc-bin libc6 libgmp10 libgnutls30 libstdc++6 libzstd1 6 upgraded, 102 newly installed, 0 to remove and 88 not upgraded. Need to get 54.5 MB of archives. After this operation, 189 MB of additional disk space will be used.
Stanislavvv
00.00.0000 00:005 раз по объёму - это таки достаточно сильно, на мой взгляд. Теперь тут только библиотеки, а не ещё и куча шрифтов с сервисами.
DistortNeo
00.00.0000 00:005 раз по объёму
189M против 271M — где тут 5 раз?
Теперь тут только библиотеки, а не ещё и куча шрифтов с сервисами.
Ага, fonts-dejavu-core и куча либ для работы с изображениями и видео никуда не делись.
Stanislavvv
00.00.0000 00:00Про объём наврал, не на те цифры смотрел...
Вероятно, стоит сравнить тогда с другими гуёвыми двухпанельниками, например krusader или double commander
В моём случае сравнить не получится - под рукой только stable и уже с гуями - бОльшая часть требуемого уже установлена.У меня почему-то подозрения, что они будут требовать меньше и при этом ещё и будут работать со всякими vfs, предлагаемыми соответствующими DE (krusader точно умеет использовать плагины kio).
unxed Автор
00.00.0000 00:00Можно почти без зависимостей поставить, если вам важна компактность! Насчёт VFS — есть плагин-обвязка вокруг GVFS, можно и под KIO переделать, но пока такого запроса ни у кого не было, потому что встроенный плагин NetRocks умеет практически всё.
Stanislavvv
00.00.0000 00:00+1В плане компактности мне важно не тянуть лишнее при установке на сервер без иксов из репозиториев. Не собирать специально под сервер (если дойдёт до этого - забью, см. дальше про преимущества), не брать бинарник хз откуда, а поставить из репозиториев, которым доверяю (обычно это либо дистрибутивные, либо свои). Судя по тому, как и что тянется в примере установки выше по треду - это не для серверов, а для десктопа, где есть давно существующие альтернативы.
Вобщем, лично мне непонятна целевая аудитория для линуксового far. Под windows far прижился хорошо, ест мало, работает быстро.
На линуксовом сервере для far есть следующие проблемы:
1) far хочет много библиотек, которые хочет только он. Проблема тут не в месте на диске, а в дополнительных уязвимостях и необходимости обновлять ещё и их.
2) far требует идеально настроенного терминала, а лучше — чтоб терминал был под него пропатчен. То есть, под screen будут проблемы, а в случае слегка кривого терминала есть вероятность, что ни сохранить отредактированное, ни даже корректно выйти из файлменеджера может не получиться. В том же mc есть как возможность обучить нестандартным настройкам F-клавиш, так и альтернативные хоткеи (esc-0 вместо F10).
Безотносительно far - мне лично неудобен putty. Я им пользовался только под виндой и только из-за того, что альтернативы были ещё хуже. Практически любой современный линуксовый терминал с табами удобнее. Единственное преимущество putty — возможность настроить F-клавиши для извращённого софта, типа банковского, который ещё и в cp866 работает.На линусовом десктопе из преимуществ вижу только внешний вид и поведение для тех, кто привык к far под windows. Остальные преимущества для меня скрыты туманом — как файлмендежер фар не выделяется, редактор для скриптов лучше какой-нибудь geany или вообще vim.
unxed Автор
00.00.0000 00:00+1Это немного из серии «не читал, но осуждаю». Никаких проблем с хоткеями, кроме экзотических (типа Ctrl+цифры) ни в каких терминалах, кроме ванильной путти, нет. А в ванильной путти в любом консольном приложении с хоткеями всё плохо, это не специфическая для far2l проблема. Под screen работает, хотя на практике не нужно — far2l сам себе терминальный мультиплексор (Ctrl+Alt+Z кидает текущий far2l вместе с выполняющейся в его терминале задачей в фон, восстановить можно запуском нового far2l --tty, он предложит). Зависимости мешают — ставьте из ppa чисто консольный или используйте portable. Не доверяете ppa или portable? Дождитесь следующего дебиана или осенней убунты, появится в местных репозиториях. Уязвимости в библиотеках? far2l сетевые порты не слушает, кто и как будет их эксплуатировать? Хочется гонять в любимом терминале? Гоняйте себе! Хочется гонять в любимом терминале и чтоб ещё более комфортный UX был? Используйте ttyxi или portable far2l на десктопе, из-под него ssh на сервер, там ставите чисто консольный far2l (вообще никаких иксовых либ не надо), «внутренний» far2l «договорится» с внешним с помощью хитрых escape последовательностей, и UX удалённого консольного far2l будет такой же, как у локального: и кнопки все будут работать, и буфер обмена.
Перечисленные вами проблемы действительно были актуальны в своё время, но давно решены уже.
unxed Автор
00.00.0000 00:00+1У far2l три бекенда отрисовки:
GUI — на базе wxWidgets, работает в графическом режиме, идеальный UX, куча зависимостей
TTYXI — работает в консоли, зависимости буквально от пары иксовых либ (для поддержки всех-всех сочетаний клавиш и буфера обмена), почти идеальный UX
TTY — чистая консоль, никаких иксовых зависимостей, UX с некоторыми ограничениями
В дебиан пошёл второй вариант, в portable тоже он.
При сборке вручную -DUSEWX=no отключает сборку GUI бекенда. Если wxWidgets не установлены, тоже будет собираться без него. Будет ли собираться модуль ttyxi, зависит от наличия в системе пакетов libx11-dev и libxi-dev. TTY версия собирается всегда.
При установке из ppa пакеты называются так:far2l — базовая версия, только TTY бекенд
far2l-ttyx — отдельно бекенд TTYXI
far2l-gui — отдельно бекенд GUI
yftul
00.00.0000 00:00Эх, кто бы еще Дос Навигатор портировал...
unxed Автор
00.00.0000 00:00Я пробовал. Дошёл до стадии «запускается и пытается отрисовать интерфейс». Но DN гвоздям прибит к устаревшему компилятору и проприетарной паскалевской версии Turbo Vision. Чтоб сделать лицензионно чистую версию, надо на Free Vision его пересаживать, а это пока слишком утомительным кажется для just for fun. Разве что если командой делать.
turbidit
00.00.0000 00:00Еще такое замечание. В настройках редактора можно определить альтернативный редактор, например:
vim !.!
И хоткей там обозначен для альтернативного редактора как Alt-F4. Итог немного предсказуем. Методом тыка обнаружил что рабочий вариант - Alt-Win-F4. Но это очень неочевидно.
Breathe_the_pressure
А в Аурах есть?
MountainGoat
А есть чего там нет?
Breathe_the_pressure
Действительно.jpg
DistortNeo
Есть то, что заброшено и не компилируется.
micronull
mattermost-qt например
artko
Есть.
unxed Автор
https://aur.archlinux.org/packages/far2l-git
?