Easily manage Samba shares across different operating systems.
Share a folder from Linux and open it on a Mac, Windows or your phone. Nothing on the other end needs SMBPal. Set it up once; it survives reboots, sleep and Wi‑Fi drops.
See install stepsShare a folder from one PC to another.
Install SMBPal
Installation is tailored for each operating system.
Any apt-based distribution with Python 3.11 or newer.
- Tested
- Raspberry Pi OS Trixie, on a Raspberry Pi 4
- Ubuntu 26.04, in a virtual machine
- Raspberry Pi OS Bookworm, on a Raspberry Pi 4
- Debian 12, in a virtual machine
- Debian 13, in a virtual machine
- Linux Mint 22.3 Cinnamon, in a virtual machine
- Pop!_OS 24.04 COSMIC, in a virtual machine
- Checked in CI, not run on a desktop
- Ubuntu 24.04
- Expected to work, not tested
- Ubuntu 25.10
- Linux Mint 22.3 MATE and Xfce
- Too old
- Ubuntu 22.04, which has Python 3.10
- Raspberry Pi OS Bullseye, which has Python 3.9
Download and install the package
The whole thing is 157 KB. apt resolves the four dependencies (Samba,
samba-common-bin,cifs-utilsand polkit) on its own.Download smbpal_0.2.7_all.deb, then open a terminal and run these. If your browser saved it somewhere other than Downloads, go to that folder instead.
cd ~/Downloads sudo apt install ./smbpal_0.2.7_all.debapt install ./…rather thandpkg -i, which stops on unmet dependencies and leaves the package half-configured. The leading./is load-bearing: without a slash, apt reads the argument as a package name.Add yourself to the smbpal group
This step is required. Group membership is what lets you talk to a daemon running as root, so granting it is the machine administrator’s decision, not an installer’s. Skip it and SMBPal opens but can’t reach the daemon.
sudo usermod -aG smbpal $USERLog out, then back in
Group membership only takes effect on your next session. A reboot works too. Then launch SMBPal from your applications menu. On a machine with no screen, drive it over SSH with the command line.
One file installs on arm64, armhf and amd64, because the package is Architecture: all, so there is no version to choose. But “has no reason to fail” and “has been tested” are not the same claim, which is what the list above is for.
Full source and release notes are on GitHub, alongside the GPL-3.0-or-later licence text.
An .rpm for Fedora. Arch and openSUSE have no package yet.
- Tested
- Fedora 44 Workstation, in a virtual machine
- Checked in CI, not run on a desktop
- Fedora 43
Download and install the package
One build per Fedora release. Take the one matching yours; the package itself is
noarch, so there is no architecture to choose.- smbpal-0.2.7-1.fc44.noarch.rpm for Fedora 44
- smbpal-0.2.7-1.fc43.noarch.rpm for Fedora 43
Then open a terminal and run this. dnf resolves the dependencies (Samba,
cifs-utilsand polkit) on its own.cd ~/Downloads sudo dnf install ./smbpal-0.2.7-1.fc44.noarch.rpmAdd yourself to the smbpal group
This step is required. Group membership is what lets you talk to a daemon running as root, so granting it is the machine administrator’s decision, not an installer’s. Skip it and SMBPal opens but can’t reach the daemon.
sudo usermod -aG smbpal $USERStart the daemon, and Samba
A Fedora package never starts a service, which is a deliberate difference from Debian and applies to both of these. Samba is installed as a dependency and left stopped: a folder you share before it runs is set up correctly and reachable by nobody.
sudo systemctl enable --now smbpald sudo systemctl enable --now smbThe second is only needed if you want to share folders from this machine. SMBPal tells you when Samba is stopped rather than leaving you to find out from another device.
Log out, then back in
Group membership only takes effect on your next session. A reboot works too. Then launch SMBPal from your applications menu. On a machine with no screen, drive it over SSH with the command line.
Sharing a folder from your home directory needs one more command. SELinux only lets Samba serve folders labelled for it, and a folder in your home directory is not: the share will mount and ask for your password and then refuse to save anything. SMBPal prints the two commands that fix it when you add the share.
GNOME shows no tray icons without an extension, so SMBPal has none until you install one. The window says how, once, and nothing is missing without it.
Full source and release notes are on GitHub, alongside the GPL-3.0-or-later licence text.
Ships as a Homebrew formula from smbpal/tap once OS shares reach macOS. Three commands rather than two, because Homebrew asks you to trust a third-party tap before installing from it. No separate signed app in the first release.
Watch the smbpal GitHub org for release notifications.
Ships as a signed installer with the background service and the command line. The window follows in a later release.
Watch the smbpal GitHub org for release notifications.
Ships through Google Play once the mobile client is built. Browsing and downloading from a share first, uploading after.
Watch the smbpal GitHub org for release notifications.
Ships through the App Store once the mobile client and its licensing review are both settled.
Watch the smbpal GitHub org for release notifications.
No screen on the Pi? Use the command line.
A Pi acting as a NAS usually has no monitor, so SMBPal ships the same functionality as a command line tool. SSH in and set a share up in two commands. The same daemon, the same configuration, the same shares the window would have made.
smbpal status says what is configured and what state it is in. smbpal browse finds SMB servers on the network, smbpal connection add mounts one, and --json on any command gives machine-readable output for a script.
Changing what the machine shares needs authorisation, over SSH as much as at the desk. SMBPal asks polkit and prompts in the terminal through pkttyagent; every allow and every refusal is written to the audit log.
ssh pi@nas.local
# an SMB password for an existing system account
smbpal credential set pi
# share a folder, served as that account
smbpal share add Backup /srv/backup --user pi
smbpal statusCheck what you downloaded
Both files are on the release page beside the package.
sha256sum -c SHA256SUMS
gh attestation verify smbpal_0.2.7_all.deb --repo smbpal/smbpal-desktopThe checksum proves the file arrived intact. It does not prove it is ours. Anyone able to replace the package could replace the checksum beside it. The attestation is the one that proves provenance: it ties this exact file to the workflow run that built it. Neither is a substitute for a signed apt repository, which is the difference between something you may remember to check and something apt checks for you.
What it does
Share. Allow a folder on your device to be accessed from any other device on your network, the way Explorer or Finder already expect.
Connect. Reach a folder shared by another machine, whether that’s an OS share or one served by another device running SMBPal.
From a window, a tray icon, or a command line over SSH. The same daemon and the same configuration behind all three.
Set it up once. It survives reboots, sleep and the Wi‑Fi dropping.
What it doesn’t
It isn’t a sync tool. Nothing is copied or kept in step the way Dropbox or Syncthing would.
It never reaches the public internet. Sharing stays on your own network by design, not by accident.
It doesn’t manage users beyond one credential per share. No domains, no permission trees.