TeamViewer ships one RPM for Fedora. Getting it installed is easy. Getting it to verify, update and accept a session on a current Fedora desktop takes three extra decisions, and the vendor page mentions none of them.
This guide installs TeamViewer on Fedora with its signing key imported first, so the package is actually verified instead of skipped. It covers the TeamViewer repository the RPM drops in, the Wayland screen sharing prompt on GNOME, the account TeamViewer now demands for outgoing connections, and a clean removal. Every command below was run on Fedora 45 and Fedora 44 with the Workstation desktop in October 2026 with TeamViewer 15.82, SELinux enforcing.
What changed on Fedora 45 and Fedora 44
Two platform changes hit TeamViewer directly. Fedora 45 turned on rpm signature enforcement, so a plain rpm -ivh of the TeamViewer RPM now fails until the key is imported. And GNOME on both releases runs Wayland only, with no Xorg login session left to fall back to. We checked both on Fedora 45 and Fedora 44 machines running the Workstation desktop:
| Behaviour | Fedora 45 | Fedora 44 |
|---|---|---|
| rpm package | rpm-6.1.0 | rpm-6.0.1 |
%{_pkgverify_level} | all | digest |
sudo rpm -ivh, key not imported, libminizip already present | Refused: does not verify, NOKEY | Installs unverified |
sudo dnf install ./teamviewer.x86_64.rpm, key not imported | Installs, OpenPGP check skipped | Installs, OpenPGP check skipped |
Same with localpkg_gpgcheck=1, key imported | Installs, signature checked | Installs, signature checked |
| GNOME login sessions | Wayland only (gnome-shell 51) | Wayland only (gnome-shell 50) |
| teamviewerd SELinux domain | unconfined_service_t, 0 AVC denials | unconfined_service_t, 0 AVC denials |
The dnf row is the one people miss. dnf installs a local RPM without checking its signature at all, because localpkg_gpgcheck defaults to 0. The install looks clean, but nothing proved the file came from TeamViewer.
Download the TeamViewer RPM
The download URL below always redirects to the current build, so it never needs a version number. Fetch it into your home directory:
cd ~
curl -sSLO https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm
Check the signature before anything else:
rpm -K teamviewer.x86_64.rpm
Both releases reject it at this point, with exit code 1:
teamviewer.x86_64.rpm: digests SIGNATURES NOT OK
The digests are fine, so the file is not corrupted. The signature fails because the signing key isn’t in the rpm keyring yet. Do not try sudo rpm -ivh on it. On a fresh system it stops first on a missing dependency, libminizip.so.1()(64bit), which dnf pulls in for you later. We installed minizip-ng-compat by hand to isolate the signature check, and then Fedora 45 refused the file and nothing got installed:
warning: teamviewer.x86_64.rpm: Header OpenPGP V4 RSA/SHA256 signature, key ID ef9dbdc73b7d1a07: NOKEY
Verifying... ########################################
Preparing... ########################################
package teamviewer-15.82.6-0.x86_64 does not verify: Header OpenPGP V4 RSA/SHA256 signature, key ID ef9dbdc73b7d1a07: NOKEY
Fedora 44, under the same conditions, installed it unverified. The NOKEY and “does not verify” guide explains the enforcement change in full. For TeamViewer, the fix is one key.
Import the TeamViewer signing key
Key ID ef9dbdc73b7d1a07 is the signing subkey of the 2023 TeamViewer Linux key, primary fingerprint AB2985BDE164897BA46EA69A234FAACB575B15D1. The repository file inside the RPM points at the same key, so import it from that URL:
sudo rpm --import https://linux.teamviewer.com/pubkey/currentkey.asc
List the keys rpm now trusts:
rpm -q gpg-pubkey --qf "%{NAME}-%{VERSION} %{SUMMARY}\n"
On the Fedora 44 machine, the TeamViewer key sits next to the Fedora release key:
gpg-pubkey-36f612dcf27f7d1a48a835e4dbfcf71c6d9f90a6 Fedora (44) <[email protected]> public key
gpg-pubkey-ab2985bde164897ba46ea69a234faacb575b15d1 TeamViewer Germany GmbH (TeamViewer for Linux, 2023) <[email protected]> public key
Run rpm -K teamviewer.x86_64.rpm again. It now reports digests signatures OK and exits 0 on both releases.
Install TeamViewer with the signature checked
Install through dnf so the dependency comes along, and turn local signature checking on for this one command:
sudo dnf -y --setopt=localpkg_gpgcheck=1 install ./teamviewer.x86_64.rpm
On Fedora 45 the transaction pulls in one dependency, minizip-ng-compat, and uses about 386 MiB:
Package Arch Version Repository Size
Installing:
teamviewer x86_64 0:15.82.6-0 @commandline 385.7 MiB
Installing dependencies:
minizip-ng-compat x86_64 0:4.1.0-5.fc45 fedora 146.1 KiB
Transaction Summary:
Installing: 2 packages
Total size of inbound packages is 112 MiB. Need to download 63 KiB.
After this operation, 386 MiB extra will be used (install 386 MiB, remove 0 B).
[1/1] minizip-ng-compat-0:4.1.0-5.fc45. 100% | 79.7 KiB/s | 62.8 KiB | 00m01s
--------------------------------------------------------------------------------
[1/1] Total 100% | 20.4 KiB/s | 62.8 KiB | 00m03s
Running transaction
[1/4] Verify package files 100% | 5.0 B/s | 2.0 B | 00m00s
[2/4] Prepare transaction 100% | 8.0 B/s | 2.0 B | 00m00s
[3/4] Installing minizip-ng-compat-0:4. 100% | 20.5 MiB/s | 146.9 KiB | 00m00s
[4/4] Installing teamviewer-0:15.82.6-0 100% | 65.0 MiB/s | 385.9 MiB | 00m06s
>>> Running %post scriptlet: teamviewer-0:15.82.6-0.x86_64
>>> Finished %post scriptlet: teamviewer-0:15.82.6-0.x86_64
>>> Scriptlet output:
>>> gtk-update-icon-cache: Cache file created successfully.
>>>
Complete!
No “skipped OpenPGP checks” warning appears this time. Without the --setopt flag, dnf ends with Warning: skipped OpenPGP checks for 1 package from repository: @commandline whether or not the key is imported. With the flag and no key, it refuses the file with The repository does not have any OpenPGP keys configured., which is exactly what you want from a verification step.
Check the daemon and the TeamViewer repository
The RPM enables and starts teamviewerd on its own:
systemctl status teamviewerd --no-pager
The PID file line is harmless. systemd checks for it a moment before the daemon writes it:
β teamviewerd.service - TeamViewer remote control daemon
Loaded: loaded (/etc/systemd/system/teamviewerd.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/service.d
ββ10-timeout-abort.conf
Active: active (running) since Sat 2026-10-10 17:07:36 UTC; 938ms ago
Invocation: 5a1029c030fd45a0a13e23ae5b6de90b
Process: 22757 ExecStart=/opt/teamviewer/tv_bin/teamviewerd -d (code=exited, status=0/SUCCESS)
Main PID: 22759 (teamviewerd)
Tasks: 24 (limit: 9424)
Memory: 3.8M (peak: 4.5M)
CPU: 126ms
CGroup: /system.slice/teamviewerd.service
ββ22759 /opt/teamviewer/tv_bin/teamviewerd -d
ββ22765 /opt/teamviewer/tv_bin/tv_crashpad_handler --database=/opt/teamviewer/logfiles/crashpad/teamviewerd --annotation=edition=FI --annotation=version=15.82.6 --initial-client-fd=7 --shared-client-connection
Oct 10 17:07:36 f45-01 systemd[1]: Starting teamviewerd.service - TeamViewer remote control daemon...
Oct 10 17:07:36 f45-01 systemd[1]: teamviewerd.service: Can't open PID file '/run/teamviewerd.pid' (yet?) after start: No such file or directory
Oct 10 17:07:36 f45-01 systemd[1]: Started teamviewerd.service - TeamViewer remote control daemon.
The package also owns a repository file. That is how TeamViewer updates arrive later:
cat /etc/yum.repos.d/teamviewer.repo
Signature checks are on for both packages and metadata:
[teamviewer]
name=TeamViewer - $basearch
baseurl=https://linux.teamviewer.com/yum/stable/main/binary-$basearch/
gpgkey=https://linux.teamviewer.com/pubkey/currentkey.asc
gpgcheck=1
repo_gpgcheck=1
enabled=1
type=rpm-md
Because repo_gpgcheck=1 is set, the first sudo dnf upgrade --refresh after install asks to import the same 2023 key for the repository metadata. Run it once in a terminal so you can answer the prompt, and answer yes. We tested the update path by downgrading to the previous build from that repo and running sudo dnf upgrade teamviewer. It came back to the current build with no NOKEY errors, and teamviewerd stayed active. From here, TeamViewer updates with the rest of the system.
Launch TeamViewer on GNOME
Open Activities, type TeamViewer, and start it. Running teamviewer from a terminal works too. The first window is the licence agreement. Tick the EULA and DPA box, then click Continue:

The main window gives this machine an ID and a one-time password. On GNOME it also shows a yellow Wayland detected box. TeamViewer calls incoming Wayland support experimental and recommends switching to an Xorg session:

That advice no longer works on stock Fedora Workstation. /usr/share/xsessions/ is empty on both releases, and gnome-session-xsession and xorg-x11-server-Xorg are not installed. GNOME has no Xorg session to switch to. On GNOME, the way forward is the screen sharing portal.
Grant screen sharing through the portal
Click Set up remote control permissions in the bottom right of the main window. GNOME opens its Remote Desktop dialog. Allow Remote Interaction is off by default. That toggle is what grants remote mouse and keyboard input, as opposed to a view only share. Switch it on, keep Remember This Selection ticked, and click Share:

The status line changes to Remote control permissions configured, and the orange screen sharing icon appears in the top bar. Partners connect to the ID and password shown in the main window.
One honest limit of this lab. We could not run a full TeamViewer session end to end, for the reason in the next section, so the portal path is confirmed up to “permissions configured” and no further.
Outgoing connections need a TeamViewer account
We pointed the Fedora 44 client at the ID of the Fedora 45 machine and clicked Connect. No session started. The client log, ~/.local/share/teamviewer15/logfiles/TeamViewer15_Logfile.log, recorded why. These are the two error lines from that attempt:
2026/10/10 16:46:11.528 5032 5032 GW1!! ClientAuthenticationFactory: account information not available, managed device easy access not possible, Errorcode=2
2026/10/10 16:46:12.397 5032 5292 GW1!! LoginOutgoing: ConnectFinished - error: AccountNotLoggedIn, Errorcode=11
A second try gave the same pair. That’s policy, not a Fedora bug. The TeamViewer page on the account verification requirement says no outgoing connection is possible without a verified account. Sign in on the machine that starts the session, through Sign In in the top left, then connect.
Use an X11 desktop to skip the Wayland warning
If you would rather keep TeamViewer off the experimental path, log in to a desktop that still runs on X11. Xfce does. Install it with the Xfce on Fedora guide or with one command:
sudo dnf -y install @xfce-desktop-environment
On Fedora 45 that added 368 packages, including xorg-x11-server-Xorg, and put xfce.desktop in /usr/share/xsessions/. GDM kept working as the login screen and listed “Xfce Session” under the gear icon. Pick it, log in, and confirm the session type:
loginctl show-session $(loginctl list-sessions --no-legend | awk '$4=="seat0"{print $1}') -p Type
Every Type= line it prints should read x11. Started there, TeamViewer shows no Wayland box and no permissions link. The ID and password are ready straight away:

AnyDesk has the same problem in a harder form. It refuses incoming sessions on Wayland outright. The AnyDesk on Fedora guide uses this same Xfce session as its fix. If you want something self-hosted instead, the open source remote desktop tools roundup compares the alternatives.
Remove TeamViewer
dnf removes the package and its repository file:
sudo dnf -y remove teamviewer
Some things stay behind. /opt/teamviewer survives with a single rolloutfile.tv13 in it, and dnf never touches per-user data such as the ~/.local/share/teamviewer15 log directory. The signing key stays in the rpm keyring too. Clear all of it:
sudo rm -rf /opt/teamviewer
rm -rf ~/.config/teamviewer ~/.local/share/teamviewer15
sudo rpmkeys --delete ab2985bde164897ba46ea69a234faacb575b15d1
Use rpmkeys --delete with the fingerprint, not the old rpm -e gpg-pubkey-... form. rpm on both releases now warns that erasing gpg-pubkey packages is deprecated and names rpmkeys --delete as the replacement.
Error messages and what they mean
All four came up on the test machines. Each one points to a different fix.
“package teamviewer does not verify: … key ID ef9dbdc73b7d1a07: NOKEY”
Fedora 45 rpm -ivh refusing an RPM whose key is missing. Import currentkey.asc as shown above, then install with dnf --setopt=localpkg_gpgcheck=1.
“Warning: skipped OpenPGP checks for 1 package from repository: @commandline”
dnf installed the local file without verifying it. That is the default. Add --setopt=localpkg_gpgcheck=1 when you want the check.
“The repository does not have any OpenPGP keys configured.”
You asked dnf for that check, but the key is not imported yet. Run the rpm --import step first.
“LoginOutgoing: ConnectFinished – error: AccountNotLoggedIn”
The controlling client is not signed in to a verified TeamViewer account. Sign in and connect again. Nothing on the Fedora side needs changing.
For everything else on a new install, the Fedora 45 post-install checklist and the DNF5 cheatsheet cover the package side of the system.
In my experience TeamViewer on Fedora 34 is NOT supported under Wayland. If you use TeamViewer on Fedora 34 under Wayland it freezes and crashes after a few seconds of use.
It should work fine if you log in using X11 instead, but you will lose trackpad gestures.
sudo dnf -y install ./teamviewer.x86_64.rpm, result of this “dnf command not found”
It would be helpful if you also think one step ahead and present a remedy for this occurrence
@Maloo What Fedora version is that?