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.
Same, ubuntu 17.04 cleanly installed sunday.
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
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.
FWIW: output from strace steam: https://paste.pound-python.org/show/NMi6ZCjApYTDXzYKk4bs/
Line 610 is when I tried creating a shortcut.
Same issue here. Ubuntu 17.04.
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).
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.
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.
The same issue (Xubuntu 16.04). It stops create Desktop Icons after some Steam update few months ago. Can't find solution.
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
Same here on Arch Linux x64.
same issue on fedora 25 64bit
Same here...16.04.
Same here on ubuntu xenial (16.04), ever since the update steam does not create desktop shortcuts
Same Linux Mint 18.2 64-bit
even after july 11th update, same problem
Occurs under KDE Neon as well (based on Ubuntu 16.04). Tried both beta and stable clients.
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.
Same, Arch x64
Me too, Mint 18.2 KDE 64-bit, freshly installed today.
Same here on my Arch Linux 64bit and a fresh install of Ubuntu 17.04.
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?
openSUSE Tumbleweed and Leap 42.3, installed Dota 2 but nowhere I can see the launcher icon.
Same problem! Linux Mint 18.1
Can confirm this on arch linux 64bit.
Same problem here on Arch Linux
Confirmed @ Ubuntu Gnome 17.04 64bit
Same problem on here as well.
Linux Mint 18.2 both with Cinnamon and Mate
Confirmed, both Ubuntu 16.04.2 and Solus. Latest client beta.
Same error on Manjaro Linux
Same problem here on Fedora 26 (Gnome 3.24)
Same, elementary os (loki)
Same issue. Ubuntu 17.04.
Same. Debian 9 with XFCE
Same problem on Fedora 26 (Gnome 3.24.3)
Same here, Kubuntu 17.04
Built: Jul 17 2017
Steam API: v017
Steam package version: 1500335472
After almost two months, the bug still persists.
Kubuntu 16.04.3
Built: Aug 4, 2017
Steam package versions: 1501885292
Same here, KDE Neon 5.10.4 Dev Edition.
Built: Jul 17 2017
Steam API: v017
Steam package version: 1500335472
Confirmed. Not working with freshly installed Manjaro Gnome.
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 :(
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 /".
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
.
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
@mensinda you could try setting the various XDG_ environment variables to their respective recommended fallback values
@sfriesel That didn't work either. I also tried setting most of the other variables but that had also no effect.
Same issue. Linux Mint 18.2 Mate
Same problem on Antergos Cinnamon.
Same problem, Manjaro/Archlinux 64bit, multilib enabled.
Having the same issue under KDE neon.
Bug confirmed: I have same issue here using fresh installed openSUSE Tumbleweed 64bit.
Same issue Slackware64 current
Same issue, Ubuntu 16.04
Same issue, Arch Linux x64 w/ Gnome
3 months after submitting issue still persist on latest client (1504757234).
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.
This bug should tested against beta release.
It also occurs with the latest beta.
Bad workaround : install Lutris, allow Lutris to sync Steam collection, create shortcut from Lutris.
Same issue in Mint 18.2
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!
@DrDoctor13 Was there? according to this, there hasn't been an update since Sept 7th.
@DrDoctor13, it should be a trivial adjustment to fix #5190.
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.
@DrDoctor13 Haha, it's cool. Now let's continue yelling at Valve :^)
Please, Valve get your software together...
Same problem on elementary OS loki
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.
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.
IMHO, there are two possible explanations (considering the bug is absolutely trivial)
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 /.
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 /.
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
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
should be fixed in the current beta http://steamcommunity.com/groups/SteamClientBeta#announcements/detail/1456213434738131018
Praise Be! Thank you @johnv-valve !
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 :)
Well, I say "most", that's actually kinda random.
@bidinou generic icon means that application vendor (not valve) did not provided correct Linux icon.
@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...).
As a workaround meanwhile, you can create a desktop shortcut yourself.

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.
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.
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.
I made simple script for making Steam game launchers.
https://github.com/jedenastka/steamlg
Confirm for Ubuntu 18.04.1 LTS
@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.
Your system information
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:
Create desktop shorcutandCreate start menu shortcutare tickedanother
Create Desktop Shortcut