{"id":13438270,"url":"https://github.com/elfmz/far2l","last_synced_at":"2026-04-02T00:52:14.597Z","repository":{"id":10352062,"uuid":"65415224","full_name":"elfmz/far2l","owner":"elfmz","description":"Linux port of FAR v2","archived":false,"fork":false,"pushed_at":"2025-05-13T07:36:25.000Z","size":74977,"stargazers_count":1909,"open_issues_count":367,"forks_count":182,"subscribers_count":59,"default_branch":"master","last_synced_at":"2025-05-13T08:39:57.414Z","etag":null,"topics":["filemanager","linux","macos","osx","terminal"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elfmz.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-08-10T20:43:58.000Z","updated_at":"2025-05-13T07:36:29.000Z","dependencies_parsed_at":"2023-01-17T00:15:11.754Z","dependency_job_id":"b882b639-628d-4ce1-83a6-9b91f4b2866b","html_url":"https://github.com/elfmz/far2l","commit_stats":{"total_commits":4303,"total_committers":97,"mean_commits":44.36082474226804,"dds":"0.40553102486637227","last_synced_commit":"531a49c7b33e9f0f6594e7b9b913e42c80d7b82f"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elfmz%2Ffar2l","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elfmz%2Ffar2l/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elfmz%2Ffar2l/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elfmz%2Ffar2l/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elfmz","download_url":"https://codeload.github.com/elfmz/far2l/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254076382,"owners_count":22010610,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["filemanager","linux","macos","osx","terminal"],"created_at":"2024-07-31T03:01:04.146Z","updated_at":"2026-04-02T00:52:14.586Z","avatar_url":"https://github.com/elfmz.png","language":"C","readme":"[![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\u0026logoWidth=18)](https://lgtm.com/projects/g/elfmz/far2l/context:cpp) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/elfmz/far2l) [![Packages](https://repology.org/badge/tiny-repos/far2l.svg)](https://repology.org/project/far2l)\n\n# far2l [![tag](https://img.shields.io/github/tag/elfmz/far2l.svg)](https://github.com/elfmz/far2l/tags)\nLinux fork of FAR Manager v2 (http://farmanager.com/)   \nWorks also on macOS and BSD (but latter not tested on regular manner)\nBETA VERSION.   \n**Use on your own risk!**\n\nPlug-ins that are currently working: NetRocks (SFTP/SCP/SHELL/FTP/FTPS/SMB/NFS/WebDAV/AWS S3 \u003csub\u003eoptional compilation if AWSSDK installed\u003c/sub\u003e),\ncolorer, multiarc, tmppanel, Advanced compare, filecase, inside, align, autowrap, drawline, editcase, editorcomp, incsrch, SimpleIndent, Calculator,\nPython (optional scripting support),\narclite \u003csub\u003e(now as experimental version which partially more effective then multiarc;\narclite disabled by default, to enable manually turn on\nF9-\u003eOptions-\u003ePlugins configuration-\u003eArcLite-\u003e[x] Enable Arclite plugin)\u003c/sub\u003e,\nhexitor, OpenWith, ImageViewer, edsort, truncate, memo.\n\nFreeBSD/MacOS (Cirrus CI): [![Cirrus](https://api.cirrus-ci.com/github/elfmz/far2l.svg)](https://cirrus-ci.com/github/elfmz/far2l)\n\n\n#### License: GNU/GPLv2\n\n### Used code from projects\n\n* FAR for Windows and some of its plugins\n* WINE\n* ANSICON\n* Portable UnRAR\n* 7z ANSI-C Decoder\n* utf-cpp by ww898\n\n### Screenshots\n\n![far2l main UI][scr_far2l] | ![NetRocks][scr_netrocks]\n--------------------------- | -------------------------\n![Attributes][scr_attribs]  | ![Editor][scr_editor]\n\n[scr_far2l]: ./far2l/DE/screenshots/far2l.png\n[scr_netrocks]: ./far2l/DE/screenshots/far2l_NetRocks.png\n[scr_attribs]: ./far2l/DE/screenshots/far2l_attribs_several.png\n[scr_editor]: ./far2l/DE/screenshots/far2l_editor_colorer.png\n\n### Jump To:\n* [Getting Started](#gstarted)\n* [Installing, Running](#inst_run)\n* [Building, Contributing, Hacking](#building)\n* [Compatible Terminals and SSH clients](#terminals)\n* [Useful 3rd-party extras](#useful3party)\n* [Community packages \u0026 binaries](#community_bins)\n* See also (in external documents):\n    * [Change log](changelog.md)\n    * [Releases](https://github.com/elfmz/far2l/releases)\n    * [Python plugin readme](python/configs/plugins/read-en.txt) and [Short information about each Python plugins/files](python/configs/plugins/readme-plugins.txt)\n    * [Notes on porting and FAR Plugin API changes](HACKING.md)\n    * [Coding style](CODESTYLE.md)\n    * [Testing](testing/README.md)\n    * [DUMPER](DUMPER.md)\n\n\u003ca name=\"gstarted\"\u003e\u003c/a\u003e\n## Getting Started\n\n\u003csub\u003e\u003ca name=\"keyshells\"\u003e\u003c/a\u003e_Note_: Far2l uses keyboard shortcurts in the tradition of the Far Manager for Windows,\nbut some of them (**Alt**+**F1**, **Alt**+**F2**, **Alt**+**F7**, **Ctrl**+arrows, etc.)\nusually exclusively used in desktop environment GNOME, KDE, Xfce, macOS etc. and in terminal emulators.\nTo work with these keys in far2l you need to _release keyboard shortcuts globally_\nin the environment settings (see [#2326](https://github.com/elfmz/far2l/issues/2326),\n[#2731](https://github.com/elfmz/far2l/issues/2731),\nunder GNOME you can use `dconf-editor org.gnome.desktop.wm.keybindings` to view and change global keybindings)\nor use far2l lifehacks:\n_Sticky controls via **Ctrl**+**Space** or **Alt**+**Space**_ or _Exclusively handle hotkeys option in the Input settings_\n(see details in buil-in far2l help).\u003c/sub\u003e\n\n### UI Backends\n  FAR2L has base UI Backends (see details in build-in help section **UI backends**):\n\n- **GUI** (**WX**): uses wxWidgets, works in graphics mode, **ideal UX**\n(might add dependencies to your desktop environment, e.g. wxWidgets toolkit and related packages);\n\n- **TTY|Xi**: works in terminal mode, requires a dependency on pair X11 libraries\n(to access clipboard and to get state of all keyboard modifiers), **almost perfect UX**;\n\n- **TTY|X**: works in terminal mode, uses X11 to access clipboard, all keyboard works via terminal;\n\n- **TTY**: plain terminal mode, no X11 dependencies, **UX with some restrictions** (works fully when running in the\n[terminal emulators](#terminals), which provide clipboard access and has their advanced keyboard-protocols).\n\n\n| Mode\u003cbr\u003e(UI Backends) | ![icon](far2l/DE/icons/hicolor/24x24/apps/far2l.svg) TTY\u003cbr\u003e(plain far2l) | ![icon](far2l/DE/icons/hicolor/24x24/apps/far2l.svg) TTY\\|X | ![icon](far2l/DE/icons/hicolor/24x24/apps/far2l.svg) TTY\\|Xi | ![icon](far2l/DE/icons/hicolor/24x24/apps/far2l-wx.svg) GUI (WX) |\n| ---: | --- | --- | --- | --- |\n| **Works:** | in **console**\u003cbr\u003eand in any\u003cbr\u003e**terminal** | in **terminal\u003cbr\u003ewindow**\u003cbr\u003e\u003csub\u003eunder graphic\u003cbr\u003eX11 session\u003c/sub\u003e | in **terminal\u003cbr\u003ewindow**\u003cbr\u003e\u003csub\u003eunder graphic\u003cbr\u003eX11 session\u003c/sub\u003e | in **Desktop\u003cbr\u003eenvironment**\u003cbr\u003e\u003csub\u003e(X11\u003cbr\u003eor Wayland\u003cbr\u003eor macOS)\u003cbr\u003evia wxWidgets\u003c/sub\u003e |\n| **Binaries:** | far2l | far2l\u003cbr\u003efar2l_ttyx.broker | far2l\u003cbr\u003efar2l_ttyx.broker | far2l\u003cbr\u003efar2l_gui.so |\n| **[Dependencies](#required-dependencies):** | minimal | + libx11 | + libx11, libxi | + wxWidgets, GTK |\n| **Keyboard:** | \u003csub\u003e_Typical terminals_:\u003cbr\u003e**only essential\u003cbr\u003ekey combinations**\u003cbr\u003e\u003cbr\u003e_KiTTY_ (putty fork),\u003cbr\u003e_kitty_ (\\*nix one),\u003cbr\u003e_iTerm2_,\u003cbr\u003e_Windows Terminal_,\u003cbr\u003efar2l’s VT: **full support**\u003cbr\u003e(see: [Compatible\u003cbr\u003eTerminals\u003cbr\u003eand SSH clients](#terminals))\u003c/sub\u003e | \u003csub\u003e_Typical terminals_:\u003cbr\u003e**only essential\u003cbr\u003ekey combinations**\u003cbr\u003e\u003cbr\u003e_KiTTY_ (putty fork),\u003cbr\u003e_kitty_ (\\*nix one),\u003cbr\u003e_iTerm2_,\u003cbr\u003e_Windows Terminal_,\u003cbr\u003efar2l’s VT: **full support**\u003c/sub\u003e | \u003csub\u003e_Typical terminals_:\u003cbr\u003e**most of key\u003cbr\u003ecombinations under x11**;\u003cbr\u003e**only essential key\u003cbr\u003ecombinations\u003cbr\u003eunder Wayland**\u003cbr\u003e\u003cbr\u003e_KiTTY_ (putty fork),\u003cbr\u003e_kitty_ (\\*nix one),\u003cbr\u003e_iTerm2_,\u003cbr\u003e_Windows Terminal_,\u003cbr\u003efar2l’s VT: **full support**\u003c/sub\u003e | **All key\u003cbr\u003ecombinations** |\n| **Clipboard\u003cbr\u003eaccess:** | \u003csub\u003e_Typical terminals_:\u003cbr\u003evia command line\u003cbr\u003etools like xclip\u003cbr\u003e\u003cbr\u003e_kitty_ (\\*nix one),\u003cbr\u003e_iTerm2_:\u003cbr\u003evia **OSC52**\u003cbr\u003e\u003cbr\u003e_Windows Terminal_:\u003cbr\u003evia **OSC52**\u003cbr\u003eor via **command line\u003cbr\u003etools under WSL**\u003cbr\u003e\u003cbr\u003e_KiTTY_ (putty fork),\u003cbr\u003efar2l’s VT:\u003cbr\u003evia **far2l extensions**\u003c/sub\u003e | \u003csub\u003e_Typical terminals_,\u003cbr\u003e_kitty_ (\\*nix one):\u003cbr\u003evia **x11 interaction**\u003cbr\u003e\u003cbr\u003e_iTerm2_:\u003cbr\u003evia **OSC52**\u003cbr\u003e\u003cbr\u003e_Windows Terminal_:\u003cbr\u003evia **OSC52**\u003cbr\u003eor via **command line\u003cbr\u003etools under WSL**\u003cbr\u003e\u003cbr\u003e_KiTTY_ (putty fork),\u003cbr\u003efar2l’s VT:\u003cbr\u003evia **far2l extensions**\u003c/sub\u003e | \u003csub\u003e_Typical terminals_,\u003cbr\u003e_kitty_ (\\*nix one):\u003cbr\u003evia **x11 interaction**\u003cbr\u003e\u003cbr\u003e_iTerm2_:\u003cbr\u003evia **OSC52**\u003cbr\u003e\u003cbr\u003e_Windows Terminal_:\u003cbr\u003evia **OSC52**\u003cbr\u003eor via **command line\u003cbr\u003etools under WSL**\u003cbr\u003e\u003cbr\u003e_KiTTY_ (putty fork),\u003cbr\u003efar2l’s VT:\u003cbr\u003evia **far2l extensions**\u003c/sub\u003e | via\u003cbr\u003e**wxWidgets API**\u003cbr\u003e\u003cbr\u003e\u003csub\u003evia command line\u003cbr\u003etools under WSL\u003c/sub\u003e |\n| **Typical\u003cbr\u003euse case:** | **Servers**,\u003cbr\u003eembedded\u003cbr\u003e(\\*wrt, etc) | \u003csub\u003eRun far2l in\u003cbr\u003efavorite terminal\u003cbr\u003ebut with\u003cbr\u003e**better UX**\u003c/sub\u003e | \u003csub\u003eRun far2l in\u003cbr\u003efavorite terminal\u003cbr\u003ebut with\u003cbr\u003e**best UX**\u003c/sub\u003e | **Desktop** |\n| [Debian](#debian) / [Ubuntu](#debian)\u003cbr\u003e\u003csup\u003eofficial repositories\u003cbr\u003e(packages names):\u003c/sup\u003e | Install `far2l` with\u003cbr\u003e\u003csup\u003e`--no-install-recommends`\u003cbr\u003eand use `far2l` due to\u003cbr\u003e[auto downgrade](#downgrade)\u003cbr\u003e(since _2.6.5~ds-3_ /\u003cbr\u003eUbuntu 25.10+)\u003c/sup\u003e | `far2l` | `far2l` | `far2l-wx`\u003cbr\u003e\u003csup\u003e(since _2.6.4_ /\u003cbr\u003eUbuntu 25.04+)\u003c/sup\u003e |\n| Community [PPA](#community_bins)\u003cbr\u003e\u003csup\u003e(packages names):\u003c/sup\u003e | `far2l` | `far2l-ttyx` | `far2l-ttyx` | `far2l-gui` |\n\n\u003csub\u003e\u003ca name=\"downgrade\"\u003e\u003c/a\u003e_Note_: When running far2l automatically downgrade\nif its components are not installed (or system libs are not available):\n**GUI** ⇒ **TTY|Xi** ⇒ **TTY|X** ⇒ **TTY**.\nTo force run only specific backend use in command line:\nfor **GUI**: `far2l --notty`;\nfor **TTY|Xi** use in command line: `far2l --tty`;\nfor **TTY|X**: `far2l --tty --nodetect=xi`;\nfor plain **TTY**: `far2l --tty --nodetect=x`\n(see details via `far2l --help`).\u003c/sub\u003e\n\n\u003csub\u003e_Note_: Using OSC 52 in TTY/TTY|X_:\nto interact with the system clipboard you must **not forget to enable OSC 52**\nin both the **FAR2L settings** (`Options`⇒`Interface settings`⇒`Use OSC52 to set clipboard data`,\nwhich shown in the dialog only if far2l run in TTY/TTY|X mode and all other options for clipboard access are unavailable;\nyou can run `far2l --tty --nodetect` to force not use others clipboard options),\nand in **terminal settings** option OSC 52 must be allowed (by default, OSC 52 is disabled in some terminals for security reasons;\nOSC 52 in many terminals is implemented only for the copy mode, and paste from the terminal goes by bracketed paste mode).\u003c/sub\u003e\n\n\u003csub\u003e_Note_: Using **TTY** under **Wayland** and **OSC 52** under Wayland:\n**TTY X|xi** in `--tty` works incorrectly. You need fully disable it to use OSC 52 for propper clipboard integration;\nyou need to run `far2l --tty --nodetect=x`, than OSC 52 setting option will appear in `Interface Settings`, and you could enable it, as it described in a chapter above.\nClipboard in `wx-gui` is working correctly. \u003c/sub\u003e\n\n\u003ca name=\"inst_run\"\u003e\u003c/a\u003e\n## Installing, Running\n\u003ca name=\"debian\"\u003e\u003c/a\u003e\n#### Debian/Ubuntu binaries from the official repositories\n\n* **GUI** backend (Debian since far2l _2.6.4_ / Ubuntu 25.04+)\n    ```sh\n    apt install far2l-wx\n    ```\n\n* **TTY X/Xi** backends only (Debian / Ubuntu 23.10+)\n    ```sh\n    apt install far2l\n    ```\n\n* **TTY** backends only – do not install X11 dependencies and dependencies used in the NetRocks plugin (Debian since far2l _2.6.5~ds-3_ / Ubuntu 25.10+)\n    ```sh\n    apt install --no-install-recommends far2l\n    ```\n\n\u003csub\u003e**Debian** has far2l in **sid (unstable)** / **14 forky (testing)** / **13 trixie** / **12 bookworm-backports**; **Ubuntu** since **23.10**.\nDetails about versions in the official repositories see in\nhttps://packages.debian.org/search?keywords=far2l or https://packages.ubuntu.com/search?keywords=far2l \u003c/sub\u003e\n\n\u003csub\u003e_Note_: packages in official repositories may be very outdated,\nactual binaries or portable see in [Community packages \u0026 binaries](#community_bins).\u003c/sub\u003e\n\n\u003csub\u003e_Note_: since far2l 2.6.4 Debian/Ubuntu packages build with python subplugins.\u003c/sub\u003e\n\n\u003csub\u003e_Note_: in some old Debian/Ubuntu you can obtain far2l packages corresponding to the latest distributions via backport mechanism\n(see info in [Debian Backports](https://backports.debian.org/Instructions/) and [Ubuntu Backports](https://help.ubuntu.com/community/UbuntuBackports)).\u003c/sub\u003e\n\n\u003cdetails\u003e\u003csummary\u003e\u003csub\u003eManually building backport of official packages for other old Debian/Ubuntu system [\u003ci\u003eclick to expand/collapse\u003c/i\u003e]\u003c/sub\u003e\u003c/summary\u003e\n\n\u003csub\u003eA simple sid back port should be as easy as (build your own binary deb from the official source deb package,\nrequired install [dependencies](#required-dependencies)):\u003c/sub\u003e\n\n```sh\n# you will find the latest dsc link at http://packages.debian.org/sid/far2l\ndget http://deb.debian.org/debian/pool/main/f/far2l/2.6.3~beta+ds-1.dsc\ndpkg-source -x *.dsc\ncd far2l-*/\ndebuild\n# cd .. and install your self built far2l*.deb\n```\n\n\u003c/details\u003e\n\n\n#### macOS binaries\n\nYou can install prebuilt package for x86_64 platform via Homebrew Cask, by command:\n```sh\nbrew install --cask far2l\n```\n\nYou can also manually download and install prebuilt package for x86_64 platform from Releases page: \u003chttps://github.com/elfmz/far2l/releases\u003e\n\n#### Docker\n\nYou can use containers to try `far2l` without installing anything.\n```sh\ndocker build . -l far2l\ndocker run -it far2l\n```\n\nSee also [Community packages \u0026 binaries](#community_bins)\n\n\n\u003ca name=\"building\"\u003e\u003c/a\u003e\n## Building, Contributing, Hacking\n#### Required dependencies\n\n* `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`)\n* `libx11-dev` (_optional_ - needed for **X11 extension** that provides better UX for TTY backend wherever X11 is available)\n* `libxi-dev` (_optional_ - needed for **X11/Xi extension** that provides best UX for TTY backend wherever X11 Xi extension is available)\n* `libxml2-dev` (_optional_ - needed for **Colorer plugin**, not needed with `-DCOLORER=no`)\n* `libuchardet-dev` (_optional_ - needed for **auto charset detection**, not needed with `-DUSEUCD=no`)\n* `libssh-dev` (_optional_ - needed for **NetRocks/SFTP**)\n* `libssl-dev` (_optional_ - needed for **NetRocks/FTPS**)\n* `libsmbclient-dev` (_optional_ - needed for **NetRocks/SMB**)\n* `libnfs-dev` (_optional_ - needed for **NetRocks/NFS**)\n* `libneon27-dev` (or later, _optional_ - needed for **NetRocks/WebDAV**)\n* [AWS SDK S3](https://github.com/aws/aws-sdk-cpp) (_optional_ - needed for **NetRocks/AWS S3**)\n* `libarchive-dev` (_optional_ - needed for better archives support in **multiarc**)\n* `libunrar-dev` (_optional_ - needed for RAR archives support in **multiarc**, see `-DUNRAR` command line option)\n* `7zip` or `p7zip-full` in old distributions (_optional_ - not needed for building, but dynamically used for archives processing via **multiarc** and **arclite**)\n* `libicu-dev` (_optional_ - needed if used non-default ICU_MODE, see `-DICU_MODE` command line option)\n* `python3-dev` (_optional_ - needed for **python plugins** support, see `-DPYTHON` command line option)\n* `python3-cffi` (_optional_ - needed for **python plugins** support, see `-DPYTHON` command line option)\n* `cmake` ( \u003e= 3.2.2 )\n* `pkg-config`\n* `g++`\n* `git` (needed for downloading source code)\n\nor simply on **Debian/Ubuntu**:\n``` sh\napt-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\n```\n\nIn older distributions: use `libwxgtk3.0-dev` instead of `libwxgtk3.0-gtk3-dev`.\n\n#### Clone and Build\n * Clone current master\n```sh\ngit clone https://github.com/elfmz/far2l\ncd far2l\n```\n * Checkout some stable release tag (master considered unstable): `git checkout v_2.#.#`\n * Prepare build directory:\n```sh\nmkdir -p _build\ncd _build\n```\n\n * Build:\n_with make:_\n``` sh\ncmake -DUSEWX=yes -DCMAKE_BUILD_TYPE=Release ..\ncmake --build . -j$(nproc --all)\n``` \n_or with ninja (you need **ninja-build** package installed)_\n``` sh\ncmake -DUSEWX=yes -DCMAKE_BUILD_TYPE=Release -G Ninja ..\ncmake --build .\n```\n\n * If above commands finished without errors - you may:\n\n    * just run far2l from `./install/far2l`\u003cbr\u003e\u003csup\u003e(use the full path to run from any location: `\u003cpath\u003e/far2l/_build/install/far2l`)\u003c/sup\u003e\n\n    * **better** install far2l: `sudo cmake --install .`\n\n        * HINT: for Debian-alikes there is a `checkinstall` tool allowing ad-hoc packages creation and immediate installing.  \n          E.g. type `sudo checkinstall`, it will prompt for package name, enter \"my_far2l\".  \n          Later \"my_far2l\" can be uninstalled via `sudo dpkg --purge my_far2l`\n\n    * **even better** create far2l_2.X.X_ARCH.deb or ...tar.gz packages in `_build` directory by running `cmake --build . --target package` command.\n\n##### Additional build configuration options:\n\nTo build without WX backend (console version only): change `-DUSEWX=yes` to `-DUSEWX=no` also in this case dont need to install libwxgtk\\*-dev package\n\nTo force-disable TTY|X and TTY|Xi backends: add argument `-DTTYX=no`; to disable only TTY|Xi - add argument `-DTTYXI=no`\n\nTo eliminate libuchardet requirement to reduce far2l dependencies by cost of losing automatic charset detection functionality: add `-DUSEUCD=no`\n\nBy default far2l uses pre-generated \"hardcoded\" UNICODE characters properties. But this can be changed by specifying `-DICU_MODE` when configuring cmake:\n `-DICU_MODE=prebuilt` - is a described above default implementaion. Most dependency-less option.\n `-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.\n `-DICU_MODE=runtime` - obtain properties at runtime (that can be bit slower) using libicu that required to be present on target system.\n\nOption to disable building macro subsystem completely: `-DFAR2MACRO=OFF` (see in [far2l/CMakeLists.txt](far2l/CMakeLists.txt)).\n\nTo build with Python plugin: add argument `-DPYTHON=yes`\nbut you must have installed additional packages within yours system:\n`python3-dev` and\n`python3-cffi`.\n\n\nTo control how RAR archives will be handled in multiarc:\n `-DUNRAR=bundled` (default) use bundled sources found in multiarc/src/formats/rar/unrar\n `-DUNRAR=lib` use libunrar and unrar utility, also build requires libunrar-dev to be installed\n `-DUNRAR=NO` dont use special unrar code, rar archives will be handled by libarchive unless its also disabled\n\nThere're also options to toggle other plugins build in same way:\n`-DALIGN=no`, `-DARCLITE=no`, `-DAUTOWRAP=no`, `-DCALC=no`, `-DCOLORER=no`, `-DCOMPARE=no`, `-DDRAWLINE=no`, `-DEDITCASE=no`, `-DEDITORCOMP=no`,\n`-DEDSORT=no`, `-DFARFTP=yes` \u003csub\u003e(by default it is disabled)\u003c/sub\u003e,\n`-DFILECASE=no`, `-DHEXITOR=no`, `-DIMAGEVIEWER=no`, `-DINCSRCH=no`, `-DINSIDE=no`, `-DMEMO=no`, `-DMULTIARC=no`, `-DNETROCKS=no`,\n`-DOPENWITH=no`, `-DSIMPLEINDENT=no`, `-DTMPPANEL=no`, `-DTRUNCATE=no`\n(see in [CMakeLists.txt](CMakeLists.txt)) and for NetRocks components (see in [NetRocks/CMakeLists.txt](NetRocks/CMakeLists.txt)).\n\n#### macOS build\n\nTo make custom/recent build use brew or MacPorts.\n\n * Supported compiler: `AppleClang 8.0.0.x` or newer. Check your version, and install/update Xcode if necessary.\n ```sh\n clang++ -v\n ```\n * If you want to build using Homebrew - first visit \u003chttps://brew.sh/\u003e for installation instructions. Note that there're reported problems with Homebrew-based build under MacOS Big Sur.\n * If you want to build using MacPorts - first visit \u003chttps://www.macports.org/install.php\u003e for installation instructions.\n\n##### One line macOS install latest far2l git master via unofficial brew tap\n\n * With GUI/TTY backends:\n```sh\nbrew install --HEAD yurikoles/yurikoles/far2l\n```\n * With TTY backend only:\n```sh\nbrew install --HEAD yurikoles/yurikoles/far2l --without-wxwidgets\n```\n * Additionally you can enable python support by adding `--with-python@3.13` to the one of two above commands.\n\n##### Full macOS build from sources (harder):\nSome issues can be caused by conflicting dependencies, like having two versions of wxWidgets, so avoid such situation when installing dependencies.\n\n * Clone:\n```sh\ngit clone https://github.com/elfmz/far2l\ncd far2l\n```\n * Install needed dependencies with MacPorts:\n``` sh\nsudo port install cmake pkgconfig wxWidgets-3.2 libssh openssl libxml2 uchardet neon samba4\nexport PKG_CONFIG_PATH=/opt/local/lib/pkgconfig\n```\n * OR if you prefer to use brew packages, then:\n```sh\nbrew bundle -v\nexport PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH:$(brew --prefix)/opt/openssl/lib/pkgconfig:$(brew --prefix)/opt/libarchive/lib/pkgconfig\"\n```\n * After dependencies installed - you can build far2l:\n_with make:_\n```sh\nmkdir _build\ncd _build\ncmake -DCMAKE_INSTALL_PREFIX=/usr/local -DUSEWX=yes -DCMAKE_BUILD_TYPE=Release ..\ncmake --build . -j$(sysctl -n hw.logicalcpu)\n``` \n_or with ninja:_\n```sh\nmkdir _build\ncd _build\ncmake -DCMAKE_INSTALL_PREFIX=/usr/local -DUSEWX=yes -DCMAKE_BUILD_TYPE=Release -G Ninja ..\ncmake --build .\n```\n * Then you may create .dmg package by running: `cpack` command.\nNote that this step sometimes fails and may succeed from not very first attempt.\nIts recommended not to do anything on machine while cpack is in progress.\nAfter .dmg successfully created, you may install it by running `open ...path/to/created/far2l-*.dmg`\n\n##### macOS workaround if far2l in macOS regularly asks permission to folders\nAfter command\n```\n sudo codesign --force --deep --sign - /Applications/far2l.app\n```\nit is enough to confirm permission only once.\n\nDetails see in [`issue`](https://github.com/elfmz/far2l/issues/1754).\n\n#### Building on Gentoo (and derivatives)\nFor absolute minimum you need:\n```\nemerge -avn dev-libs/libxml2 app-i18n/uchardet dev-util/cmake\n```\nIf you want to build far2l with wxGTK support also install it:\n```\nemerge -avn x11-libs/wxGTK\n```\nAdditionally, for NetRocks you will need:\n```\nemerge -avn net-libs/neon net-libs/libssh net-fs/libnfs net-fs/samba\n```\nAfter installing, follow Clone and Build section above.\n\n#### Installing on [NixOS](https://nixos.org/) or Nix for Linux or macOS\n\nTo 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/Channel_branches).\n\nThe Far2l adaptation for _nix_ is [a small file on GitHub](https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/fa/far2l/package.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.\n\n\n#### Custom Building and Installing on [NixOS](https://nixos.org/) or Nix for Linux or macOS from scratch\n\n1) Copy [packaging/NixOS/far2lOverlays.nix](https://github.com/elfmz/far2l/blob/master/packaging/NixOS/far2lOverlays.nix) to your Nix configuration folder\n2) Add it as import to 'configuration.nix'\n3) Optionally you could change a revision in [far2lOverlays.nix](https://github.com/elfmz/far2l/blob/master/packaging/NixOS/far2lOverlays.nix) to whatever you want (read the comments in the nix file, all the fields you need to change are commented)\n4) update with 'nixos-rebuild switch'\n\n#### IDE Setup\nYou 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.\n\n * **QtCreator**: select \"Open Project\" and point QtCreator to the CMakeLists.txt in far2l root directory\n * **CLion**: the same as **QtCreator**.\n * **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)\n * **Visual Studio Code** (required _CMake Tools extension_): open far2l root directory (by default building in subdirectory `_build`; you can change in `.vscode/settings.json`)\n\n\u003ca name=\"terminals\"\u003e\u003c/a\u003e\n## Compatible Terminals and SSH clients\n\n_Note_: to full transfer extended keyboard shortcuts and the clipboard to/from the **remote far2l**\none of the best way to initiate the connection **inside local far2l-GUI**\n(see details about _TTY|F backend_ in build-in help section **UI backends**).\n\nTerminals/SSH clients with support extended far2l keyboard shortcuts and clipboard access:\n\n * **kovidgoyal's kitty** (Linux/BSD, macOS): https://github.com/kovidgoyal/kitty \u0026 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)\n * **Alacritty** (Linux/BSD, macOS, Windows): https://github.com/alacritty/alacritty \u0026 https://alacritty.org/ (_TTY|k backend_: keys by kovidgoyal's kitty keyboard protocol; turn on OSC 52 in far2l for clipboard support) [in Windows in system must be conpty.dll: https://github.com/alacritty/alacritty/issues/8360]\n * **Rio Terminal** (Linux/BSD, macOS, Windows): https://github.com/raphamorim/rio \u0026 https://raphamorim.io/rio/ (_TTY|k backend_: keys by kovidgoyal's kitty keyboard protocol; turn on OSC 52 in far2l for clipboard support)\n * **Ghostty** (Linux, macOS): https://github.com/ghostty-org/ghostty \u0026 https://ghostty.org/ (_TTY|k backend_: keys by kovidgoyal's kitty keyboard protocol; turn on OSC 52 in far2l for clipboard support)\n * **Wez's Terminal Emulator** (Linux/BSD, Windows): https://github.com/wez/wezterm \u0026 https://wezfurlong.org/wezterm (_TTY|k backend_: keys in Linux/BSD 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 \u0026 Windows]\n * **iTerm2** (macOS): https://gitlab.com/gnachman/iterm2 \u0026 https://iterm2.com (_TTY|a backend_: keys by iTerm2 \"raw keyboard\" protocol; turn on OSC 52 for clipboard support)\n * **foot** (Linux Wayland only): https://codeberg.org/dnkl/foot (_TTY|k backend_: keys by kovidgoyal's kitty keyboard protocol; turn on OSC 52 in far2l for clipboard support)\n * **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 )\n\n * _Original PuTTY_ does _not correctly send some keyboard shortcuts_. Please use putty forks with _special far2l TTY extensions support (fluent keypresses, clipboard sharing etc)_:\n    + **putty4far2l** (Windows ssh-client): https://github.com/ivanshatsky/putty4far2l/releases \u0026 https://github.com/unxed/putty4far2l (_TTY|F backend_: keys and clipboard by FAR2L TTY extensions support)\n    + **cyd01's KiTTY** (Windows ssh-client): https://github.com/cyd01/KiTTY \u0026 https://www.9bis.net/kitty (_TTY|F backend_: keys and clipboard by FAR2L TTY extensions support)\n    + **putty-nd** (Windows ssh-client): https://sourceforge.net/projects/putty-nd \u0026 https://github.com/noodle1983/putty-nd (_TTY|F backend_: keys and clipboard by FAR2L TTY extensions support)\n    + **PuTTY 0.82+**: since 0.82 in vanilla PuTTY you can set keyboard settings `Xterm 216+` and `xterm-style bitmap` (see: https://github.com/elfmz/far2l/issues/2630 ),\nbut vanilla PuTTY can not transfer clipboard.\n\n\u003ca name=\"useful3party\"\u003e\u003c/a\u003e\n## Useful 3rd-party extras\n\n * A collection of macros for far2l: https://github.com/corporateshark/far2l-macros\n * Turbo Vision, TUI framework supporting far2l terminal extensions: https://github.com/magiblot/tvision\n * turbo, text editor supporting far2l terminal extensions: https://github.com/magiblot/turbo\n * far2ltricks: https://github.com/unxed/far2ltricks\n    * tool to import color schemes from windows FAR manager 2 .reg format: https://github.com/unxed/far2ltricks/blob/main/misc/far2l_import.pl\n\n * External far2l plugins:\n    + **jumpword** (far2l editor plugin for quick searching the word under cursor): https://github.com/axxie/far2l-jumpword/\n    + **netcfg** (far2l net interfaces configuration plugin): https://github.com/VPROFi/netcfgplugin\n    + **sqlplugin** (far2l sql db (sqlite, etc..) plugin): https://github.com/VPROFi/sqlplugin\n    + **processplugin** (far2l processes plugin): https://github.com/VPROFi/processes\n    + **far-gvfs (gvfspanel)** (far2l plugin to work with Gnome VFS): https://github.com/cycleg/far-gvfs\n\n * **far2m** is fork with FAR3 macro system (Lua) and extended plugins: https://github.com/shmuz/far2m\n\n * **Community wiki \u0026 tips** (in Russian; unofficial): https://github.com/akruphi/far2l/wiki\n\n\u003ca name=\"community_bins\"\u003e\u003c/a\u003e\n## Community packages \u0026 binaries\n\n _They are mainteined by enthusiasts and may be not exact with master: sometimes has extra plugins, sometimes has tweak, etc._\n\n * **Portable** (_with TTY X/Xi backend_) | **AppImage** (_with wx-GUI and some extra plugins_): https://github.com/spvkgn/far2l-portable/releases\n * **Ubuntu** and **Mint** from PPA with fresh far2l: https://launchpad.net/~far2l-team/+archive/ubuntu/ppa\n\n    - \u003cdetails\u003e\u003csummary\u003etips for toggle between repositories PPA and official Ubuntu \u003csub\u003e[\u003ci\u003eclick to expand/collapse\u003c/i\u003e]\u003c/sub\u003e\u003c/summary\u003e\n\n        - **Tranfser to binaries from PPA repository**\n\n            ```shell\n            sudo apt remove far2l*                      # required if any far2l was installed\n            sudo apt install software-properties-common # required if add-apt-repository not installed\n            sudo add-apt-repository ppa:far2l-team/ppa\n            #sudo apt install far2l-gui  # (!) use if you need plain+GUI backends\n            #sudo apt install --no-install-recommends far2l-ttyx # (!) use if you need plain+TTY|Xi backends\n            #sudo apt install --no-install-recommends far2l      # (!) use if you need only plain backend\n            ```\n\n        - Disconnection PPA and **return to official [Ubuntu](#debian) repository**\n\n            ```shell\n            sudo apt remove far2l*                      # required if any far2l was installed\n            sudo apt install software-properties-common # required if add-apt-repository not installed\n            sudo add-apt-repository --remove ppa:far2l-team/ppa\n            #sudo apt install far2l-wx  # (!) use if you need plain+TTY|Xi+GUI backends\n            #sudo apt install far2l     # (!) use if you need plain+TTY|Xi backends\n            #sudo apt install --no-install-recommends far2l  # (!) use only since 2.6.5~ds-3 in 25.10 if you need only plain backend\n            ```\n\n    \u003c/details\u003e\n\n * **Fedora** and **CentOS**: https://copr.fedorainfracloud.org/coprs/polter/far2l\n * **OpenSUSE**, **Fedora**, **Debian**, **Ubuntu**: https://download.opensuse.org/repositories/home:/viklequick/ \u003cbr\u003e\n    \u003csub\u003e(contain separate packages with external plugins;\u003cbr\u003ein `sources.list` you may add: `deb https://downloadcontentcdn.opensuse.org/repositories/home:/viklequick/\u003cos-version\u003e ./`)\u003c/sub\u003e\n * **OpenWrt**: https://github.com/spvkgn/far2l-openwrt\n * **Termux**: https://github.com/spvkgn/far2l-termux\n * **Flatpak**: https://github.com/spvkgn/far2l-flatpak \u003csub\u003e(access only to part of real filesystem via sandbox)\u003c/sub\u003e\n\n See also in https://github.com/elfmz/far2l/issues/647\n\n## Notes on porting and FAR Plugin API changes\n * See [HACKING.md](HACKING.md)\n\n## Known issues:\n* Only valid translations are English, Russian, Ukrainian and Belarussian (interface only), all other languages require deep correction.\n","funding_links":[],"categories":["Desktop apps","C","Files and Directories","Table of Contents","C++","Applications","terminal","\u003ca name=\"file-manager\"\u003e\u003c/a\u003eFile manager"],"sub_categories":["File managers and tools","File Managers","🛠️ Utilities (79)","Utilities"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felfmz%2Ffar2l","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felfmz%2Ffar2l","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felfmz%2Ffar2l/lists"}