Use Ferdium to Wrangle Many Messaging Apps
Ferdium puts Slack, WhatsApp, Discord, and 200+ other services in one sandboxed window. Learn how to set up services, workspaces, and notifications on Linux.
Before you start
- ▸A graphical desktop environment (GNOME, KDE, XFCE, etc.)
- ▸sudo / root access for package installation
- ▸Accounts for the messaging services you want to add
Ferdium is a free, open-source desktop messaging aggregator that lets you run Slack, WhatsApp, Discord, Gmail, Telegram, and dozens of other services inside a single window. It is a community fork of Franz and Ferdi, fixing the account-wall and adding features like workspaces, locking, and fine-grained notification control. If you are currently juggling five browser tabs or switching between Rambox and Franz, Ferdium is worth the migration.
Installing Ferdium
Ferdium ships as an AppImage, a .deb, and an .rpm. Pick the one that fits your distro. Always grab the latest release from the official GitHub releases page — the version numbers below will be outdated by the time you read this.
Debian / Ubuntu
wget https://github.com/ferdium/ferdium-app/releases/latest/download/Ferdium-linux-x.x.x-amd64.deb -O ferdium.deb
sudo apt install ./ferdium.deb
Fedora / RHEL / Rocky
wget https://github.com/ferdium/ferdium-app/releases/latest/download/Ferdium-linux-x.x.x-x86_64.rpm -O ferdium.rpm
sudo dnf install ./ferdium.rpm
Arch Linux (AUR)
paru -S ferdium-bin
AppImage (any distro)
chmod +x Ferdium-linux-x.x.x.AppImage
./Ferdium-linux-x.x.x.AppImage
On Wayland, Ferdium runs via XWayland by default and works fine. If you see blurry text under a HiDPI display, launch it with --enable-features=UseOzonePlatform --ozone-platform=wayland appended to the desktop file's Exec line. Edit the file at ~/.local/share/applications/ferdium.desktop after installation.
First Launch: Skip the Account or Log In
Ferdium no longer requires an account. On first launch choose Use without an account if you want fully local, offline-synced config. Creating a free account enables encrypted cloud sync of your services and workspaces across machines — useful but optional. Everything in this guide works with either choice.
Adding Services
A service in Ferdium is a sandboxed web-app instance. Each one runs in its own Electron webview with its own cookie store, so you can log in to two different Slack workspaces as separate services without interference.
- Click the + button at the bottom of the left sidebar.
- Search for your app — Slack, WhatsApp Web, Telegram Web, Discord, Gmail, Google Calendar, Notion, etc. Ferdium ships with over 200 service recipes.
- Give the service a friendly name and configure service-specific options (custom URL for self-hosted tools, for example).
- Click Add Service. The service icon appears in the sidebar immediately.
For services not in the catalog, use the Custom Website recipe. Enter any URL and Ferdium wraps it in a sandboxed webview. This works for internal tools, Gitea instances, or anything web-based.
Running Multiple Accounts for the Same Service
Add the same service twice. Name them clearly (e.g., "Slack – Work" and "Slack – OSS"). Because each service gets an isolated webview session, cookies do not bleed between instances. This is the main reason to prefer Ferdium over a standard browser with multiple tabs.
Workspaces
Workspaces let you group services and switch between contexts with a single click — for example, a Work workspace showing Slack, Gmail, and Jira, and a Personal workspace showing Signal, WhatsApp, and Mastodon.
- Open Edit > Workspaces Drawer or press Ctrl+Shift+S to open the workspace panel.
- Click Add new workspace, give it a name.
- Check which services belong to it. A service can appear in multiple workspaces.
- Switch workspaces via the drawer or the keyboard shortcut Ctrl+1 through Ctrl+9.
When you switch workspaces, Ferdium hides the unrelated services in the sidebar — they keep running in the background and still receive messages and notifications, they just aren't shown. If you want services to pause when not in the active workspace, go to Settings > Workspaces and enable Keep only active workspace services running. This reduces RAM use noticeably on machines with 8 GB or less.
Notifications
Ferdium forwards desktop notifications from each service through the native notification system (libnotify on Linux, which integrates with GNOME, KDE, and most other desktops). Per-service control is the key feature here.
- Right-click any service icon in the sidebar and choose Notification settings to disable badge counts, audio alerts, or desktop popups individually.
- The global mute toggle (Ctrl+Shift+M) suppresses all notifications across all services at once — useful during focused work or meetings.
- Under Settings > Notifications you can enable Do Not Disturb on a schedule (e.g., mute everything after 18:00).
If notifications are not appearing on your desktop, verify that libnotify is installed and that Ferdium has notification permission in your desktop environment's settings. On KDE Plasma, check System Settings > Notifications > Application Settings > Ferdium.
Sandboxing and Privacy
Each service runs in an isolated Electron webview partition. Sessions do not share cookies, localStorage, or IndexedDB across services. This is not a security sandbox in the AppArmor/seccomp sense — Ferdium is an Electron app and has the same trust model as Chromium. However, service isolation does prevent cross-service tracking via cookies.
For stronger process isolation you can run Ferdium inside a Flatpak sandbox (check Flathub for availability) or wrap the AppImage with bubblewrap. For most desktop users the built-in session isolation is sufficient.
Ferdium itself does not phone home or inject ads. The optional account server is self-hostable — see the ferdium-server repo if you want full control over sync.
Migrating from Franz or Rambox
Ferdium is a drop-in replacement for Franz and Ferdi. It reads Franz's configuration directory directly.
From Franz / Ferdi
# Franz stores data here; Ferdium will import it automatically on first run
ls ~/.config/Franz/
# Or for Ferdi:
ls ~/.config/Ferdi/
On first launch with no Ferdium config present, Ferdium detects an existing Franz or Ferdi directory and offers to import services and settings. Accept the prompt and all your configured services, workspaces, and accounts transfer over. You will need to log back in to each service since session cookies are not portable.
From Rambox
Rambox uses a different internal format, so there is no automatic import. Export your Rambox service list via File > Export as a reference, then add each service manually in Ferdium. It takes ten minutes for a typical setup and is worth doing because Ferdium's workspace and notification controls are more capable than Rambox's free tier.
Autostart with systemd (User Service)
Rather than relying on the desktop session's autostart folder, you can manage Ferdium with a systemd user service for more reliable startup ordering.
mkdir -p ~/.config/systemd/user
cat > ~/.config/systemd/user/ferdium.service << 'EOF'
[Unit]
Description=Ferdium messaging aggregator
After=graphical-session.target
[Service]
Type=simple
ExecStart=/usr/bin/ferdium --hidden
Restart=on-failure
Environment=DISPLAY=:0
[Install]
WantedBy=graphical-session.target
EOF
systemctl --user enable --now ferdium.service
The --hidden flag starts Ferdium minimized to the system tray so it doesn't steal focus on login. Remove it if you prefer it to open fully. Check status with systemctl --user status ferdium.service.
Verification
After setup, confirm everything is working:
- Each service icon in the sidebar loads without a white screen (if one hangs, right-click it and choose Reload Service).
- Send a test message from another device and confirm the badge count increments and a desktop notification appears.
- Switch workspaces and verify only the expected services are visible in the sidebar.
- Press Ctrl+Shift+M to toggle global mute and confirm the mute icon appears in the sidebar.
Troubleshooting
A service shows a blank white page
Right-click the service icon and select Clear cache, then reload. If the problem persists, the underlying website may have changed its URL or Content Security Policy. Check the ferdium-recipes repo for an updated recipe.
High memory usage
Enable Keep only active workspace services running under Settings > Workspaces. Each inactive service still exists but its webview is suspended. Expect roughly 150–250 MB per active service on a typical load.
Notifications not delivered on Wayland
Ensure xdg-desktop-portal and the backend for your desktop (xdg-desktop-portal-gnome or xdg-desktop-portal-kde) are installed and running. Ferdium routes notifications through the portal when running under Wayland/Ozone.
Spell-check not working
Ferdium uses Electron's built-in spell-check. Go to Settings > General and set your preferred language. On some distros you may also need to install hunspell dictionaries: sudo apt install hunspell-en-us or the equivalent for your language.
Frequently asked questions
- Is Ferdium truly free, or does it lock features behind a subscription?
- Ferdium is fully free and open-source under the Apache 2.0 license. There is no subscription, no feature paywall, and no ad injection — this is what separates it from the commercial tiers of Franz and Rambox.
- How much RAM does Ferdium use with many services open?
- Expect roughly 150–250 MB per active service, plus the base Electron overhead of around 200 MB. Enabling 'Keep only active workspace services running' in Settings suspends inactive services and cuts memory use significantly.
- Can I use Ferdium with self-hosted apps like Nextcloud Talk or Gitea?
- Yes. Use the Custom Website recipe, enter your internal URL, and Ferdium wraps it in a sandboxed webview. This works for any web-based tool accessible from your machine.
- Does Ferdium work on Wayland without XWayland?
- It works natively on Wayland when you add --enable-features=UseOzonePlatform --ozone-platform=wayland to the Exec line in the desktop file. Without that flag it falls back to XWayland, which also works but may look slightly blurry on HiDPI displays.
- What happens to my data if the Ferdium project is abandoned?
- Your service sessions are stored locally in ~/.config/Ferdium/. You would lose workspace sync if the cloud server went down, but the app itself is open-source and you can self-host the sync server (ferdium-server) or simply continue using it in local mode indefinitely.
Related guides
Linux Clipboards Explained (+ Clipboard Managers)
Learn the difference between Linux's PRIMARY and CLIPBOARD selections, use xclip, xsel, and wl-clipboard from the terminal, and manage history with GPaste or Klipper.
Configure LibreOffice for Daily Use
Configure LibreOffice for daily use: set default save formats for MS Office interop, tune autosave, install fonts, and add productivity extensions.
Configure the Touchpad and Multitouch Gestures
Configure Linux touchpad behavior and multitouch gestures using libinput, libinput-gestures, and native GNOME and KDE Plasma settings on both Wayland and X11.
Wayland vs X11: How to Choose and Configure Each
Know when to run Wayland or X11, how to check your current session, switch at login with GDM/SDDM/LightDM, and handle NVIDIA and XWayland edge cases.