- PVSM.RU - https://www.pvsm.ru -
Несколько дней назад вышло обновление, устраняющее последние шероховатости UX, и мы рады представить вам долгожданный полноценно работающий Far Manager в составе LTS-версии Ubuntu 24.04. В этой статье я расскажу, как получить максимум удовольствия от его использования. Поехали!
sudo apt update
sudo apt install far2l
У многих сразу возникнет вопрос: а зачем 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+пробел). Работает она так:
Нажимаете Alt+пробел или Control+пробел
Отпускаете
Нажимаете ту клавишу, сочетание которой с 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
Для начала, освобождаем некоторые комбинации клавиш, которые нужны 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 |
Зависимости |
необходимый минимум |
+ libx11 |
+ wxWidgets, GTK |
Типичное применение |
Сервера, встраиваемые системы (*wrt, etc) |
Для запуска в терминале, но с доступом к буферу обмена графического рабочего стола |
Графический рабочий стол |
Пакет в Ubuntu 24.04 |
|
|
Нет |
Пакет в ppa |
|
|
|
В 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. Если буфер обмена работает у вас в локальной версии, заработает и в удалённой.
Альтернатива в 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 прямо сейчас! Надеемся, он вам понравится.
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
Нажмите здесь для печати.