1 [![Cirrus Build Status](https://api.cirrus-ci.com/github/elfmz/far2l.svg)](https://cirrus-ci.com/github/elfmz/far2l) [![Coverage Status](https://codecov.io/gh/elfmz/far2l/coverage.svg?branch=master)](https://codecov.io/gh/elfmz/far2l?branch=master) [![Coverity Scan](https://scan.coverity.com/projects/27038/badge.svg)](https://scan.coverity.com/projects/elfmz-far2l) [![Language Grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/elfmz/far2l.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/elfmz/far2l/context:cpp) [![Packages](https://repology.org/badge/tiny-repos/far2l.svg)](https://repology.org/project/far2l)
3 # far2l [![tag](https://img.shields.io/github/tag/elfmz/far2l.svg)](https://github.com/elfmz/far2l/tags)
4 Linux fork of FAR Manager v2 (http://farmanager.com/)
5 Works also on OSX/MacOS and BSD (but latter not tested on regular manner)
7 **Use on your own risk!**
9 Plug-ins that are currently working: NetRocks (SFTP/SCP/FTP/FTPS/SMB/NFS/WebDAV), colorer, multiarc, tmppanel, align, autowrap, drawline, editcase, SimpleIndent, Calculator, Python (optional scripting support)
11 FreeBSD/MacOS (Cirrus CI): [![Cirrus](https://api.cirrus-ci.com/github/elfmz/far2l.svg)](https://cirrus-ci.com/github/elfmz/far2l)
14 #### License: GNU/GPLv2
16 ### Used code from projects
18 * FAR for Windows and some of its plugins
25 <sub><a name="keyshells"></a>_Note_: Far2l uses keyboard shortcurts in the tradition of the Far Manager for Windows,
26 but some of them (**Alt**-**F1**, **Alt**-**F2**, **Alt**-**F7**, **Ctrl**-arrows, etc.)
27 usually exclusively used in desktop environment GNOME, KDE, Xfce, macOS etc. and in terminal emulators.
28 To work with these keys in far2l you need to _release keyboard shortcuts globally_
29 in the environment settings (see [#2326](https://github.com/elfmz/far2l/issues/2326))
30 or use far2l lifehacks:
31 _Sticky controls via **Ctrl**-**Space** or **Alt**-**Space**_ or _Exclusively handle hotkeys option in the Input settings_
32 (see details in buil-in far2l help).</sub>
35 FAR2L has base UI Backends (see details in build-in help section **UI backends**):
37 - **GUI** (**WX**): uses wxWidgets, works in graphics mode, **ideal UX**
38 (might add dependencies to your desktop environment, e.g. wxWidgets toolkit and related packages);
40 - **TTY|Xi**: works in terminal mode, requires a dependency on pair X11 libraries
41 (to access clipboard and to get state of all keyboard modifiers), **almost perfect UX**;
43 - **TTY|X**: works in terminal mode, uses X11 to access clipboard, all keyboard works via terminal;
45 - **TTY**: plain terminal mode, no X11 dependencies, **UX with some restrictions** (works fully when running in the
46 [terminal emulators](#terminals), which provide clipboard access and has their advanced keyboard-protocols).
49 | Mode<br>(UI Backends) | TTY<br>(plain far2l) | TTY\|X | TTY\|Xi | GUI |
50 | ---: | --- | --- | --- | --- |
51 | **Works:** | in **console**<br>and in any<br>**terminal** | in **terminal<br>window**<br><sub>under graphic<br>X11 session</sub> | in **terminal<br>window**<br><sub>under graphic<br>X11 session</sub> | in **Desktop<br>environment**<br><sub>(X11<br>or Wayland<br>or macOS)<br>via wxWidgets</sub> |
52 | **Binaries:** | far2l | far2l<br>far2l_ttyx.broker | far2l<br>far2l_ttyx.broker | far2l<br>far2l_gui.so |
53 | **[Dependencies](#required-dependencies):** | minimal | + libx11 | + libx11, libxi | + wxWidgets, GTK |
54 | **Keyboard:** | <sub>_Typical terminals_:<br>**only essential<br>key combinations**<br><br>_KiTTY_ (putty fork),<br>_kitty_ (\*nix one),<br>_iTerm2_,<br>_Windows Terminal_,<br>far2l’s VT: **full support**</sub> | <sub>_Typical terminals_:<br>**only essential<br>key combinations**<br><br>_KiTTY_ (putty fork),<br>_kitty_ (\*nix one),<br>_iTerm2_,<br>_Windows Terminal_,<br>far2l’s VT: **full support**</sub> | <sub>_Typical terminals_:<br>**most of key<br>combinations under x11**;<br>**only essential key<br>combinations<br>under Wayland**<br><br>_KiTTY_ (putty fork),<br>_kitty_ (\*nix one),<br>_iTerm2_,<br>_Windows Terminal_,<br>far2l’s VT: **full support**</sub> | **All key<br>combinations** |
55 | **Clipboard<br>access:** | <sub>_Typical terminals_:<br>via command line<br>tools like xclip<br><br>_kitty_ (\*nix one),<br>_iTerm2_:<br>via **OSC52**<br><br>_Windows Terminal_:<br>via **OSC52**<br>or via **command line<br>tools under WSL**<br><br>_KiTTY_ (putty fork),<br>far2l’s VT:<br>via **far2l extensions**</sub> | <sub>_Typical terminals_,<br>_kitty_ (\*nix one):<br>via **x11 interaction**<br><br>_iTerm2_:<br>via **OSC52**<br><br>_Windows Terminal_:<br>via **OSC52**<br>or via **command line<br>tools under WSL**<br><br>_KiTTY_ (putty fork),<br>far2l’s VT:<br>via **far2l extensions**</sub> | <sub>_Typical terminals_,<br>_kitty_ (\*nix one):<br>via **x11 interaction**<br><br>_iTerm2_:<br>via **OSC52**<br><br>_Windows Terminal_:<br>via **OSC52**<br>or via **command line<br>tools under WSL**<br><br>_KiTTY_ (putty fork),<br>far2l’s VT:<br>via **far2l extensions**</sub> | via<br>**wxWidgets API**<br><br><sub>via command line<br>tools under WSL</sub> |
56 | **Typical<br>use case:** | **Servers**,<br>embedded<br>(\*wrt, etc) | <sub>Run far2l in<br>favorite terminal<br>but with<br>**better UX**</sub> | <sub>Run far2l in<br>favorite terminal<br>but with<br>**best UX**</sub> | **Desktop** |
57 | [Debian](#debian) / [Ubuntu](#debian)<br><sup>official repositories:</sup> | _none_<br><sup>(use `far2l` due to<br>[auto downgrade](#downgrade))</sup> | `far2l` | `far2l` | `far2l-wx`<br><sup>(since _2.6.4_ /<br>Ubuntu 25.04+)</sup> |
58 | Community [PPA](#community_bins): | `far2l` | `far2l-ttyx` | `far2l-ttyx` | `far2l-gui` |
60 <sub><a name="downgrade"></a>_Note_: When running far2l automatically downgrade
61 if its components are not installed (or system libs are not available):
62 **GUI** ⇒ **TTY|Xi** ⇒ **TTY|X** ⇒ **TTY**.
63 To force run only specific backend use in command line:
64 for **GUI**: `far2l --notty`;
65 for **TTY|Xi** use in command line: `far2l --tty`;
66 for **TTY|X**: `far2l --tty --nodetect=xi`;
67 for plain **TTY**: `far2l --tty --nodetect=x`
68 (see details via `far2l --help`).</sub>
70 <sub>_Note about use OSC 52 in TTY/TTY|X_:
71 to interact with the system clipboard you must **not forget to enable OSC 52**
72 in both the **FAR2L settings** (`Options`⇒`Interface settings`⇒`Use OSC52 to set clipboard data`,
73 which shown in the dialog only if far2l run in TTY/TTY|X mode and all other options for clipboard access are unavailable;
74 you can run `far2l --tty --nodetect` to force not use others clipboard options),
75 and in **terminal settings** option OSC 52 must be allowed (by default, OSC 52 is disabled in some terminals for security reasons;
76 OSC 52 in many terminals is implemented only for the copy mode, and paste from the terminal goes by bracketed paste mode).</sub>
79 ## Installing, Running
81 #### Debian/Ubuntu binaries from the official repositories
83 * **TTY X/Xi** backends only (Debian / Ubuntu 23.10+)
88 * **GUI** backend (Debian since far2l _2.6.4_ / Ubuntu 25.04+)
93 <sub>**Debian** has far2 in **sid-unstable** / **13 trixie-testing** / **12 bookworm-backports**; **Ubuntu** since **23.10**.
94 Details about versions in the official repositories see in
95 https://packages.debian.org/search?keywords=far2l or https://packages.ubuntu.com/search?keywords=far2l </sub>
97 <sub>_Note_: binaries in official repositories may be very outdated,
98 actual binaries or portable see in [Community packages & binaries](#community_bins).</sub>
100 <sub>_Note_: Since far2l 2.6.4 Debian/Ubuntu packages build with pythons subplugins.</sub>
102 <details><summary>Backport official packages for old Debian/Ubuntu system <sub>[<i>click to expand/collapse</i>]</sub></summary>
104 <sub>A simple sid back port should be as easy as (build your own binary deb from the official source deb package,
105 required install [dependencies](#required-dependencies)):</sub>
108 # you will find the latest dsc link at http://packages.debian.org/sid/far2l
109 dget http://deb.debian.org/debian/pool/main/f/far2l/2.6.3~beta+ds-1.dsc
113 # cd .. and install your self built far2l*.deb
119 #### OSX/MacOS binaries
121 You can install prebuilt package for x86_64 platform via Homebrew Cask, by command:
123 brew install --cask far2l
126 You can also manually download and install prebuilt package for x86_64 platform from Releases page: <https://github.com/elfmz/far2l/releases>
130 You can use containers to try `far2l` without installing anything.
132 docker build . -l far2l
136 See also [Community packages & binaries](#community_bins)
139 ## Building, Contributing, Hacking
140 #### Required dependencies
142 * `libwxgtk3.0-gtk3-dev` or `libwxgtk3.2-dev` in newer distributions, or `libwxgtk3.0-dev` in older ones (_optional_ - needed for **GUI backend**, not needed with `-DUSEWX=no`)
143 * `libx11-dev` (_optional_ - needed for **X11 extension** that provides better UX for TTY backend wherever X11 is available)
144 * `libxi-dev` (_optional_ - needed for **X11/Xi extension** that provides best UX for TTY backend wherever X11 Xi extension is available)
145 * `libxml2-dev` (_optional_ - needed for **Colorer plugin**, not needed with `-DCOLORER=no`)
146 * `libuchardet-dev` (_optional_ - needed for **auto charset detection**, not needed with `-DUSEUCD=no`)
147 * `libssh-dev` (_optional_ - needed for **NetRocks/SFTP**)
148 * `libssl-dev` (_optional_ - needed for **NetRocks/FTPS**)
149 * `libsmbclient-dev` (_optional_ - needed for **NetRocks/SMB**)
150 * `libnfs-dev` (_optional_ - needed for **NetRocks/NFS**)
151 * `libneon27-dev` (or later, _optional_ - needed for **NetRocks/WebDAV**)
152 * `libarchive-dev` (_optional_ - needed for better archives support in **multiarc**)
153 * `libunrar-dev` (_optional_ - needed for RAR archives support in **multiarc**, see `-DUNRAR` command line option)
154 * `libicu-dev` (_optional_ - needed if used non-default ICU_MODE, see `-DICU_MODE` command line option)
155 * `python3-dev` (_optional_ - needed for **python plugins** support, see `-DPYTHON` command line option)
156 * `python3-cffi` (_optional_ - needed for **python plugins** support, see `-DPYTHON` command line option)
157 * `cmake` ( >= 3.2.2 )
160 * `git` (needed for downloading source code)
162 or simply on **Debian/Ubuntu**:
164 apt-get install libwxgtk3.0-gtk3-dev libx11-dev libxi-dev libxml2-dev libuchardet-dev libssh-dev libssl-dev libsmbclient-dev libnfs-dev libneon27-dev libarchive-dev cmake pkg-config g++ git
167 In older distributions: use `libwxgtk3.0-dev` instead of `libwxgtk3.0-gtk3-dev`.
170 * Clone current master
172 git clone https://github.com/elfmz/far2l
175 * Checkout some stable release tag (master considered unstable): `git checkout v_2.#.#`
176 * Prepare build directory:
185 cmake -DUSEWX=yes -DCMAKE_BUILD_TYPE=Release ..
186 cmake --build . -j$(nproc --all)
188 _or with ninja (you need **ninja-build** package installed)_
190 cmake -DUSEWX=yes -DCMAKE_BUILD_TYPE=Release -G Ninja ..
194 * If above commands finished without errors - you may:
196 * just run far2l from `./install/far2l`<br><sup>(use the full path to run from any location: `<path>/far2l/_build/install/far2l`)</sup>
198 * or/and install far2l: `sudo cmake --install .`
200 * or/and it's possible to create far2l_2.X.X_ARCH.deb or ...tar.gz packages in `_build` directory by running `cmake --build . --target package` command.
202 ##### Additional build configuration options:
204 To build without WX backend (console version only): change `-DUSEWX=yes` to `-DUSEWX=no` also in this case dont need to install libwxgtk\*-dev package
206 To force-disable TTY|X and TTY|Xi backends: add argument `-DTTYX=no`; to disable only TTY|Xi - add argument `-DTTYXI=no`
208 To eliminate libuchardet requirement to reduce far2l dependencies by cost of losing automatic charset detection functionality: add `-DUSEUCD=no`
210 By default far2l uses pre-generated "hardcoded" UNICODE characters properties. But this can be changed by specifying -DICU_MODE when configuring cmake:
211 `-DICU_MODE=prebuilt` - is a described above default implementaion. Most dependency-less option.
212 `-DICU_MODE=build` - re-generate characters properties during build by using libicu available on build system, but it still not required to be present on target.
213 `-DICU_MODE=runtime` - obtain properties at runtime (that can be bit slower) using libicu that required to be present on target system.
216 To build with Python plugin: add argument `-DPYTHON=yes`
217 but you must have installed additional packages within yours system:
222 To control how RAR archives will be handled in multiarc:
223 `-DUNRAR=bundled` (default) use bundled sources found in multiarc/src/formats/rar/unrar
224 `-DUNRAR=lib` use libunrar and unrar utility, also build requires libunrar-dev to be installed
225 `-DUNRAR=NO` dont use special unrar code, rar archives will be handled by libarchive unless its also disabled
227 There're also options to toggle other plugins build in same way: ALIGN AUTOWRAP CALC COLORER COMPARE DRAWLINE EDITCASE EDITORCOMP FARFTP FILECASE INCSRCH INSIDE MULTIARC NETROCKS SIMPLEINDENT TMPPANEL
231 To make custom/recent build use brew or MacPorts.
233 * Supported compiler: `AppleClang 8.0.0.x` or newer. Check your version, and install/update Xcode if necessary.
237 * If you want to build using Homebrew - first visit <https://brew.sh/> for installation instructions. Note that there're reported problems with Homebrew-based build under MacOS Big Sur.
238 * If you want to build using MacPorts - first visit <https://www.macports.org/install.php> for installation instructions.
240 ##### One line OSX/MacOS install latest far2l git master via unofficial brew tap
242 * With GUI/TTY backends:
244 brew install --HEAD yurikoles/yurikoles/far2l
246 * With TTY backend only:
248 brew install --HEAD yurikoles/yurikoles/far2l --without-wxwidgets
250 * Additionally you can enable python support by adding `--with-python@3.10` to the one of two above commands.
252 ##### Full OSX/MacOS build from sources (harder):
253 Some issues can be caused by conflicting dependencies, like having two versions of wxWidgets, so avoid such situation when installing dependencies.
257 git clone https://github.com/elfmz/far2l
260 * Install needed dependencies with MacPorts:
262 sudo port install cmake pkgconfig wxWidgets-3.2 libssh openssl libxml2 uchardet neon
263 export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig
265 * OR if you prefer to use brew packages, then:
268 export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$(brew --prefix)/opt/openssl/lib/pkgconfig:$(brew --prefix)/opt/libarchive/lib/pkgconfig"
270 * After dependencies installed - you can build far2l:
275 cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DUSEWX=yes -DCMAKE_BUILD_TYPE=Release ..
276 cmake --build . -j$(sysctl -n hw.logicalcpu)
282 cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DUSEWX=yes -DCMAKE_BUILD_TYPE=Release -G Ninja ..
285 * Then you may create .dmg package by running: `cpack` command.
286 Note that this step sometimes fails and may succeed from not very first attempt.
287 Its recommended not to do anything on machine while cpack is in progress.
288 After .dmg successfully created, you may install it by running `open ...path/to/created/far2l-*.dmg`
290 ##### macOS workaround if far2l in macOS regularly asks permission to folders
293 sudo codesign --force --deep --sign - /Applications/far2l.app
295 it is enough to confirm permission only once.
297 Details see in [`issue`](https://github.com/elfmz/far2l/issues/1754).
299 #### Building on Gentoo (and derivatives)
300 For absolute minimum you need:
302 emerge -avn dev-libs/libxml2 app-i18n/uchardet dev-util/cmake
304 If you want to build far2l with wxGTK support also install it:
306 emerge -avn x11-libs/wxGTK
308 Additionally, for NetRocks you will need:
310 emerge -avn net-libs/neon net-libs/libssh net-fs/libnfs net-fs/samba
312 After installing, follow Clone and Build section above.
314 #### Installing and Building on [NixOS](https://nixos.org/)
316 To install system-wide, add the `far2l` package to your [`configuration.nix`](https://nixos.org/manual/nixos/stable/index.html#sec-changing-config) `environment.systemPackages` list. To run the application on-demand without affecting the system state, execute `nix-shell -p far2l --command far2l`. These use a package version from your current [channel](https://wiki.nixos.org/wiki/Nix_channels).
318 The Far2l adaptation for _nix_ is [a small file on GitHub](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/misc/far2l/default.nix), it tells which Git revision from Far2l repo to fetch, with what dependencies to build it, and how to patch its references to other software to make it run in isolated fashion independently from other versions available in the system.
320 You can build and run `far2l` package for any revision:
321 * Directly from GitHub (`NixOS/nixpkgs` repo, or your own fork and branch):
323 nix-shell -I nixpkgs=https://github.com/<fork>/nixpkgs/archive/<revision-or-branch>.tar.gz -p far2l --command far2l
325 * From a locally cloned working directory of the repo:
327 nix-shell -I nixpkgs=/path/to/nixpkgs -p far2l --command far2l
330 To advance the package to a new Far2l revision, edit the `fetchFromGitHub` set attributes `rev` (revision hash) and `sha256` (revision content hash). **Important!** If you leave the old content hash, the old cached content for that hash might be used without attempting to download the new revision. If you're not expecting the build to break, the easiest would be to make a fork, push the change, and build straight from github.
333 You can import the project into your favourite IDE like QtCreator, CodeLite, or any other, which supports cmake or which cmake is able to generate projects for.
335 * **QtCreator**: select "Open Project" and point QtCreator to the CMakeLists.txt in far2l root directory
336 * **CLion**: the same as **QtCreator**.
337 * **CodeLite**: use this guide to setup a project: https://wiki.codelite.org/pmwiki.php/Main/TheCMakePlugin (to avoid polluting your source tree, don't create your workspace inside of the far2l directory)
338 * **Visual Studio Code** (required _CMake Tools extension_): open far2l root directory (by default building in subdirectory `_build`; you can change in `.vscode/settings.json`)
340 <a name="terminals"></a>
341 ## Terminals and SSH clients
342 Supporting extended far2l keyboard shortcuts and clipboard access
344 * **kovidgoyal's kitty** (Linux, macOS, \*BSD): https://github.com/kovidgoyal/kitty & https://sw.kovidgoyal.net/kitty (TTY|k backend: keys by kovidgoyal's kitty keyboard protocol; turn on OSC 52 in far2l and kitty for clipboard support)
345 * **Wez's Terminal Emulator** (Linux, FreeBSD, Windows): https://github.com/wez/wezterm & https://wezfurlong.org/wezterm (TTY|k backend: keys in Linux, FreeBSD by kovidgoyal's kitty keyboard protocol; TTY|w backend: keys in Windows by win32-input-mode, enabled by default; turn on OSC 52 for clipboard support) [kitty keyboard protocol not supported in macOS & Windows]
346 * **iTerm2** (macOS): https://gitlab.com/gnachman/iterm2 & https://iterm2.com (TTY|a backend: keys by iTerm2 "raw keyboard" protocol; turn on OSC 52 for clipboard support)
347 * **Windows Terminal** (TTY|w backend: keys by win32-input-mode; turn on OSC 52 for clipboard support; has mouse bug: https://github.com/microsoft/terminal/issues/15083 )
349 * _Original Putty_ does _not correctly send some keyboard shortcuts_. Please use putty forks with _special far2l TTY extensions support (fluent keypresses, clipboard sharing etc)_:
350 * **putty4far2l** (Windows ssh-client): https://github.com/ivanshatsky/putty4far2l/releases & https://github.com/unxed/putty4far2l (TTY|F backend: keys and clipboard by FAR2L TTY extensions support)
351 * **cyd01's KiTTY** (Windows ssh-client): https://github.com/cyd01/KiTTY & https://www.9bis.net/kitty (TTY|F backend: keys and clipboard by FAR2L TTY extensions support)
352 * **putty-nd** (Windows ssh-client): https://sourceforge.net/projects/putty-nd & https://github.com/noodle1983/putty-nd (TTY|F backend: keys and clipboard by FAR2L TTY extensions support)
354 _Note_: to full transfer extended keyboard shortcuts and the clipboard to/from the **remote far2l**
355 one of the best way to initiate the connection **inside local far2l-GUI**
356 (see details in build-in help section **UI backends**).
358 ## Useful 3rd-party extras
360 * A collection of macros for far2l: https://github.com/corporateshark/far2l-macros
361 * Turbo Vision, TUI framework supporting far2l terminal extensions: https://github.com/magiblot/tvision
362 * turbo, text editor supporting far2l terminal extensions: https://github.com/magiblot/turbo
363 * far2ltricks: https://github.com/unxed/far2ltricks
364 * tool to import color schemes from windows FAR manager 2 .reg format: https://github.com/unxed/far2ltricks/blob/main/misc/far2l_import.pl
366 * External far2l plugins:
367 + **jumpword** (far2l editor plugin for quick searching the word under cursor): https://github.com/axxie/far2l-jumpword/
368 + **netcfg** (far2l net interfaces configuration plugin): https://github.com/VPROFi/netcfgplugin
369 + **sqlplugin** (far2l sql db (sqlite, etc..) plugin): https://github.com/VPROFi/sqlplugin
370 + **processplugin** (far2l processes plugin): https://github.com/VPROFi/processes
372 * **far2m** is fork with FAR3 macro system (Lua) and extended plugins: https://github.com/shmuz/far2m
374 * **Community wiki & tips** (in Russian; unofficial): https://github.com/akruphi/far2l/wiki
376 <a name="community_bins"></a>
377 ## Community packages & binaries
379 _They are mainteined by enthusiasts and may be not exact with master: sometimes has extra plugins, sometimes has tweak, etc._
381 * **Portable** (_with TTY X/Xi backend_) | **AppImage** (_with wx-GUI and some extra plugins_): https://github.com/spvkgn/far2l-portable/releases
382 * **Ubuntu** and **Mint** from PPA with fresh far2l: https://launchpad.net/~far2l-team/+archive/ubuntu/ppa
384 - <details><summary>tips for toggle between repositories PPA and official Ubuntu <sub>[<i>click to expand/collapse</i>]</sub></summary>
386 - **Tranfser to binaries from PPA repository**
389 sudo apt remove far2l* # required if any far2l was installed
390 sudo apt install software-properties-common # required if add-apt-repository not installed
391 sudo add-apt-repository ppa:far2l-team/ppa
392 #sudo apt install far2l-gui # (!) use if you need plain+GUI backends
393 #sudo apt install far2l-ttyx # (!) use if you need plain+TTY|Xi backends
394 #sudo apt install far2l # (!) use if you need only plain backend
397 - Disconnection PPA and **return to official [Ubuntu](#debian) repository**
400 sudo apt remove far2l* # required if any far2l was installed
401 sudo apt install software-properties-common # required if add-apt-repository not installed
402 sudo add-apt-repository --remove ppa:far2l-team/ppa
403 #sudo apt install far2l # (!) use if you need plain+TTY|Xi backends
404 #sudo apt install far2l-wx # (!) use if you need plain+GUI backends
409 * **Fedora** and **CentOS**: https://copr.fedorainfracloud.org/coprs/polter/far2l
410 * **OpenSUSE**, **Fedora**, **Debian**, **Ubuntu**: https://download.opensuse.org/repositories/home:/viklequick/ <br>
411 <sub>(contain separate packages with external plugins;<br>in `sources.list` you may add: `deb https://downloadcontentcdn.opensuse.org/repositories/home:/viklequick/<os-version> ./`)</sub>
412 * **OpenWrt**: https://github.com/spvkgn/far2l-openwrt
413 * **Termux**: https://github.com/spvkgn/far2l-termux
414 * **Flatpak**: https://github.com/spvkgn/far2l-flatpak <sub>(access only to part of real filesystem via sandbox)</sub>
416 See also in https://github.com/elfmz/far2l/issues/647
418 ## Notes on porting and FAR Plugin API changes
419 * See [HACKING.md](HACKING.md)
422 * See [testing/README.md](testing/README.md)
425 * Only valid translations are English, Russian, Ukrainian and Belarussian (interface only), all other languages require deep correction.