protonscr

Steam browser protocol doesn't work

steamopen
ValveSoftware/steam-for-linux#7076 · opened 2020-04-27 by Xinayder · updated 2025-05-17 · 9 comments · github
XXinayder 2020-04-27 github

Your system information

  • Steam client version (build number or date): April 23, 2020 00:53:55
  • Distribution (e.g. Ubuntu): Arch Linux 5.6.6-zen1-1-zen, KDE
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

The Steam browser protocol steam:// doesn't work. On Firefox, any links that use the protocol just redirect the Steam client to the store front page. On any other app in Linux, clicking a steam:// link fails with the error:

File not found: steam://open/news

EDIT: the protocol handler will redirect the Steam client to whatever window is set as the startup window, on Settings - Interface. When running in terminal, the following line appears whenever I try to open a Steam link in Firefox:

ExecCommandLine: "'/home/alex/.local/share/Steam/ubuntu12_32/steam' -foreground"

Steps for reproducing this issue:

  1. Open steam://url/SSA or any other Steam browser protocol link
Kkisak-valve maintainer 2020-04-27 github

Hello @RockyTV, this sounds like a MIME issue outside of Steam. Can you copy your /usr/share/applications/steam.desktop to a gist and share the link?

In particular, I want to confirm the Exec= line in the first section of /usr/share/applications/steam.desktop is Exec=/usr/bin/steam %U.

XXinayder 2020-04-27 github

https://gist.github.com/RockyTV/099336594fec21aebd198f9f2a46758e

Looks okay to me, though I'm running steam-native from Arch Linux, but the same issue happens with steam-runtime (using Valve's runtime).

LLuvIsBadToTheBone 2020-05-01 github

Hello, I can confirm this behavior as @RockyTV discribed

Steamclientversion: April 27 2020 at 21:53:32
Steam-Api: v020
Os (inxi): https://pastebin.com/CkfqbKib
Steam system info: https://gist.github.com/LuvIsBadToTheBone/d213f5965b2dfbb162901dec0a390e61
System is up to date.

Discribe issue:
When clicking on "invite to civ 6 lobby" link like this : steam://joinlobby/289070/109775241033311305/76561198043381777 in discord or open with firefox or open in terminal
i get redireted to whatever site is preset in steam start site.

btw terminal output:
toni@lifebook:~$ xdg-open "steam://joinlobby/289070/109775241024549909/76561198285600411"
toni@lifebook:~$ Running Steam on linuxmint 19.3 64-bit
STEAM_RUNTIME is enabled automatically
Pins up-to-date!
Steam client's requirements are satisfied
/home/toni/.steam/ubuntu12_32/steam

Expected behaviour would be i click link, it opens civilization 6 and join the civ 6 lobby where the other players are.

Steps to reproduce:
click link again

Iinukaze 2020-06-08 github

Open a terminal and try this :

echo 'Variables :'
MIMESA="$HOME/.local/share/applications/mimeapps.list"
MIMESL=$(cat $HOME/.local/share/applications/mimeapps.list | grep "x-scheme-handler/steam=steam.desktop")
MIMESC="$HOME/.local/share/mime"
 
echo 'Steam Desktop Entry:'
echo '[Desktop Entry]
Name=Steam
Comment=Application for managing and playing games on Steam
Comment[es]=Aplicación para administrar y ejecutar juegos en Steam
Exec=/usr/bin/steam %U
Icon=steam
Terminal=false
Type=Application
Categories=Network;FileTransfer;Game;
MimeType=x-scheme-handler/steam;
Actions=Store;Community;Library;Servers;Screenshots;News;Settings;BigPicture;Friends;
 
[Desktop Action Store]
Name=Store
Name[es]=Tienda
Exec=steam steam://store
 
[Desktop Action Community]
Name=Community
Name[es]=Comunidad
Exec=steam steam://url/SteamIDControlPage
 
[Desktop Action Library]
Name=Library
Name[es]=Biblioteca
Exec=steam steam://open/games
 
[Desktop Action Servers]
Name=Servers
Name[es]=Servidores
Exec=steam steam://open/servers
 
[Desktop Action Screenshots]
Name=Screenshots
Name[es]=Capturas
Exec=steam steam://open/screenshots
 
[Desktop Action News]
Name=News
Name[es]=Noticias
Exec=steam steam://open/news
 
[Desktop Action Settings]
Name=Settings
Name[es]=Parámetros
Exec=steam steam://open/settings
 
[Desktop Action BigPicture]
Name=Big Picture
Exec=steam steam://open/bigpicture
 
[Desktop Action Friends]
Name=Friends
Name[es]=Amigos
Exec=steam steam://open/friends' | tee "$HOME/.local/share/applications/steam.desktop" &> /dev/null
 
echo 'Let the all users read & execute that desktop entry :' 
chmod a+o+x "$HOME/.local/share/applications/steam.desktop
 
echo 'Add the protocol handler to the user local settings' 
sed -i '/\[Default Applications\]/a x-scheme-handler/steam=steam.desktop' "$MIMESA"
 
echo 'Update the mime database :'
update-mime-database $MIMESC
TTank-Missile 2020-06-30 github

I'm having a similar issue involving opening steam from chromium. Steam starts but does not show a system tray icon or the UI. Clicking on the .desktop file afterwards will open the UI though.

JJoeJoeTV 2021-12-12 github

I am also having this issue and have found a way to solve it:

The Problem

In the steam.desktop file located in /usr/share/applications the Exec line reads:

Exec=sh -c 'STEAM_FRAME_FORCE_CLOSE=1 steam' %U

As I understand it, the %U is outside of the quotation marks encapsulating the command for sh -c , so it isn't passed to thesteam executeable.

I have installed steam fro the .deb file provided by Valve, so I checked what the Exec line in the provided .deb file says and it reads

Exec=/usr/bin/steam %U

which should be fine.

So the file probably gets overridden by the first steam update.
The .deb file provided by my Distro's package maintainer(Linux MInt) also has the correct Exec line in the steam.desktop file.

A (temporary) solution

To fix this issue temporarily, until the file gets updated, I edited the /usr/share/applications/steam.desktop file, so that the Exec line reads as follows:

Exec=sh -c 'STEAM_FRAME_FORCE_CLOSE=1 steam %U'

So basically, I just moved the ' to behind the %U and I can open steam:// links in the client now.

TTibladar 2022-02-20 github

Can confirm this long standing issue and the simple fix mentioned above

Why isn't it fixed yet?

TTibladar 2022-02-24 github

I opened a pull request for fixing this issue in Linux Mint: https://github.com/linuxmint/mintsystem/pull/129

I don't know about OP as Arch with KDE is stated maybe there's a similar overwrite

GGenocideStomper 2025-05-17 github

Sorry for commenting on this old issue, and not sure if you still have it. But from the command line I can run the strings using xdg-open, like so:

xdg-open steam://friends/status/away

Nothing extracted yet.