- PVSM.RU - https://www.pvsm.ru -

far2l в Ubuntu 24.04 LTS готов для повседневного использования

Несколько дней назад вышло обновление, устраняющее последние шероховатости UX, и мы рады представить вам долгожданный полноценно работающий Far Manager в составе LTS-версии Ubuntu 24.04. В этой статье я расскажу, как получить максимум удовольствия от его использования. Поехали!

sudo apt update
sudo apt install far2l
far2l в Ubuntu 24.04 LTS

far2l в Ubuntu 24.04 LTS

У многих сразу возникнет вопрос: а зачем apt update? Дело в том, что в релиз попала версия, в которой оставалось несколько досадных багов, и самый заметный из них — не работало выделение файлов клавишами * + - на системах с Wayland. А поскольку Wayland теперь в Ubuntu по умолчанию, я решил не публиковать статью, пока мы не выпустим исправляющее оставшиеся проблемы обновление. Если у вас в Ubuntu 24.04 уже установлен far2l, имеет смысл обновиться до последней версии.

А теперь — несколько полезных советов.

Освобождаем занятые сочетания клавиш

К сожалению, некоторые сочетания клавиш, нужные Far'у, перехватываются терминалом или системой. Освободим их (здесь и далее речь о GNOME, который в Ubuntu по умолчанию):

# F10
gsettings set org.gnome.Terminal.Legacy.Settings menu-accelerator-enabled false
# Alt+Space
gsettings set org.gnome.desktop.wm.keybindings activate-window-menu "[]"
# Alt+F1
gsettings set org.gnome.desktop.wm.keybindings panel-main-menu "[]"
# Alt+F2
gsettings set org.gnome.desktop.wm.keybindings panel-run-dialog "[]"
# Alt+F7
gsettings set org.gnome.desktop.wm.keybindings begin-move "['disabled']"
# Alt+F8
gsettings set org.gnome.desktop.wm.keybindings begin-resize "['disabled']"

Разумеется, вы можете освобождать не все комбинации, выбирая только те, которые вам нужнее в Far'е. Аналогичные команды для других окружений рабочего стола вы найдёте здесь [1].

Не хочу освобождать эти сочетания клавиш, они нужны мне как системные!

Тогда у вас есть два варианта.

Первый: использовать функцию sticky keys или залипание клавиш1 [2] (для неё, впрочем, всё равно придётся освободить сочетание Alt+пробел). Работает она так:

  1. Нажимаете Alt+пробел или Control+пробел

  2. Отпускаете

  3. Нажимаете ту клавишу, сочетание которой с Alt'ом или Control'ом вам нужно

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

Например, в консоли ядра не работает Ctrl+F7 (поиск с заменой в редакторе). Обойти эту проблему можно так:

Создаём файл клавиатурных макросов far2l:

far2l -e ~/.config/far2l/settings/key_macros.ini

и пишем туда:

[KeyMacros/Editor/CtrlR]
Sequence=CtrlF7

Сохраняемся, перезапускаем far2l, и вместо Ctrl+F7 используем Ctrl+R.

Подробнее про макроязык и его возможности можно прочитать здесь:
https://api.farmanager.com/ru/macro/macrocmd/index.html [3]
Там есть условные операторы и даже циклы!

Ура, уже можно работать! Но некоторые комбинации клавиш почему-то всё ещё недоступны. Например, переключение режимов отображения файлов на панели через LCtrl+цифры.

Увы, используемый в Ubuntu по умолчанию GNOME Terminal не умеет отправлять эти сочетания клавиш приложениям. Нам понадобится кое-что помощнее! Установим терминал kitty [4], он умеет [5] слать приложениям любые сочетания клавиш, и есть в репозитории:

sudo apt install kitty
kitty в Ubuntu 24.04 LTS

kitty в Ubuntu 24.04 LTS

Настраиваем kitty

Для начала, освобождаем некоторые комбинации клавиш, которые нужны far2l, но перехватываются самим kitty. Создаём файл конфигурации kitty:

far2l -e ~/.config/kitty/kitty.conf

и пишем туда:

map ctrl+shift+right no_op
map ctrl+shift+left no_op
map ctrl+shift+home no_op
map ctrl+shift+end no_op
enable_audio_bell no

^ Здесь мы также отключаем enable_audio_bell, чтоб при просмотре двоичных файлов не возникали раздражающие бипы.

Как запускать far2l сразу в kitty? Создаём файл-ярлык для стартового меню:

far2l -e /usr/share/applications/kitty-far2l.desktop

и пишем туда:

[Desktop Entry]
Name=Far2l in Kitty
Exec=kitty far2l --tty
Icon=far2l.svg
Type=Application
Categories=Utility;FileManager

Как сделать kitty терминалом по умолчанию?

sudo update-alternatives --config x-terminal-emulator

А теперь ответы на некоторые вопросы

Хочу самую свежую версию и самый лучший UX!

Попробуйте пакет far2l-gui из нашего ppa [6]. Это графическая версия со своим собственным рендерингом консольного окна. Она считается референсом по UX, консольную версию (которая сейчас в репозитории Ubuntu, графическая туда пока не приехала) мы подтягивали по возможностям именно к ней.

Установка:

sudo apt remove far2l*
sudo apt install software-properties-common
sudo add-apt-repository ppa:far2l-team/ppa
sudo apt install far2l-gui

При желании всегда можно вернуться назад:

sudo apt remove far2l*
sudo apt install software-properties-common
sudo add-apt-repository --remove ppa:far2l-team/ppa
sudo apt install far2l

А чем отличается графическая версия от консольной?

Бекенд отрисовки

TTY

TTY|X

GUI

Работает

в любой консоли

в окне терминала в графическом сеансе (X11, Wayland)

в графическом сеансе (X11, Wayland)

Исполняемые файлы

far2l

far2l
far2l_ttyx.broker

far2l
far2l_gui.so

Зависимости

необходимый минимум

+ libx11

+ wxWidgets, GTK

Типичное применение

Сервера, встраиваемые системы (*wrt, etc)

Для запуска в терминале, но с доступом к буферу обмена графического рабочего стола

Графический рабочий стол

Пакет в Ubuntu 24.04

far2l

far2l

Нет

Пакет в ppa

far2l

far2l-ttyx

far2l-gui

Подключение из графической версии far2l к роутеру на ARM с помощью плагина NetRocks

Подключение из графической версии far2l к роутеру на ARM с помощью плагина NetRocks

В Windows Terminal на ввод сыпется мусор при движении мышки

Баг исправлен [7] на стороне Windows Terminal в последнем Pre-release (v1.22.2702.0) [8].

В Windows Terminal не работает вставка кириллицы из буфера обмена

Баг исправлен в far2l в основной ветке2 [2], поэтому в Windows Terminal можно использовать более новую версию из ppa, команды установки — выше. В классической консоли cmd.exe указанная проблема не наблюдается.

Захожу куда-то по ssh, запускаю там far2l, а буфер обмена не работает.

Подключайтесь по ssh (или sftp через плагин NetRocks, он даёт удалённый shell) изнутри локально запущенного far2l. Если буфер обмена работает у вас в локальной версии, заработает и в удалённой.

Подключение по sftp через плагин NetRocks

Подключение по sftp через плагин NetRocks
Работа в удаленной консоли по sftp через плагин NetRocks. Можно запустить там свой far2l, и он «подхватит» буфер обмена вашего рабочего стола.

Работа в удаленной консоли по sftp через плагин NetRocks. Можно запустить там свой far2l, и он «подхватит» буфер обмена вашего рабочего стола.

Альтернатива в Windows — использовать специально приспособленные к работе с far2l форки3 [2] PuTTY: putty4far2l [9] и KiTTY [10] (не путать с kitty для *nix, о которой написано выше).

Как через плагин NetRocks подключаться к облакам? Там только sftp, ftp и т.д.

Решение здесь [11].

Есть ли для Маков и BSD?

Да и да. На Маках скачиваем со страницы релизов [12] или ставим из Homebrew Cask:

brew install --cask far2l

На FreeBSD из freshports [13].

На Маках лучше запускать под iTerm2 [14]. На BSD — под той же kitty, что и в Ubuntu.

Есть ли в Linux Mint?

Да, начиная с 22-й его версии.

А скрипты на Lua будут?

Уже есть. В проекте far2m [15], это форк с Lua [16], максимально приближенный к Far3. У него есть свой отдельный ppa [17].

Заключение

Мы шли к этому моменту 8 лет. Надеемся, опыт работы с far2l в Ubuntu будет приятным! И, конечно, приходите к нам в чат [18], там дружественная атмосфера и вам охотно ответят на все ваши вопросы. А ещё у нас есть вики [19], развиваемая сообществом, там вы найдете множество лайфхаков и полезных подсказок. Оставлю заодно ссылки на GitHub [20] проекта и portable и AppImage-сборки [21], не требующие установки.

В заключение хочу сказать спасибо @elfmz [22] (главному разработчику, написавшему большую часть кода), Alex Myczko (мейнтейнеру Debian), Dmitry Shachnev (мейнтейнеру Ubuntu), @kruphi [23] (комодератору чата и активному коммитеру), Павлу (поддерживающему ppa), @shmuz [24] (развивающему форк с Lua) и всем остальным разработчикам, тестировщикам и авторам документации, сделавшим свой вклад, большой и не очень.

Попробуйте far2l прямо сейчас! Надеемся, он вам понравится.

far2l в Ubuntu 24.04 LTS готов для повседневного использования - 6


1
В процессе подготовки статьи в функции sticky keys был обнаружен баг [25]: при не-латинской раскладке клавиатуры вместо «Ctrl+пробел, затем буква» нужно нажимать Ctrl+пробел+буква одновременно; кроме того, комбинации с цифрами работают только в свежей версии из ppa.
2 Исправление бага со вставкой кириллицы из буфера обмена в WT планируем выпустить в очередном апдейте к 24.04.
3 В оригинальной PuTTY с поддержкой сложных сочетаний клавиш всё ещё хуже, чем в GNOME Terminal.

Автор: unxed

Источник [26]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/398603

Ссылки в тексте:

[1] здесь: https://github.com/unxed/far2ltricks/tree/main/unbindkeys

[2] 1: #snoski

[3] https://api.farmanager.com/ru/macro/macrocmd/index.html: https://api.farmanager.com/ru/macro/macrocmd/index.html

[4] kitty: https://sw.kovidgoyal.net/kitty/

[5] умеет: https://sw.kovidgoyal.net/kitty/keyboard-protocol/

[6] ppa: https://launchpad.net/~far2l-team/+archive/ubuntu/ppa

[7] исправлен: https://github.com/microsoft/terminal/issues/15083#issuecomment-2395179096

[8] последнем Pre-release (v1.22.2702.0): https://github.com/microsoft/terminal/releases/tag/v1.22.2702.0

[9] putty4far2l: https://github.com/ivanshatsky/putty4far2l/releases

[10] KiTTY: http://www.9bis.net/kitty/

[11] здесь: https://github.com/elfmz/far2l/issues/1816#issuecomment-2267081585

[12] страницы релизов: https://github.com/elfmz/far2l/releases

[13] freshports: https://www.freshports.org/misc/far2l

[14] iTerm2: https://iterm2.com/

[15] far2m: https://github.com/shmuz/far2m

[16] Lua: https://ru.wikipedia.org/wiki/Lua

[17] свой отдельный ppa: https://launchpad.net/~far2l-team/+archive/ubuntu/lua

[18] чат: https://t.me/far2l_ru

[19] вики: https://github.com/akruphi/far2l/wiki

[20] GitHub: https://github.com/elfmz/far2l

[21] сборки: https://github.com/spvkgn/far2l-portable/releases

[22] @elfmz: https://www.pvsm.ru/users/elfmz

[23] @kruphi: https://www.pvsm.ru/users/kruphi

[24] @shmuz: https://www.pvsm.ru/users/shmuz

[25] баг: https://github.com/elfmz/far2l/issues/2414

[26] Источник: https://habr.com/ru/articles/845998/?utm_source=habrahabr&utm_medium=rss&utm_campaign=845998