LinuxSCP
LinuxSCP icon: a penguin with transfer arrows

The only app I was sad to lose when I switched to Linux.

LinuxSCP is a dual-pane, commander-style SFTP client for GNOME — a WinSCP for Linux. It reads your ~/.ssh/config, elevates to root with sudo or su -, and resumes transfers that drop mid-copy. Free and open source, forever.

GTK4 + libadwaita Rust GPL-3.0-or-later Uses your real ssh

A stylized impression, not a screenshot — install it below to see the real thing.

Why I made this

When I finally moved from Windows to Linux, almost nothing hurt. Everything I used either ran natively or had a Linux equivalent that was close enough. One app was the exception: WinSCP. It was the only piece of software I was genuinely sad to leave behind.

FileZilla is awesome — it just isn't WinSCP.

What I missed wasn't a feature list. It was the shape of the thing: two panes, local on the left, server on the right, F5 to copy, editing root-owned files through sudo without touching the server's config. Ten years of muscle memory with nowhere to go.

So now there's LinuxSCP: that same commander layout, built native for GNOME, on top of the OpenSSH you already have configured.

How it was built

LinuxSCP was built using agentic coding while I worked my main job — the dual panes, the ~/.ssh/config integration, the sudo/su elevation, the resumable transfer queue, the tests.

I use it every day on Debian 13 (Trixie) with GNOME to move files to and from my servers. Every line is GPL, in the open, so you can audit exactly what was written — and it never reimplements SSH: it drives your system's real ssh binary, so your keys, agents, aliases and jump hosts work untouched.

What it does

Dual-pane commander

Local on one side, remote on the other. Tab to switch, F5 to copy, drag and drop if you insist on using the mouse — and tabs along the top for as many sessions as you need.

Your ~/.ssh/config just works

Aliases, ProxyJump, ControlMaster, identity files, agents and hardware keys — LinuxSCP spawns your real ssh, so zero re-configuration.

Root file management

Connect as yourself, elevate with sudo or su -, WinSCP-style. No sshd_config changes, no root logins enabled.

Transfers that survive

Interrupted files stage as .filepart and resume from the exact byte where they stopped — across reconnects.

A real queue

Progress, speed and ETA; pause, resume and cancel; recursive directory copies; and overwrite / resume / skip prompts on conflicts. Scanning and copying run in parallel, so big trees start moving instantly.

Little comforts

A site manager with folders and search, "open terminal here" (locally or ssh'd into the host), a right-click menu with copy/paste, a properties dialog for permissions, owner and group, hidden-file toggle, reconnect on drop.

Muscle memory included

If your fingers know WinSCP or Norton Commander, they already know LinuxSCP.

TabSwitch active pane
F5Copy to other pane
EnterOpen directory
F6Move to other pane
BackspaceParent directory
F7New directory
F2Rename
F8 / DelDelete
F9Properties — permissions, owner, group
Ctrl+HToggle hidden files
Ctrl+C / Ctrl+VCopy and paste files
Ctrl+TOpen terminal here
Ctrl+LEdit path

Get it

Debian / Ubuntu — download the .deb

Grab the latest build, then let apt handle dependencies:

sudo apt install ./linuxscp_amd64.deb

Compatibility: needs Debian 13 "Trixie", Ubuntu 24.04 LTS, or anything newer (including derivatives like Mint 22), with GTK4 ≥ 4.12 and libadwaita ≥ 1.5 — in practice, a distro from 2024 onward. Don't worry about getting it wrong: apt checks all of this and politely refuses rather than half-installing. On an older or non-Debian distro, build from source or use the Flatpak below. Versioned builds and checksums live on the releases page. I daily-drive the x86-64 build on Debian 13 + GNOME.

Or build the .deb yourself

# dependencies (plus a Rust toolchain)
sudo apt install libgtk-4-dev libadwaita-1-dev build-essential

git clone https://github.com/theflyingjay/linuxscp.git
cd linuxscp
make deb
sudo apt install ./target/deb/linuxscp_*_amd64.deb

Run from source (any distro)

# Fedora: sudo dnf install gtk4-devel libadwaita-devel
# Arch:   sudo pacman -S gtk4 libadwaita
cargo run -p linuxscp

Flatpak

flatpak-builder --user --install build build-aux/io.github.theflyingjay.LinuxSCP.json

The maintenance plan, honestly

I will support LinuxSCP for as long as I'm employed and need to move files between machines without remembering CLI flags. I'm lazy, which makes this load-bearing software in my life — that's a stronger guarantee than most roadmaps.

And if I ever do disappear: it's GPL-3.0. The code is yours. Fork it, fix it, keep it alive.