Comments 89
А в Аурах есть?
# apt install far2l
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package far2l
Linux npi 5.10.34-sunxi #21.05.1 SMP Thu May 6 20:13:21 UTC 2021 armv7l GNU/Linux
Поясню автору, по какой причине этот комментарий собирает минусы
При наличии глаз можно открыть скриншот и понять, что пакет оказался в `sid`. Также можно вспомнить, что пакеты debian перед релизом проходят стадии мягкой и жёсткой заморозок, когда завершается приём новых пакетов
Отсюда вопрос -- как пакет, добавленный в sid, мог оказаться в замороженном stable? Логика, ты где?
А вы всегда так общаетесь - ни комментария, ни уточнений - просто вот кусок консоли и даже вопрос не задан, что вы хотите?
Вы, возможно, не задумывались, но выглядит это не особо уважительно к собеседнику. Да и кроме того, это просто малоинформативно, стоит хотя бы пару словами написать что вы хотите этим сказать)
Справедливости ради отмечу, что сказано, как любят говорить математики, "необходимо и достаточно"
Ну, на такое "необходимо и достаточно" можно со спокойной же душой отправить человека RTFMить. Ибо я после прочтения оных без особых усилий смог выполнить все те же команды на убунте из под WSL и получить результат.
Годы идут, даже десятилетия, а нравы и повадки людей с постсоветского пространства не меняются, если говорить о культуре общения на форумах. Увидел вопрос, который оформлен не так, как тебе нравится? Обязательно влепи минус, отправь RTFMить или просто напиши, что "автор дурак, у меня всё сразу получилось". Но ни в коем случае не пытайся оказать реальную помощь!
Действительно, зачем читать мануалы. Там же расскажут, что ppa надо добавить, а я читать не хочу. Проще ж устроить дебаггинг в комментариях. Заодно половину мануала туда же перепечатаем.
На Debian 10 не запускается, вы зачем-то хотите glibc 2.34, а в 10-м 2.28. Или расскажите как пофиксить (ну кроме как пересобрать :) ), т.к. я не настоящий линуксоид.
+1. Я могу и собрать, и портабельную скачать, конечно но за готовый backport был бы тоже признателен, чтобы его с помощью ansible раскидать по серверам без танцев с бубном. А у меня зоопарк из убунт и чистых дебианов.
P.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
P.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
Оно и в 11 не запустится, потому что собирается пока только под sid, бекпорты ещё не делали. Надо подождать немножко или использовать portable.
Планируется ли поддержка Flatpak ?
Я пробовал с ним разобраться, но как-то там всё слишком мудрёно показалось. Если есть человек с опытом в нём, я с радостью приму его консультации. Впрочем, portable версия по смыслу ничем не отличается.
скажу за Ивана - нет. flatpak для десктопных приложений.
а вот в snap можно было бы добавить.
imho, far "не развивается" в удобствах - например в mc создать хоткей на путь можно в два нажатия - на каталог, на ftp, на ssh - в фар так нельзя и как я понял и не хотят делать
Команды - Ссылки на папки
нет ссылок на сетевые "папки" (ftp, ssh) - это главное
неудобно вызывать - не вижу хоткея
- Уже есть.
- Уже удобно.
так этоже другое окно, в нем много лишнего, например точки монтирования (они редко нужны сами по себе)
и как сюда добавить адрес ftp ?
Добрый день. А есть где-то сравнение с mc (по основным возможностям хотя бы)?
Чтобы предварительно понять, что к чему, прежде, чем ставить на пробу.
Far дефолтно красивее, цветнее, ярче, читаемей и удобнее чем MC. По функциям - у консольных файловых менеджеров с такой длинной историей +/- паритет.
Far в Linux - один из самых эффективных способов перетащить опытного пользователя Windows - на Linux, потому что MC на Windows не взлетел, не похож на Far/Norton Commander etc и требует глубокой донастройки. Все имхо, но из большого коллектива.
Подскажите, пожалуйста, "опытному пользователю Windows", отчего far2l, даже будучи запущен из-под putty4far2l, выглядит так:
(я имею в виду буковки "Б", и прочее непотребство вместо рамочек...)
В настройках в Translation в Remote character set выберите UTF-8.
Выбрал. И даже потыкал все чекбоксы и селекторы на странице Translation — ничего не помогает :(
Любопытно! У меня такое воспроизводится, когда на вкладке Translation стоит KOI8-R. Даже не знаю, куда тикет писать — в оригинальную putty (т.к. я в своём форке ничего связанного с кодировками не менял) или в far2l. Видимо, надо и туда и туда.
Есть киллер фича в виде временного повышения приоритета при записи файлов на которые нет прав.
Он на чистой консоли запустится? Ибо для гуёв есть и более другие файлменеджеры.
Да, с ключиком --tty.
Я не понимаю почему это не сделано по умолчанию.
Тут, скорее, автоопределение надо: есть непустой $DISPLAY - таки иксы и гуй, нет - таки консоль.
Ну и, конечно, переключатель в настройках типа: "авто | только гуй | только консоль"
Тут, скорее, автоопределение надо: есть непустой $DISPLAY — таки иксы и гуй, нет — таки консоль.
Оно так и работает.
Не хватает настраиваемой опции: для интерактивной консоли (Konsole, xterm) форсировать --tty тоже. Ну или враппить самостоятельно через alias или ещё как-то:
tty -s && far2l --tty "$@" || far2l "$@"
Хорошее предложение, киньте тикет сюда, пожалуйста! Можно на русском.
https://github.com/elfmz/far2l/issues
Лучше поздно, чем: https://github.com/elfmz/far2l/issues/1837
Вопрос по пакету в Debian - он на сервер потянет ошметки X-ов? Если да, то хотелось бы far2l-nox пакет для этого случая.
Что-то подтягивает, но вроде без особого криминала:
root@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]
Что-то многовато зависимостей - будет жирно для всяких Armbian на слабеньких платах. Было бы здорово иметь nox-пакет (такие есть для emacs, vim, qbittorrent).
Как я понимаю, львиная доля зависимостей — это работа с юникодом (libicu), поддержка работы с архивами, работа с множеством сетевых протоколов, поддержка множества форматов изображений и видео (вывод в виде текстовой псевдографики через chafa). Вот последние свистоперделки точно надо делать опциональными.
--no-install-recommends
надо бы
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.
5 раз по объёму - это таки достаточно сильно, на мой взгляд. Теперь тут только библиотеки, а не ещё и куча шрифтов с сервисами.
5 раз по объёму
189M против 271M — где тут 5 раз?
Теперь тут только библиотеки, а не ещё и куча шрифтов с сервисами.
Ага, fonts-dejavu-core и куча либ для работы с изображениями и видео никуда не делись.
Про объём наврал, не на те цифры смотрел...
Вероятно, стоит сравнить тогда с другими гуёвыми двухпанельниками, например krusader или double commander
В моём случае сравнить не получится - под рукой только stable и уже с гуями - бОльшая часть требуемого уже установлена.
У меня почему-то подозрения, что они будут требовать меньше и при этом ещё и будут работать со всякими vfs, предлагаемыми соответствующими DE (krusader точно умеет использовать плагины kio).
Можно почти без зависимостей поставить, если вам важна компактность! Насчёт VFS — есть плагин-обвязка вокруг GVFS, можно и под KIO переделать, но пока такого запроса ни у кого не было, потому что встроенный плагин NetRocks умеет практически всё.
В плане компактности мне важно не тянуть лишнее при установке на сервер без иксов из репозиториев. Не собирать специально под сервер (если дойдёт до этого - забью, см. дальше про преимущества), не брать бинарник хз откуда, а поставить из репозиториев, которым доверяю (обычно это либо дистрибутивные, либо свои). Судя по тому, как и что тянется в примере установки выше по треду - это не для серверов, а для десктопа, где есть давно существующие альтернативы.
Вобщем, лично мне непонятна целевая аудитория для линуксового far. Под windows far прижился хорошо, ест мало, работает быстро.
На линуксовом сервере для far есть следующие проблемы:
1) far хочет много библиотек, которые хочет только он. Проблема тут не в месте на диске, а в дополнительных уязвимостях и необходимости обновлять ещё и их.
2) far требует идеально настроенного терминала, а лучше — чтоб терминал был под него пропатчен. То есть, под screen будут проблемы, а в случае слегка кривого терминала есть вероятность, что ни сохранить отредактированное, ни даже корректно выйти из файлменеджера может не получиться. В том же mc есть как возможность обучить нестандартным настройкам F-клавиш, так и альтернативные хоткеи (esc-0 вместо F10).
Безотносительно far - мне лично неудобен putty. Я им пользовался только под виндой и только из-за того, что альтернативы были ещё хуже. Практически любой современный линуксовый терминал с табами удобнее. Единственное преимущество putty — возможность настроить F-клавиши для извращённого софта, типа банковского, который ещё и в cp866 работает.
На линусовом десктопе из преимуществ вижу только внешний вид и поведение для тех, кто привык к far под windows. Остальные преимущества для меня скрыты туманом — как файлмендежер фар не выделяется, редактор для скриптов лучше какой-нибудь geany или вообще vim.
Это немного из серии «не читал, но осуждаю». Никаких проблем с хоткеями, кроме экзотических (типа 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 будет такой же, как у локального: и кнопки все будут работать, и буфер обмена.
Перечисленные вами проблемы действительно были актуальны в своё время, но давно решены уже.
Про ванильную putty - у меня работали все хоткеи, которые я использовал в других более-менее распространённых гуёвых терминалах. Либо у far есть другие хоткеи, которые действительно не укладываются в бОльшую часть terminfo, либо кто-то не умеет настраивать putty. Неудобство putty в моём случае было не связано с тем, как обрабатываются хоткеи, а с его многооконностью в случае работы с несколькими хостами.
Про терминальный мультиплексор подробней. Захожу я по ssh на хост, где запускаю screen и в нём десяток-полтора окон с другими ssh уже на целевые серверы с целью продолжить работу, если связь разорвалась. Делаю работу, запускаю длительные задачи (не связанные с ручной работой с файлами и запускаемые уже внутри вторичных сессий ssh), могу запустить ещё сессию ssh из другого места и отобрать screen, могу разделить окно на несколько при помощи C-a | или C-a S для случая, когда требуется наблюдать несколько процессов и отключиться от консоли, чтобы уже в другом месте подключиться. Что из этого может far для случая удалённой консоли?
Как-то хреново с документацией на гитхабе у far2l, чтобы понимать, что именно он может и накой он вообще нужен сейчас, а не 15-20 лет назад? Тут и mc-то не слишком используется уже, разве что mcedit я запускаю более-менее часто.
У Far действительно много сложных хоткеев. А как именно вы настраиваете putty? Что и где там надо прописать, чтобы, скажем, выделение в mcedit по shift-стрелкам заработало?
Про частичную замену screen. Если у вас какая-то задачка выполняется во встроенном терминале far2l, в случае обрыва связи процесс не прервётся, а продолжит выполняться в фоне. При повторном запуске на том же хосте far2l спросит: подхватить фоновый процесс (если их несколько, он даст выбрать из списка), или запустить новый? Можно и вручную кидать долгие задачки в фон, нажимая Ctrl+Alt+Z во встроенном терминале far2l во время их выполнения. А вот нескольких окон с отдельными процессами — такого [пока?] нет.
Путти я настраивал не ранее 12 лет назад и с тех пор уже вряд ли вспомню, куда тыкался — давно уже пользуюсь нормальными терминалами с табами и т.п.
Оставление фонового процесса при удалённой работе — отказать сразу, если это по-умолчанию и особенно, если это не конфигурируется. Либо я явно должен указать, что процесс должен остаться, либо при закрытии окна задача также должна завершаться. Опция, позволяющая не оставлять процесс живым - не то, что ожидается от обычных приложений, коим для меня является файлменеджер. Согласен на опцию "остаться в памяти при обрыве", но предпочту всё же screen.
Фоновые процессы что в чистом bash (Ctrl-Z + bg), что в far2l — хреновая замена окнам screen или табам нормального терминала. Зачастую требуется посмотреть выхлоп или сравнить результаты, что лучше делать всё же в разных окнах, тем более, что по результатам обычно следуют какие-то действия на хостах, где запускались эти длительные процессы.
Хоткеи: где-то есть полный список? (см. "Документация?") Их где-то можно переопределить? А то в WM/DE может быть что-нибудь настроено, в частности Ctrl-Alt-Z у меня когда-то было аналогом Win-D во времена, когда ещё были клавиатуры без кнопки Win и, подозреваю, что-нибудь ещё точно пересечётся.
Документация? Есть что-то на неё похожее, не встроенный хелп и не куцее wiki на гитхабе? Встроенный хелп - это подсказка, её нормально не почитать без запуска far2l, а хотелось бы хотя бы на предмет "что вообще оно может и нужно ли оно?".
Мысли вслух: опять делается очередной комбайн путём засовывания уже существующего отдельного в одно приложение, на этот раз на базе файлменеджера. До emacs всё равно не дотянет, тот умел работать, если его запустить вместо wm (наблюдал у товарища лично в начале века, был весьма впечатлён, но всё же жить в emacs - это перебор).
Если по умолчанию отправка в фон при обрыве соединения вам мешает, запускайте с ключём --mortal
screen и табы любимого терминала вам никто, собственно, использовать и не запрещает, если удобно.
Про документацию. Вы же знаете, как работает опенсорс :) Если вам не хватает документации за пределами встроенной справки — напишите и отправьте Pull Request!
Нет и вряд ли буду, ибо мне не нужны его фичи:
- меня устраивает производительность lxterminal и tilda, тем более, они точно заработают при кривых драйверах видеокарты или через x2go, т.е. без GPU, а что будет с kitty - хз, может даже и не заработать, если драйвера основательно покривились.
- не требуется truecolor для каждой буквы — не смотрю кино через libcaca.
- не требуется показ изображений непременно в терминале, эффектно, но сейчас бесполезно. Реально было актуально примерно лет 30 назад и даже использовалось в работе за неимением другой графики, я это даже застал уже в этом веке в каком-то телнете под дос и не вижу смысла делать такие приложения при наличии гуя, а вне гуя нынешние терминалы не работают (ибо не терминалы, а эмуляторы терминалов). Совместимого же ПО, которое ещё и имеет смысл использовать, с тех времён вряд ли осталось.
- не вижу смысла в управлении окнами внутри терминала, если уже есть работающий wm/de. Исключение - screen, как дающий возможность работать из мест, где открыть более одного терминала не выйдет, но там либо не линукс, либо особенности канала связи, но чаще - это способ либо сохранить набор открытых терминалов при обрыве связи/выключении питания рабочего места или способ передать набор терминалов в другое место.
Кстати, несколько терминалов на одном экране одновременно, а не во вкладках у меня увидеть сложно - практически нет задач, чтобы смотреть сразу в несколько мест, т.е. 99.5% времени у меня окно терминала с табами развёрнуто на весь экран. Где-то 0.5% времени - сверху спускается tilda, там обычно локальные короткие задачи без хождения за три ssh. Ну и пару раз в год, получается пара-тройка терминалов одновременно на время задачи, при которой, к примеру, непременно надо нажать enter вручную при завершении другой задачи на другом хосте (пример высосан из пальца, так как я не помню, накой мне надо было смотреть на два терминала в прошлый раз).
У 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
Как из под putty во встроенном редакторе cut/paste использовать?
Из ванильной, боюсь, никак. Нужна специальная версия putty или kitty.
теперь можно снова пробовать полностью перейти на линукс систему
Эх, кто бы еще Дос Навигатор портировал...
Я пробовал. Дошёл до стадии «запускается и пытается отрисовать интерфейс». Но DN гвоздям прибит к устаревшему компилятору и проприетарной паскалевской версии Turbo Vision. Чтоб сделать лицензионно чистую версию, надо на Free Vision его пересаживать, а это пока слишком утомительным кажется для just for fun. Разве что если командой делать.
Попробуйте NDN (ndn.muxe.com), он есть под кучу платформ, включая linux.
Еще такое замечание. В настройках редактора можно определить альтернативный редактор, например:
vim !.!
И хоткей там обозначен для альтернативного редактора как Alt-F4. Итог немного предсказуем. Методом тыка обнаружил что рабочий вариант - Alt-Win-F4. Но это очень неочевидно.
Кстати о mc: чтобы добавить в него какой-нибудь экзотический вид архивов или vfs - понадобится сделать скрипт на любом удобном языке, запускаемом в ОС. В частности, работа с .rpm как с архивами сделана на /bin/sh, работа с .deb - на perl, работа с s3 - на python, причём это довольно давно так — пиши на чём угодно, лишь бы были реализованы соответствующие команды.
Что-то подобное можно сделать для far2l? Я, конечно, видел упоминание python в исходниках, но с налёту не понял, куда он применим, документации на эту тему не нашел, к тому же, для простых вещей скрипт на шелле зачастую проще скрипта на python.
Да, через шелл можно сделать довольно простую интеграцию, однако, сразу вылезают вопросы:
Как получить список файлов в архиве? Если используется внешная тулза, то она должна будет выдавать список в строго определённом формате. Учитывая, что каждый архиватор имеет свой формат вывода, в любом случае придётся писать код, преобразующий формат.
Как прочитать содержимое архива целиком, не распаковывая его во временную директорию? Типичный сценарий: поиск по содержимому архива. Внешний скрипт должен преобразовывать архив во что-то простое типа tar.
Экзотический формат архивов можно добавить через редактирование файла настроек custom.ini плагина multiarc. VFS через скрипты — хорошая идея, предложите в багтрекере! Можно по-русски, если с английским сложно.
забавно, как раз на днях нашел его в репозитории Альтлинукса :)
пришлось отказаться от использования libunrar в пользу обвязки вокруг отдельной утилиты командной строки — опять же из-за лицензионных ограниченийНо ведь это ухудшает производительность, не так ли? Не рассматривали вариант перейти на libarchive? Она уже довольно давно и лицензионно чисто умеет в RAR.
Заметил проблему со встроенным редактором.
При открытии файлов с расширением nsi (nullsoft install system), некоторые строки файла, содержащие несколько строковых констант в кавычках, обрезаются. И после сохранения файла он становится непригодным для компиляции.
Наблюдал это в Астре, может быть и в других системах так же.
О, это серьёзная штука, надо багрепорт писать срочно (и образец файлика приложить):
https://github.com/elfmz/far2l/issues
Можно и на английском и на русском, как вам проще.
Linux-порт Far Manager: новости весны 2023