INSTALL · LINUX
Install on Linux.
xposed supports Linux on amd64 (x86-64) and arm64 (aarch64). You need curl, and either root or sudo.
The one-line installer#
curl -fsSL https://getxposed.link/install.sh | sh
It uses the package manager it finds: pacman, apt, dnf, zypper or apk. On any other Linux it puts the binaries in /usr/local from a tarball. It downloads the latest release and checks it against the release's SHA256SUMS before installing anything.
Run it again any time to update, or use xposed update. To install a specific release, set XPOSED_VERSION:
curl -fsSL https://getxposed.link/install.sh | XPOSED_VERSION=0.2.3 sh
Installing by hand#
Every release is in https://getxposed.link/dl/<version>/, and the file https://getxposed.link/dl/LATEST holds the newest version number. Package files are named xposed_<version>_linux_<arch>.<ext>, where the architecture is always amd64 or arm64, whatever your package manager calls it.
| Family | File |
|---|---|
| Arch | xposed_<version>_linux_<arch>.pkg.tar.zst |
| Debian, Ubuntu | xposed_<version>_linux_<arch>.deb |
| Fedora, RHEL, openSUSE | xposed_<version>_linux_<arch>.rpm |
| Alpine | xposed_<version>_linux_<arch>.apk |
| Anything else | xposed_<version>_linux_<arch>.tar.gz |
Download a file and check it against the release's checksums (this example is for a .deb on amd64; change the name to match yours):
VERSION=$(curl -fsSL https://getxposed.link/dl/LATEST)
$ curl -fLO https://getxposed.link/dl/$VERSION/xposed_${VERSION}_linux_amd64.deb
$ curl -fsSLO https://getxposed.link/dl/$VERSION/SHA256SUMS
$ grep " xposed_${VERSION}_linux_amd64.deb\$" SHA256SUMS | sha256sum -c -
Then install the package with your package manager:
Arch Linux#
sudo pacman -U xposed_${VERSION}_linux_amd64.pkg.tar.zst
Debian and Ubuntu#
sudo apt install ./xposed_${VERSION}_linux_amd64.deb
Fedora and RHEL#
sudo dnf install ./xposed_${VERSION}_linux_amd64.rpm
openSUSE#
sudo zypper install --allow-unsigned-rpm ./xposed_${VERSION}_linux_amd64.rpm
Alpine#
sudo apk add --allow-untrusted ./xposed_${VERSION}_linux_amd64.apk
The release is signed as a whole (its SHA256SUMS file carries a signature), not each package, which is why zypper and apk are told to accept an unsigned package.
Tarball#
The archive holds xposed and xposedd (they must sit in the same folder), a desktop entry, an autostart entry, an icon and the GNOME Files script. The one-line installer does all of the following for you; by hand:
$ mkdir xposed-tmp && tar -xzf xposed_${VERSION}_linux_amd64.tar.gz -C xposed-tmp && cd xposed-tmp
$ sudo install -Dm755 xposed xposedd -t /usr/local/bin/
$ sudo install -Dm644 xposed-autostart.desktop /etc/xdg/autostart/xposed.desktop
$ sudo sed -i 's|/usr/bin/xposed|/usr/local/bin/xposed|' /etc/xdg/autostart/xposed.desktop
$ sudo setcap cap_net_bind_service=+ep /usr/local/bin/xposedd
The last line is optional: it lets the local dashboard use port 80 (see below).
After installing#
Sign in once with xposed login; Getting started shows what it prints. Check what you have with:
xposed version
Right-click sharing#
The right-click action ships for GNOME Files (Nautilus): right-click a file, then Scripts, then Share with xposed. The one-line installer adds it for you when it finds Files. If you installed a package by hand, add it for your user yourself, because packages can't write to your home folder:
$ mkdir -p ~/.local/share/nautilus/scripts
$ ln -sf /usr/share/xposed/nautilus/share-with-xposed.sh ~/.local/share/nautilus/scripts/"Share with xposed"
(For a tarball install the script is in /usr/local/share/xposed/nautilus/ instead.) Other file managers don't have a right-click action yet. Use the command line there: xposed share <file>.
Starting at login#
The package installs an autostart entry, /etc/xdg/autostart/xposed.desktop, that runs xposed daemon start when you log in to a desktop that supports XDG autostart, such as GNOME. That reconnects your open links after a reboot without you running anything. Any xposed command also starts the daemon if it isn't running.
The local dashboard and port 80#
The daemon serves your dashboard and control panels only to you, at http://xposed.localhost. To use port 80 it needs one Linux capability, which the packages grant when they install. If it can't get port 80, it uses http://xposed.localhost:9767 instead, and the addresses xposed prints say which. Replacing the xposedd file drops the capability; the package's upgrade step puts it back.
Updating#
xposed update
This downloads the latest release, checks its signature and installs it with the same package manager that installed xposed (or swaps the binaries for a tarball install), then restarts the daemon. Your open shares keep their links. To only check whether a newer version exists, use xposed update --check. xposed update works for installs made by the installer or a release package; a build you compiled yourself has to be updated the way you built it.
Uninstalling#
Stop the daemon first, then remove the package.
xposed daemon stop
| Family | Command |
|---|---|
| Arch | sudo pacman -R xposed |
| Debian, Ubuntu | sudo apt remove xposed |
| Fedora, RHEL | sudo dnf remove xposed |
| openSUSE | sudo zypper remove xposed |
| Alpine | sudo apk del xposed |
For a tarball install, remove the files the installer put in place:
$ sudo rm /usr/local/bin/xposed /usr/local/bin/xposedd /usr/local/share/applications/xposed.desktop /etc/xdg/autostart/xposed.desktop /usr/local/share/icons/hicolor/scalable/apps/xposed.svg
$ sudo rm -r /usr/local/share/xposed
Then remove the Files action and your data:
$ rm -f ~/.local/share/nautilus/scripts/"Share with xposed"
$ rm -rf ~/.config/xposed ~/.local/share/xposed ~/.cache/xposed
Removing your data signs this computer out. It deletes your sign-in for this computer, your share history and cached files. The computer still counts toward your limit until you remove it from the dashboard (Remove, next to the computer).