How to Install AnyDesk on Debian 13, 12 and 11

Install AnyDesk on Debian 13, 12, or 11 with the official APT repository, then verify the service, update, remove, and fix source or Wayland issues.

Last updatedAuthorJoshua JamesRead time6 minGuide typeDebian

Remote desktop tools are easiest to maintain on Debian when the client updates through APT instead of one-off downloads. On Debian 13 (trixie), Debian 12 (bookworm), and Debian 11 (bullseye), the official AnyDesk APT repository installs the current client, enables the AnyDesk service, and keeps updates tied to normal package maintenance.

Install AnyDesk on Debian

AnyDesk is proprietary software and is not included in Debian’s default repositories. The manual repository method is recommended because it follows AnyDesk’s current keyring location, keeps the APT source visible, and supports the full architecture list published by the official DEB repository.

MethodSourceUpdatesBest For
Manual Repository (Recommended)Official AnyDesk DEB repositoryAPT-managed updatesMost Debian desktops and managed systems
extrepoDebian extrepo catalogAPT-managed updates after catalog setupUsers who already manage third-party repositories with extrepo

The extrepo method installs the same AnyDesk package feed, but its catalog can lag behind AnyDesk’s own repository instructions and currently omits the arm64 AnyDesk entry. Use the manual method unless you specifically want extrepo to manage third-party repository definitions. For a broader extrepo workflow, see managing third-party repos with extrepo on Debian.

AnyDesk also documents direct .deb package installs for Linux. The repository method remains better for maintained Debian desktops because it provides the same package through APT with update tracking; direct packages are better for offline or one-off installs that you plan to update manually.

Use only one installation method. Do not configure both extrepo and the manual repository on the same system. Duplicate AnyDesk sources can create conflicting Signed-By paths or duplicate package-index warnings during apt update. If you switch methods, fully remove the previous repository entry first.

Refresh your package index before adding external repositories:

sudo apt update

Commands that need root privileges use sudo. If your user is not in the sudoers file yet, run them as root or follow the guide on how to add and manage sudo users on Debian.

Install AnyDesk with the Manual Repository

This method uses a DEB822 source file and AnyDesk’s current repository key. Debian 13, 12, and 11 use the same AnyDesk package feed because the repository uses the codename-neutral all suite.

Install AnyDesk Repository Prerequisites

Install the packages needed to use the HTTPS repository and download the signing key:

sudo apt install ca-certificates curl -y

ca-certificates lets APT and curl validate HTTPS connections, while curl downloads the AnyDesk repository key from the official key URL.

Import the AnyDesk Repository Key

Create the APT keyring directory, download the current AnyDesk key, and make it readable by APT:

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://keys.anydesk.com/repos/DEB-GPG-KEY -o /etc/apt/keyrings/keys.anydesk.com.asc
sudo chmod a+r /etc/apt/keyrings/keys.anydesk.com.asc

AnyDesk’s current DEB repository instructions note that systems using repository keys from before February 2, 2025 should refresh their setup. Saving the current key to /etc/apt/keyrings/keys.anydesk.com.asc avoids legacy global trust setups and keeps trust limited to the AnyDesk source file.

Add the AnyDesk Repository

Create a DEB822 source file for the official AnyDesk repository:

printf '%s\n' \
'Types: deb' \
'URIs: https://deb.anydesk.com/' \
'Suites: all' \
'Components: main' \
'Architectures: amd64 i386 armhf arm64' \
'Signed-By: /etc/apt/keyrings/keys.anydesk.com.asc' | sudo tee /etc/apt/sources.list.d/anydesk.sources > /dev/null

The repository uses the codename-neutral all suite, so Debian 13, 12, and 11 consume the same AnyDesk package feed. The Architectures line matches the architectures currently published by the AnyDesk DEB repository.

Install AnyDesk from APT

Refresh APT metadata so Debian sees the newly added AnyDesk repository:

sudo apt update

Confirm that APT resolves AnyDesk from the official repository before installing it:

apt-cache policy anydesk

Expected output should show the AnyDesk repository as the candidate source:

anydesk:
  Installed: (none)
  Candidate: 8.0.2
  Version table:
     8.0.2 500
        500 https://deb.anydesk.com all/main amd64 Packages

AnyDesk updates frequently, so a newer version is normal when the candidate still points to the AnyDesk repository.

Install AnyDesk:

sudo apt install anydesk -y

During a first install, Debian may print Failed to stop anydesk.service: Unit anydesk.service not loaded. before unpacking. That message comes from the package pre-install script trying to stop an older service and is harmless when AnyDesk was not already installed.

Confirm the installed version and package source:

apt-cache policy anydesk
anydesk:
  Installed: 8.0.2
  Candidate: 8.0.2
  Version table:
 *** 8.0.2 500
        500 https://deb.anydesk.com all/main amd64 Packages
        100 /var/lib/dpkg/status

Check that the system service was enabled and started:

systemctl is-enabled anydesk
systemctl is-active anydesk
enabled
active

Install AnyDesk with extrepo

Use extrepo only when you prefer Debian’s external-repository catalog to direct source-file management. The catalog entry enables AnyDesk’s repository and stores its key under extrepo’s managed paths, but it may not expose every architecture that AnyDesk publishes directly.

Install extrepo and Enable Non-Free Policy

Install extrepo from Debian’s repositories:

sudo apt install extrepo -y

Enable extrepo’s non-free policy because AnyDesk uses a proprietary license:

sudo sed -i 's/^# - non-free$/- non-free/' /etc/extrepo/config.yaml

Without this policy, extrepo refuses to enable the AnyDesk entry.

Enable the AnyDesk extrepo Entry

Enable the AnyDesk repository definition from the extrepo catalog:

sudo extrepo enable anydesk

On current Debian releases, extrepo creates /etc/apt/sources.list.d/extrepo_anydesk.sources and stores the AnyDesk key at /var/lib/extrepo/keys/anydesk.asc.

Install AnyDesk via extrepo

Refresh package metadata and install AnyDesk:

sudo apt update
sudo apt install anydesk -y

Verify the installed package source:

apt-cache policy anydesk
anydesk:
  Installed: 8.0.2
  Candidate: 8.0.2
  Version table:
 *** 8.0.2 500
        500 http://deb.anydesk.com all/main amd64 Packages
        100 /var/lib/dpkg/status

On minimal containers or WSL sessions without systemd, AnyDesk installation can fail in the package scripts because the client expects a normal Linux init system. Use a standard Debian desktop, VM, or systemd-enabled container for the full AnyDesk service.

Launch AnyDesk on Debian

Start AnyDesk from a terminal or from your desktop’s application menu.

Launch AnyDesk from Terminal

anydesk

Launch AnyDesk from Applications Menu

Desktop users can also open AnyDesk from the application menu:

  1. Open your desktop’s application menu or Activities view.
  2. Type “AnyDesk” in the search field.
  3. Click the AnyDesk icon to launch the application.

Use AnyDesk Command-Line Options on Debian

AnyDesk’s Linux CLI supports session starts, unattended-access setup, and local client queries. These options are useful for administrators who prepare remote-support systems from a terminal.

Connect to a Remote Device

Start a remote session by passing an AnyDesk ID or alias:

anydesk 123456789

Replace 123456789 with the target device’s AnyDesk ID. Aliases work too:

anydesk myworkstation@ad

Connect with an Unattended Access Password

If the remote device has Unattended Access configured, read the password without leaving it directly in shell history:

read -rsp 'AnyDesk password: ' ANYDESK_PASSWORD
printf '\n'
printf '%s\n' "$ANYDESK_PASSWORD" | anydesk 123456789 --with-password
unset ANYDESK_PASSWORD

Set an Unattended Access Password

Configure a password for Unattended Access on the local Debian machine:

read -rsp 'New AnyDesk password: ' ANYDESK_PASSWORD
printf '\n'
printf '%s\n' "$ANYDESK_PASSWORD" | sudo anydesk --set-password
unset ANYDESK_PASSWORD

Remote users can then connect without manual approval by providing this password. Keep the password in your normal secrets workflow, not in reusable shell scripts or shared notes.

Display Client Information

Query the local AnyDesk client from a terminal:

# Display your AnyDesk ID
anydesk --get-id

# Display your AnyDesk alias if configured
anydesk --get-alias

# Check connection status
anydesk --get-status

Manage AnyDesk on Debian

Update AnyDesk

Because AnyDesk is installed from an APT repository, regular system updates include new AnyDesk packages when upstream publishes them. To update only AnyDesk without upgrading other packages:

sudo apt update
sudo apt install --only-upgrade anydesk

Check the installed and candidate versions after updating:

apt-cache policy anydesk

Remove AnyDesk

Remove AnyDesk and purge system-wide AnyDesk configuration files:

sudo apt remove --purge anydesk

If APT reports orphaned dependencies after removal, review them before accepting the cleanup:

sudo apt autoremove

Remove the AnyDesk Repository

If you do not plan to reinstall AnyDesk, remove the repository entry and key for the method you used.

If you used the manual repository:

sudo rm -f /etc/apt/sources.list.d/anydesk.sources
sudo rm -f /etc/apt/keyrings/keys.anydesk.com.asc

If you used extrepo:

sudo extrepo disable anydesk
sudo rm -f /etc/apt/sources.list.d/extrepo_anydesk.sources
sudo rm -f /var/lib/extrepo/keys/anydesk.asc

Refresh APT metadata after removing repository files:

sudo apt update

Remove User Data

Removing ~/.anydesk permanently deletes your AnyDesk user data, including connection history, saved addresses, and local settings. This cannot be undone.

For a complete per-user cleanup, remove AnyDesk’s user data directory:

rm -rf ~/.anydesk

Verify Removal

After removing the package and repository, confirm APT no longer resolves AnyDesk:

apt-cache policy anydesk
anydesk:
  Installed: (none)
  Candidate: (none)
  Version table:

Troubleshoot AnyDesk on Debian

Fix Unable to Locate Package anydesk

If sudo apt install anydesk reports that the package cannot be located, APT does not have a usable AnyDesk source enabled. Check the package candidate and any existing AnyDesk source entries:

apt-cache policy anydesk
sudo grep -R --line-number "deb.anydesk.com" /etc/apt/sources.list /etc/apt/sources.list.d 2>/dev/null

If the candidate is (none) or the grep command returns no AnyDesk source, repeat the repository setup for the method you want to keep and run sudo apt update before installing again.

Fix Duplicate or Conflicting AnyDesk Sources

Duplicate AnyDesk repository entries can cause apt update errors or duplicate-target warnings, especially after switching between extrepo, manual DEB822 setup, and AnyDesk’s legacy anydesk-stable.list instructions.

E: Conflicting values set for option Signed-By regarding source https://deb.anydesk.com/ all: /var/lib/extrepo/keys/anydesk.asc != /etc/apt/keyrings/keys.anydesk.com.asc
E: The list of sources could not be read.

List AnyDesk source files before deleting anything:

sudo grep -R --line-number "deb.anydesk.com" /etc/apt/sources.list /etc/apt/sources.list.d 2>/dev/null

To keep the manual repository method, remove extrepo and legacy source files:

sudo rm -f /etc/apt/sources.list.d/extrepo_anydesk.sources
sudo rm -f /var/lib/extrepo/keys/anydesk.asc
sudo rm -f /etc/apt/sources.list.d/anydesk-stable.list
sudo apt update

To keep extrepo instead, remove the manual and legacy source files:

sudo rm -f /etc/apt/sources.list.d/anydesk.sources
sudo rm -f /etc/apt/keyrings/keys.anydesk.com.asc
sudo rm -f /etc/apt/sources.list.d/anydesk-stable.list
sudo apt update

Fix Display Server Not Supported Messages

AnyDesk’s Linux support notes list Wayland for outgoing sessions only and Xorg as required for incoming sessions. If AnyDesk opens but cannot provide incoming control, check the current session type:

echo "$XDG_SESSION_TYPE"
wayland

For incoming remote-control sessions, log out and choose an Xorg or X11 session from your display manager, such as “GNOME on Xorg” on a GNOME desktop. After logging back in, restart the AnyDesk service and confirm it is active:

sudo systemctl restart anydesk
systemctl is-active anydesk
active

Conclusion

AnyDesk on Debian is easiest to maintain through the official APT repository because installs, service startup, updates, and removal all stay visible to standard package tools. The extrepo path remains available for users who centralize third-party repository management, while direct .deb downloads are better suited to one-off offline installs. If you need an alternative remote desktop tool, see how to install TeamViewer on Debian. For remote administration basics, see enabling SSH on Debian and configuring UFW on Debian.

Share this guide

Help another Linux user troubleshoot faster

Share this guide with someone troubleshooting Linux systems or saving it for later.

Follow LinuxCapable

Want more LinuxCapable guides in Google?

Add LinuxCapable as a preferred source so Google can show more of our fresh Linux tutorials in Top Stories and From your sources when relevant.

Add LinuxCapable as a preferred source on Google
Search LinuxCapable

Need another guide?

Search LinuxCapable for package installs, commands, troubleshooting, and follow-up guides related to what you just read.

Found this guide useful?

Support LinuxCapable to keep tutorials free and up to date.

Buy me a coffeeBuy me a coffee
Before commenting, please review our Comments Policy.
Formatting tips for your comment

You can use basic HTML to format your comment. Useful tags currently allowed in published comments:

You type Result
<code>command</code> command
<strong>bold</strong> bold
<em>italic</em> italic
<blockquote>quote</blockquote> quote block

Got a Question or Feedback?

We read and reply to every comment - let us know how we can help or improve this guide.

Verify before posting: