Skip to content

In this example we will install nnn (n³) - a full-featured terminal file manager. It's tiny, nearly 0-config and incredibly fast. It is designed to be unobtrusive with smart workflows to match the trains of thought.

nnn is a terminal-based application without a graphical user interface.

Info

nnn can be installed in any workspace. We will use Codeserver workspace v.5.0 for this example.

Install

We can download nnn from the nnn releases page. Sometimes it is not obvious which binary to dowload. The workspace is based on Ubuntu image, hence Debian application binary packages are the right choice.

Open workspace terminal, and execute

$ cd /tmp 
08:01:30 with <font color="#FDEB61">abc</font> in <font color="#37E6E8">/tmp</font> <font color="#98E242">➜</font>

$ wget https://github.com/jarun/nnn/releases/download/v4.6/nnn-static-4.6.x86_64.tar.gz

nnn-static-4.6.x86_64.tar.gz.1      100%[=================================>] 626.85K   505KB/s    in 1.2s    

2022-09-06 18:15:26 (505 KB/s) - ‘nnn-static-4.6.x86_64.tar.gz.1’ saved [641894/641894]

Extract the file from tar file

$ tar -xzf nnn-static-4.6.x86_64.tar.gz
08:01:31 with <font color="#FDEB61">abc</font> in <font color="#37E6E8">/tmp</font> <font color="#98E242">➜</font>

We have extracted a file nnn-static. Let's make it executable

$ chmod +x nnn-static
08:01:31 with <font color="#FDEB61">abc</font> in <font color="#37E6E8">/tmp</font> <font color="#98E242">➜</font>

Now we can move the binary to the folder, which is included in the $PATH environmental variable. It can be either /home/abc/bin/ or /home/abc/.local/bin/

$ mv nnn-static /home/abc/bin/nnn
08:01:32 with <font color="#FDEB61">abc</font> in <font color="#37E6E8">/tmp</font> <font color="#98E242">➜</font>

Great! We can now start nnn by executing nnn -dHe in the terminal.

We can also install all the nnn plugins

$ curl -Ls https://raw.githubusercontent.com/jarun/nnn/master/plugins/getplugs | sh

...
'./autojump' -> '../../plugins/autojump'
'./suedit' -> '../../plugins/suedit'
'./kdeconnect' -> '../../plugins/kdeconnect'
'./gpgd' -> '../../plugins/gpgd'