protonscr

Launcher/desktop shortcuts missing

steamclosed Steam client
ValveSoftware/steam-for-linux#5012 · opened 2017-06-07 by VNovotna · updated 2018-09-26 · 83 comments · github
VVNovotna 2017-06-07 github

Your system information

  • Steam client version (build number or date): 1496344747, built Jun 1 2017 at 18:41:15
  • Distribution (e.g. Ubuntu): Ubuntu 16.04.2 and Arch
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes (on both distros)

Please describe your issue in as much detail as possible:

When installing game no "start menu" or desktop shortcut is created. Even when requested.

Manual creation: RMB -> create desktop shortcut also doesn't work. Could not create shortcut. A shortcut to this game is probably already on the desktop. Which is not true. Desktop folders empty as well as ~./local/share/applications.

Steps for reproducing this issue:

  1. Install game, make sure Create desktop shorcut and Create start menu shortcut are ticked
  2. Check desktop and start menu. Icons are missing.

another

  1. Right click on any installed game
  2. Select Create Desktop Shortcut
  3. Error message as described above.
EEBaisleyJr 2017-06-07 github

I'm having the same issue: Steam will no longer create menu shortcuts when I install a game. This compounds the long extant problem of not being able to create any desktop shortcuts. What I have to do now is to open one of the shortcuts Steam has already created with a text editor, update the app ID and name to reflect the game I'm installing, save under a different name, and make the new shortcut executable. This just started happening with the newest client update. I'm running 64-bit Kubuntu 17.04, with an AMD A10-5800K and an NVIDIA GTX 1050 Ti.

Jjanw-me 2017-06-07 github

Same, ubuntu 17.04 cleanly installed sunday.

?ghost 2017-06-08 github

I have been having this issue since the latest Steam client patch. I have tried several common troubleshooting methods. Nothing has worked to remedy this issue.

Ubuntu Gnome 17.04

I received Steam support that suggested a fix. I was told to run the follow command on Terminal:

steam --reset

However this did not fix the issue, but display this result:

Error: Couldn't find bootstrap, it's not safe to reset Steam. Please contact technical support.

I reported this back to Steam support whom which told me:

"We're sorry you're having issues with Steam on Linux. Please submit all issues and bugs to the bug database using a GitHub account. This database is regularly reviewed by the Valve developer team."

UPDATE
My Steam controller stop working as well. I was able to get it working again by running these commands:

sudo apt-get purge steam
sudo apt-get purge steam-devices
reboot

This command installed steam and created a desktop launcher for the steam client!

sudo apt-get install steam

sudo apt-get install steam-devices
reboot

Unfortunately, that was the only icon that was/can be created as installations of games still do not create desktop launchers or or menu(s) launchers.

DDrDoctor13 2017-06-12 github

FWIW: output from strace steam: https://paste.pound-python.org/show/NMi6ZCjApYTDXzYKk4bs/

Line 610 is when I tried creating a shortcut.

Ttgagor 2017-06-19 github

Same issue here. Ubuntu 17.04.

Eefeciftci 2017-06-19 github

Same issue here. Kubuntu 16.04.2. Steam package version 1497895186 (built on Jun 16, 2017).

I actually don't get why the desktop is checked before creating a shortcut. If there is not a previous shortcut, let Steam client create one. If there is a previous shortcut, let Steam client overwrite it. In fact, this is actually how Steam client behaves under normal conditions. IMHO it would not make any difference if this control was removed from the source code or not (apart from being broken from time to time).

PProbDenis 2017-06-23 github

I have the same issue (Xubuntu 17.04) Menu entries for newly installed games are not created any more. This worked before, but I'm not sure when exactly it stopped working.

SSil3ntPr0digy 2017-06-25 github

I have also been having the issue since last updated (Gentoo 4.9.16). Hopefully it gets addressed soon as it is very annoying to buy games and then to have to manually create shortcuts every single time.

MMasterSergius 2017-06-26 github

The same issue (Xubuntu 16.04). It stops create Desktop Icons after some Steam update few months ago. Can't find solution.

Ffish-dots 2017-06-29 github

Same problem. Steam was previously able to make shortcuts a few months ago, but currently is unable to make new desktop and menu shortcuts for games.

Linux Mint 18 Cinnamon (3.0.7) 64-bit

Ssidro 2017-07-01 github

Same here on Arch Linux x64.

CCulted 2017-07-04 github

same issue on fedora 25 64bit

DDigiAngel 2017-07-08 github

Same here...16.04.

Ssudopluto 2017-07-11 github

Same here on ubuntu xenial (16.04), ever since the update steam does not create desktop shortcuts

Mm5tuff 2017-07-13 github

Same Linux Mint 18.2 64-bit

Ssudopluto 2017-07-13 github

even after july 11th update, same problem

Bbidinou 2017-07-14 github

Occurs under KDE Neon as well (based on Ubuntu 16.04). Tried both beta and stable clients.

Aamikot 2017-07-16 github

Same problem: Debian 9 KDE 64-bit

Can someone approve is that bug related somehow to another one?
I have also another problem [#5030](https://github.com/ValveSoftware/steam-for-linux/issues/5030) that seems to be caused by the same general problem of permissions. Steam probably cant save anything in user folder - just games folder is accessible.

Ttleydxdy 2017-07-16 github

Same, Arch x64

Vvgnmnky 2017-07-16 github

Me too, Mint 18.2 KDE 64-bit, freshly installed today.

Mmensinda 2017-07-18 github

Same here on my Arch Linux 64bit and a fresh install of Ubuntu 17.04.

Ttgagor 2017-07-18 github

Hi again,

are there any developers listening? A lot of people have problem. We could help to debug this issue - just say what you need? How could we help to get it fixed?

Ppw00t 2017-07-23 github

openSUSE Tumbleweed and Leap 42.3, installed Dota 2 but nowhere I can see the launcher icon.

Aastreyn 2017-07-23 github

Same problem! Linux Mint 18.1

Rrudevdr 2017-07-25 github

Can confirm this on arch linux 64bit.

Ffranmagneto 2017-07-25 github

Same problem here on Arch Linux

Nnolt 2017-07-26 github

Confirmed @ Ubuntu Gnome 17.04 64bit

LLeopard1907 2017-07-26 github

Same problem on here as well.

Linux Mint 18.2 both with Cinnamon and Mate

?ghost 2017-07-26 github

Confirmed, both Ubuntu 16.04.2 and Solus. Latest client beta.

Aantonb-perfecto 2017-07-27 github

Same error on Manjaro Linux

Eedshevsky 2017-07-27 github

Same problem here on Fedora 26 (Gnome 3.24)

Uuvisgrinfelds 2017-07-29 github

Same, elementary os (loki)

Eeldarkg 2017-07-29 github

Same issue. Ubuntu 17.04.

Ddavidkwast 2017-07-30 github

Same. Debian 9 with XFCE

Aanc00dev 2017-08-02 github

Same problem on Fedora 26 (Gnome 3.24.3)

AAlaaMHossam 2017-08-04 github

Same here, Kubuntu 17.04

Built: Jul 17 2017
Steam API: v017
Steam package version: 1500335472

Eefeciftci 2017-08-06 github

After almost two months, the bug still persists.

Kubuntu 16.04.3
Built: Aug 4, 2017
Steam package versions: 1501885292

Nnihil21 2017-08-08 github

Same here, KDE Neon 5.10.4 Dev Edition.

Built: Jul 17 2017
Steam API: v017
Steam package version: 1500335472

Iisigitas 2017-08-10 github

Confirmed. Not working with freshly installed Manjaro Gnome.

Sscollonp 2017-08-11 github

I just did a fresh install of Ubuntu 16.04 LTS (MATE Edition), latest version of everything form repositories. Steam refuses to create desktop or menu shortcuts :(

Mmensinda 2017-08-11 github

I did some digging with strace (strace -t -o steamTrace.txt -f steam):

...
13477 13:14:08 access("/Terraria.desktop", F_OK <unfinished ...>
13545 13:14:08 <... poll resumed> )     = 0 (Timeout)
13477 13:14:08 <... access resumed> )   = -1 ENOENT (No such file or directory)
13545 13:14:08 poll([{fd=74, events=POLLIN}], 1, 0 <unfinished ...>
13477 13:14:08 access("/terraria.desktop", F_OK <unfinished ...>
13545 13:14:08 <... poll resumed> )     = 0 (Timeout)
13477 13:14:08 <... access resumed> )   = -1 ENOENT (No such file or directory)
13545 13:14:08 poll([{fd=142, events=POLLIN}], 1, 0 <unfinished ...>
13477 13:14:08 access("/Terraria.desktop", F_OK <unfinished ...>
13545 13:14:08 <... poll resumed> )     = 0 (Timeout)
13477 13:14:08 <... access resumed> )   = -1 ENOENT (No such file or directory)
13545 13:14:08 poll([{fd=143, events=POLLIN}], 1, 0 <unfinished ...>
13477 13:14:08 open("/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC <unfinished ...>
13545 13:14:08 <... poll resumed> )     = 0 (Timeout)
13477 13:14:08 <... open resumed> )     = 78
13545 13:14:08 epoll_wait(34,  <unfinished ...>
13477 13:14:08 fstat64(78, {st_mode=S_IFDIR|0755, st_size=132, ...}) = 0
13477 13:14:08 getdents64(78, /* 21 entries */, 32768) = 520
13477 13:14:08 getdents64(78, /* 0 entries */, 32768) = 0
13477 13:14:08 close(78)                = 0
# Trys to create file "/Terraria.desktop"
13477 13:14:08 open("/Terraria.desktop", O_RDWR|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = -1 EACCES (Permission denied)
13477 13:14:08 getpid()                 = 13477
13477 13:14:08 getpid()                 = 13477
...

It looks like steam is trying to create the desktop shortcut in the root folder (and fails obviously).

Now lets give steam the rights to write in / with soemthing like:

sudo chown $(whoami):root /

⚠️ This can be potentially dangerous ⚠️

Now steam (and the current user) can write files directly in /. This time steam creates the desktop shortcut in /.

strace of the successful write:

...
27055 13:41:32 access("/Terraria.desktop", F_OK <unfinished ...>
27128 13:41:32 poll([{fd=74, events=POLLIN}], 1, 0 <unfinished ...>
27055 13:41:32 <... access resumed> )   = -1 ENOENT (No such file or directory)
27128 13:41:32 <... poll resumed> )     = 0 (Timeout)
27055 13:41:32 access("/terraria.desktop", F_OK <unfinished ...>
27128 13:41:32 poll([{fd=142, events=POLLIN}], 1, 0 <unfinished ...>
27055 13:41:32 <... access resumed> )   = -1 ENOENT (No such file or directory)
27128 13:41:32 <... poll resumed> )     = 0 (Timeout)
27055 13:41:32 access("/Terraria.desktop", F_OK <unfinished ...>
27128 13:41:32 poll([{fd=143, events=POLLIN}], 1, 0 <unfinished ...>
27055 13:41:32 <... access resumed> )   = -1 ENOENT (No such file or directory)
27128 13:41:32 <... poll resumed> )     = 0 (Timeout)
27055 13:41:32 open("/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC <unfinished ...>
27128 13:41:32 epoll_wait(34,  <unfinished ...>
27055 13:41:32 <... open resumed> )     = 85
27055 13:41:32 fstat64(85, {st_mode=S_IFDIR|0755, st_size=132, ...}) = 0
27055 13:41:32 getdents64(85, /* 21 entries */, 32768) = 520
27055 13:41:32 getdents64(85, /* 0 entries */, 32768) = 0
27055 13:41:32 close(85)                = 0
# This time steam succeeds in creating "/Terraria.desktop"
27055 13:41:32 open("/Terraria.desktop", O_RDWR|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 85
27088 13:41:32 <... select resumed> )   = 1 (in [35])
27055 13:41:32 fstat64(85,  <unfinished ...>
27088 13:41:32 ioctl(35, FIONREAD <unfinished ...>
27055 13:41:32 <... fstat64 resumed> {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
27088 13:41:32 <... ioctl resumed> , [48]) = 0
# Here the file content is written
27055 13:41:32 write(85, "[Desktop Entry]\nName=Terraria\nCo"..., 158 <unfinished ...>
27088 13:41:32 read(35, "\1\0\0\0\0\1\0\0\0\0\0\0 \0\0\0Terraria.desktop"..., 48) = 48
27055 13:41:32 <... write resumed> )    = 158
27088 13:41:32 write(33, "\0", 1 <unfinished ...>
# Steam closes the file descriptor
27055 13:41:32 close(85 <unfinished ...>
...
27055 13:41:32 umask(000)               = 022
27055 13:41:32 umask(022)               = 000
# Steam chaches the permissions to rwx r-x r-x
27055 13:41:32 access("/Terraria.desktop", F_OK) = 0
27055 13:41:32 chmod("/Terraria.desktop", 0755 <unfinished ...>
27088 13:41:32 <... select resumed> )   = 1 (in [35])
...

This issue should be renamed to something like "Steam trys to create Desktop shortcuts in /".

Mmhalano 2017-08-11 github

Seems some variable with the correct path is missing...

On Fri, Aug 11, 2017 at 9:09 AM, mensinda [email protected] wrote:

I did some digging with strace (strace -t -o steamTrace.txt -f steam):

...
13477 13:14:08 access("/Terraria.desktop", F_OK <unfinished ...>
13545 13:14:08 <... poll resumed> ) = 0 (Timeout)
13477 13:14:08 <... access resumed> ) = -1 ENOENT (No such file or directory)
13545 13:14:08 poll([{fd=74, events=POLLIN}], 1, 0 <unfinished ...>
13477 13:14:08 access("/terraria.desktop", F_OK <unfinished ...>
13545 13:14:08 <... poll resumed> ) = 0 (Timeout)
13477 13:14:08 <... access resumed> ) = -1 ENOENT (No such file or directory)
13545 13:14:08 poll([{fd=142, events=POLLIN}], 1, 0 <unfinished ...>
13477 13:14:08 access("/Terraria.desktop", F_OK <unfinished ...>
13545 13:14:08 <... poll resumed> ) = 0 (Timeout)
13477 13:14:08 <... access resumed> ) = -1 ENOENT (No such file or directory)
13545 13:14:08 poll([{fd=143, events=POLLIN}], 1, 0 <unfinished ...>
13477 13:14:08 open("/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC <unfinished ...>
13545 13:14:08 <... poll resumed> ) = 0 (Timeout)
13477 13:14:08 <... open resumed> ) = 78
13545 13:14:08 epoll_wait(34, <unfinished ...>
13477 13:14:08 fstat64(78, {st_mode=S_IFDIR|0755, st_size=132, ...}) = 0
13477 13:14:08 getdents64(78, /* 21 entries /, 32768) = 520
13477 13:14:08 getdents64(78, /
0 entries */, 32768) = 0
13477 13:14:08 close(78) = 0# Trys to create file "/Terraria.desktop"
13477 13:14:08 open("/Terraria.desktop", O_RDWR|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = -1 EACCES (Permission denied)
13477 13:14:08 getpid() = 13477
13477 13:14:08 getpid() = 13477
...

It looks like steam is trying to create the desktop shortcut in the root
folder (and fails obviously).

Now lets give steam the rights to write in / with soemthing like:

sudo chown $(whoami):root /

⚠️ This can be potentially dangerous ⚠️

Now steam (and the current user) can write files directly in /. This time
steam creates the desktop shortcut in /.

strace of the successful write:

...
27055 13:41:32 access("/Terraria.desktop", F_OK <unfinished ...>
27128 13:41:32 poll([{fd=74, events=POLLIN}], 1, 0 <unfinished ...>
27055 13:41:32 <... access resumed> ) = -1 ENOENT (No such file or directory)
27128 13:41:32 <... poll resumed> ) = 0 (Timeout)
27055 13:41:32 access("/terraria.desktop", F_OK <unfinished ...>
27128 13:41:32 poll([{fd=142, events=POLLIN}], 1, 0 <unfinished ...>
27055 13:41:32 <... access resumed> ) = -1 ENOENT (No such file or directory)
27128 13:41:32 <... poll resumed> ) = 0 (Timeout)
27055 13:41:32 access("/Terraria.desktop", F_OK <unfinished ...>
27128 13:41:32 poll([{fd=143, events=POLLIN}], 1, 0 <unfinished ...>
27055 13:41:32 <... access resumed> ) = -1 ENOENT (No such file or directory)
27128 13:41:32 <... poll resumed> ) = 0 (Timeout)
27055 13:41:32 open("/", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC <unfinished ...>
27128 13:41:32 epoll_wait(34, <unfinished ...>
27055 13:41:32 <... open resumed> ) = 85
27055 13:41:32 fstat64(85, {st_mode=S_IFDIR|0755, st_size=132, ...}) = 0
27055 13:41:32 getdents64(85, /* 21 entries /, 32768) = 520
27055 13:41:32 getdents64(85, /
0 entries */, 32768) = 0
27055 13:41:32 close(85) = 0# This time steam succeeds in creating "/Terraria.desktop"
27055 13:41:32 open("/Terraria.desktop", O_RDWR|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 85
27088 13:41:32 <... select resumed> ) = 1 (in [35])
27055 13:41:32 fstat64(85, <unfinished ...>
27088 13:41:32 ioctl(35, FIONREAD <unfinished ...>
27055 13:41:32 <... fstat64 resumed> {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
27088 13:41:32 <... ioctl resumed> , [48]) = 0# Here the file content is written
27055 13:41:32 write(85, "[Desktop Entry]\nName=Terraria\nCo"..., 158 <unfinished ...>
27088 13:41:32 read(35, "\1\0\0\0\0\1\0\0\0\0\0\0 \0\0\0Terraria.desktop"..., 48) = 48
27055 13:41:32 <... write resumed> ) = 158
27088 13:41:32 write(33, "\0", 1 <unfinished ...># Steam closes the file descriptor
27055 13:41:32 close(85 <unfinished ...>
...
27055 13:41:32 umask(000) = 022
27055 13:41:32 umask(022) = 000# Steam chaches the permissions to rwx r-x r-x
27055 13:41:32 access("/Terraria.desktop", F_OK) = 0
27055 13:41:32 chmod("/Terraria.desktop", 0755 <unfinished ...>
27088 13:41:32 <... select resumed> ) = 1 (in [35])
...

This issue should be renamed to something like "Steam trys to create
Desktop shortcuts in /".


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ValveSoftware/steam-for-linux/issues/5012#issuecomment-321796506,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFvvR2e-gEAAJ2HU4iG8fXRcKnDymXqAks5sXERcgaJpZM4NymJW
.

--
Marcos Alano

P: Por que este email é tão curto?
R: http://five.sentenc.es

Mmensinda 2017-08-11 github

I have created a list of all environment variables that steam reads with ltrace (excluding _GL and OGL variables):

ltrace -t -f -b -o steamL2.txt -e getenv bash /usr/bin/steam-native

# All variables https://pastebin.com/QCpNbba3
grep "getenv(" steamL2.txt | grep -v __GL | grep -v OGL_ | sed 's/^[^(]*("//g' | sed 's/".*//g' | sort | uniq

# All variables not set on my system: https://pastebin.com/zyQSwp6Z
grep "getenv(" steamL2.txt | grep nil | grep -v __GL | grep -v OGL_ | sed 's/^[^(]*("//g' | sed 's/".*//g' | sort | uniq
Ssfriesel 2017-08-12 github

@mensinda you could try setting the various XDG_ environment variables to their respective recommended fallback values

Mmensinda 2017-08-12 github

@sfriesel That didn't work either. I also tried setting most of the other variables but that had also no effect.

Cccanaria 2017-08-18 github

Same issue. Linux Mint 18.2 Mate

AAndrewAddams 2017-08-22 github

Same problem on Antergos Cinnamon.

?ghost 2017-08-27 github

Same problem, Manjaro/Archlinux 64bit, multilib enabled.

Nnashamri 2017-08-29 github

Having the same issue under KDE neon.

Rrikanov 2017-08-30 github

Bug confirmed: I have same issue here using fresh installed openSUSE Tumbleweed 64bit.

?ghost 2017-08-31 github

Same issue Slackware64 current

?ghost 2017-09-03 github

Same issue, Ubuntu 16.04

Gglen3b 2017-09-03 github

Same issue, Arch Linux x64 w/ Gnome

VVNovotna 2017-09-08 github

3 months after submitting issue still persist on latest client (1504757234).

Mmensinda 2017-09-08 github

Although I don't know the code of Steam, I can't imagine that it is very difficult to fix this bug.

As I already found out above, Steam tries to write the desctop shortcuts into the root folder, which obviously doesn't work. The .desktop file generation / creation itself works fine, only the path is wrong.

A simple solution would be to check if the directory is / and then set it to a default / fallback path (e.g. $HOME/.local/share/applications)

I know that the Steam developers may have other, more important things to do, but since the bug seems to be just a wrong file path, it should only take 5 to 10 minutes to fix it.

Mmhalano 2017-09-08 github

This bug should tested against beta release.

Bbidinou 2017-09-08 github

It also occurs with the latest beta.
Bad workaround : install Lutris, allow Lutris to sync Steam collection, create shortcut from Lutris.

Llouis-irl 2017-09-28 github

Same issue in Mint 18.2

Eefeciftci 2017-09-29 github

If I had to guess, I'd say Valve has decided to kill the Linux client. You can see this in the changelogs of the latest client updates. They are very busy fixing stupid bugs for other platforms but not a single bug has been fixed for Linux in the last month.

"macOS: Improved support for various mouse cursors in the In-Game Overlay"
Wow. Good job Valve. I can't find words to describe what an important issue you have solved. Now fix my desktop shortcuts too.

"General: Fixed some cases where the Steam UI would not notify users about the availability of a new Steam client update as promptly as it should"
Thanks Valve! We the Linux users get notifications about client updates that are irrelevant to our platform!

Llouis-irl 2017-09-29 github

@DrDoctor13 Was there? according to this, there hasn't been an update since Sept 7th.

Kkisak-valve maintainer 2017-09-29 github

@DrDoctor13, it should be a trivial adjustment to fix #5190.

DDrDoctor13 2017-09-29 github

I'm a grown man, I'm in college, I'm pursuing a career in IT, yet I can never remember that August is the 8th month of the year, not the 9th.

Llouis-irl 2017-09-29 github

@DrDoctor13 Haha, it's cool. Now let's continue yelling at Valve :^)

?ghost 2017-10-03 github

Please, Valve get your software together...

Iilazgo 2017-10-14 github

Same problem on elementary OS loki

VVNovotna 2017-10-21 github

Still present at build Oct 17 2017, at 13:11:22 after more than 4 months.
Does it means end of Linux support? I already stopped buying new games, but still have considerably large library which I would like to fully use.

Mmensinda 2017-10-21 github

Seriously Valve, it has been 2 Months since I posted my strace results. How hard can it be to write a single file (that you can already correctly generate) to the correct directory?

I am not working at Valve, so I obviously can't be 100% certain about my conclusion, but because there was NOT A SINGLE statement about the nature/status of this issue I can only rely on my debugging efforts.

Furthermore, if any Program writes a file to the root dir (/) when it is supposed to be somewhere else (like in $HOME/.local/share/applications/) the solution, or at least a strong hint about what is going wrong, seems obvious.

Bbidinou 2017-10-21 github

IMHO, there are two possible explanations (considering the bug is absolutely trivial)

  • either Valve is indeed sending us a signal (but that would be strange as I guess there is still work carried out for the platform in much more demanding areas)
  • either the bug was not triaged properly and is falling behind the radar. In that case maybe one should open a new one or get in touch with the triagers team
Mmensinda 2017-10-22 github

I wrote a simple workaround script that can automatically copy the .desktop files form / to any destination.

You have to change the owner / flags of / for this to work with sudo chown $(whoami):root /.

⚠️ Note: ⚠️

This should not brake anything. You still can't remove the contents of /usr for instance (without sudo) but you can rename all files and directories directly in /.

The damage you can do with this change is minimal, but you should revert this change once this bug is fixed or you have all desktop shortcuts you want.

You can undo this change with sudo chown root:root /.

The bash script:

Use this script to launch steam

#!/bin/bash

CHECK_INTERVAL=2                              # sleep time for the main loop
DESTINATION="$HOME/.local/share/applications" # where to move the files
STEAM_EXEC="$(which steam)"                   # the steam executable / start script
SKIP_CHECK=0                                  # set to 1 to check stat of /

checkLoop() {
  while true; do
    sleep $CHECK_INTERVAL
    for i in /*.desktop; do
      [ ! -f "$i" ] && continue # make sure the file exists
      mv -f "$i" "$DESTINATION"
      echo "Moved '$i' to $DESTINATION"
    done
  done
}

if [[ "$(stat -c %U /)" != "$(whoami)" && "$SKIP_CHECK" != "1" ]]; then
  echo "Please chanche owner of / with 'sudo chown $(whoami):root /'"
  exit 1
fi

[ ! -d "$DESTINATION" ] && mkdir -p "$DESTINATION"
checkLoop & # start the main loop
PID=$!

$STEAM_EXEC "$@" # run steam

kill $PID # kill the loop
Ccob16 2017-11-04 github

Just threw a site together to generate these files, might be useful for some until this gets fixed.

example:
http://circularlogic.pythonanywhere.com/shortcut/?appid=440&name=Team+Fortress+2

Jjohnv-valve maintainer 2017-11-08 github
Ssudopluto 2017-11-08 github

Praise Be! Thank you @johnv-valve !

Bbidinou 2017-11-08 github

Thank you very much for the fix !

However, is there a distinct bug report about the fact most games have the generic Steam icon instead of the game one ? This is quite annoying as well as one has to manually change to icon, not to have tons of Steam icons on one's desktop :)

Bbidinou 2017-11-08 github

Well, I say "most", that's actually kinda random.

VVNovotna 2017-11-08 github

@bidinou generic icon means that application vendor (not valve) did not provided correct Linux icon.

Bbidinou 2017-11-10 github

@VNovotna : ah, you're right. I thought win icons could get automatically converted. I thought a generic png icon had to be provided...
What bothers me is that I noticed I have many recent games missing the Linux icon. Older games almost all have one... I mean, even some pretty well known titles. (ie : Talos, Wasteland, Hand of Fate, Thimbleweed, Infinifactory...).

Ssamuel-phan 2017-11-24 github

As a workaround meanwhile, you can create a desktop shortcut yourself.

image

Replace the game ID by your game ID. You can find it on the store page of your game, in the URL. For example, for LIMBO, the URL is this: http://store.steampowered.com/app/48000/LIMBO/

(cosmetics) If you're lucky, you will have an icon for the game in the installation files, otherwise, you must search on the net.

Mmhalano 2017-11-24 github

I think the only viable fix to this problem is use the icons for other platforms on Linux, like if there is no icon for Linux so uses the Windows icon.

VVerwalter2017 2017-11-29 github

I had this issue after updating to Ubuntu 17.10. In my case the .desktop were just hidden. Renaming them and then setting them as executable made them reappear and usable after clicking mark as trusted and launch on the dialog when clicking the link.

Jjedenastka 2018-09-22 github

I made simple script for making Steam game launchers.
https://github.com/jedenastka/steamlg

Zzvbarev 2018-09-25 github

Confirm for Ubuntu 18.04.1 LTS

Ggasinvein 2018-09-26 github

@jedenastka I've made one, too https://github.com/gasinvein/steam-desktop-updater
It automatically creates launchers for all games in your library, and also extracts icons.
It was intended for Flatpack'ed Steam, but maybe someone here finds it useful, too.

Kkisak-valve maintainer 2018-09-26 github

The newer issue is currently being tracked at #5590. Please continue the discussion there.