Подскажите, пожалуйста, а какой метод установки far2l предпочтительнее на Ubuntu Server?
Всем привет, меня зовут Иван, portable сборку far2l и putty4far2l сделал я.
Расскажу, почему far2l пытается тащить в зависимости 400+ пакетов, и как этого избежать.
far2l умеет показывать свой интерфейс двумя способами: графическим (через wxWidgets) и в консоли. Исторически первым был именно графический бекенд: так было проще полноценно реализовать эквивалентный windows-версии UX. Ведь в консоли *nix систем нет ни поддержки буфера обмена, ни поддержки сложных сочетаний клавиш, вроде Ctrl+0.
Со временем добавился и консольный бекенд, и даже придумали, как сделать поддержку всех нужных комбинаций клавиш и буфера обмена поверх *nix терминалов. Для этого собирается отдельный модуль, он называется far2l_ttyx.broker. Он взаимодействует с библиотеками иксов и опрашивает статус клавиш-модификаторов (Ctrl, Alt, Shift) через них. А заодно и с иксовым буфером обмена общается.
Изначально всё это в ppa собиралось одним пакетом, вот он и тащил за собой иксы. Хотя если попробовать собрать far2l, не устанавливая ни wxWidgets, ни libx11, ни libxi, он соберется и будет работать в голой консоли, пусть и без некоторых возможностей.
Сейчас сделано умнее. Там три пакета.
far2l — сам фар и основные плагины. Будет работать только в консоли. Часть комбинаций клавиш поддерживаться не будет, как и буфер обмена. Зато и зависимостей минимум.
far2l-ttyx — расширение возможностей консольной версии через минимальную интеграцию с иксами. Потянет из дополнительных зависимостей только libx11 и libxi. Даст в консоли поддержку практически всех сочетаний клавиш и иксового буфер обмена (если запускать фар на системе с иксами).
far2l-gui — графический бекенд, тот самый, который исторически был первым. Тут и буфер обмена и полная поддержка всех клавиатурных комбинаций.
На удаленный сервер я бы ставил «голый» far2l или far2l-ttyx. А вот far2l-gui, тянущий за собой те самые 400+ пакетов, на сервере точно не нужен.
Дальше нужно понять ещё одну интересную особенность far2l. В нём есть так называемые «расширения терминала far2l», они работают во встроенном терминале фара. Если внутри фара запустить другой фар, они «сконнектятся» через эти расширения, и «внешний» фар будет передавать все-все клавиши и буфер обмена «внутреннему».
Как это работает?
1. Вы ставите на сервер пакет far2l, а far2l-ttyx не ставите.
2. Вы заходите из какого-нибудь GNOME Terminal или putty на сервер по ssh. Запускаете фар. Он работает, но половина комбинаций клавиш
не поддерживается и буфер обмена не работает.
3. Тогда вы ставите на свой десктоп far2l-ttyx или far2l-gui, запускаете фар локально, а уже из него идете по ssh на сервер. Запускаете фар там, «внутренний» фар через специальные расширения терминала цепляется к «внешнему», и все кнопки вместе с буфером обмена начинают работать. Если нужно получить тот же эффект с винды — используете putty4far2l.
Вывод: если вам удобно ходить на сервер по ssh из встроенного терминала десктопного фара или через putty4far2l, можете ставить на сервер только пакет far2l, а остальные не ставить. Всё будет работать классно. Это, вообще говоря, предпочтительный с точки зрения UX способ. Если же вы предпочитаете ходить на сервер из других терминалов, тогда либо придется довольствоваться ограниченной функциональностью фара, либо ставить на сервер пакет far2l-ttyx и подключаться по ssh с включенным X Forwarding — в этом случае, опять таки, все сочетания клавиш и буфер обмена работать будут.
Немного мудрёно, да? Вот поэтому я и сделал portable версию. Её вы просто запускаете, и она работает. Там внутри только консольная версия с ttyx. Если не все клавиши работают и буфера обмена нет — подключайтесь по ssh через встроенный терминал десктопного фара (можно тоже portable) или включайте для ssh-соединения X Forwarding. Ну а с putty4far2l всё подхватится из коробки.