snap install programs not in launcher











up vote
18
down vote

favorite
5












Just updated to 16.04 & trying snap packages for first time.



So I needed meshlab to view some stl files. Ran in to issue with p-i-t-n log in. Found that command line install of snap packages does not need the log in. Did:



sudo snap install meshlab


and hey presto meshlap installed, no pitn log in. Works fine from command line. However program does not show up in the launcher. Why is this? Do snap packages not show up in launcher? How can I fix this?










share|improve this question




























    up vote
    18
    down vote

    favorite
    5












    Just updated to 16.04 & trying snap packages for first time.



    So I needed meshlab to view some stl files. Ran in to issue with p-i-t-n log in. Found that command line install of snap packages does not need the log in. Did:



    sudo snap install meshlab


    and hey presto meshlap installed, no pitn log in. Works fine from command line. However program does not show up in the launcher. Why is this? Do snap packages not show up in launcher? How can I fix this?










    share|improve this question


























      up vote
      18
      down vote

      favorite
      5









      up vote
      18
      down vote

      favorite
      5






      5





      Just updated to 16.04 & trying snap packages for first time.



      So I needed meshlab to view some stl files. Ran in to issue with p-i-t-n log in. Found that command line install of snap packages does not need the log in. Did:



      sudo snap install meshlab


      and hey presto meshlap installed, no pitn log in. Works fine from command line. However program does not show up in the launcher. Why is this? Do snap packages not show up in launcher? How can I fix this?










      share|improve this question















      Just updated to 16.04 & trying snap packages for first time.



      So I needed meshlab to view some stl files. Ran in to issue with p-i-t-n log in. Found that command line install of snap packages does not need the log in. Did:



      sudo snap install meshlab


      and hey presto meshlap installed, no pitn log in. Works fine from command line. However program does not show up in the launcher. Why is this? Do snap packages not show up in launcher? How can I fix this?







      launcher snap






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited May 1 '17 at 16:15









      dobey

      32.3k33585




      32.3k33585










      asked May 1 '17 at 16:05









      Ron

      109114




      109114






















          9 Answers
          9






          active

          oldest

          votes

















          up vote
          20
          down vote













          If you are using zsh, the snap binary and desktop directories will not automatically be added to your environment variables. In order to solve this, I added the following line to /etc/zsh/zprofile (taken from Arch):



          emulate sh -c 'source /etc/profile'


          This will process your /etc/profile file with bash emulation, which in turn sources /etc/profile.d/* and sets the proper PATHs, etc.



          To add only the snap directories to your path, without including all the rest of the default bash profile:



          emulate sh -c 'source /etc/profile.d/apps-bin-path.sh'





          share|improve this answer



















          • 1




            Thanks! Works well on 17.10 too. Switching to zsh brought up this problem for me aswell.
            – danwit
            Feb 11 at 12:07






          • 1




            They should fix this in the install process or add a FAQ/Troubleshooting steps for snap.
            – BradErzwh
            Mar 10 at 22:55










          • Thanks, worked for me on 18.10. Hope this will be fixed somehow in future.
            – Pavel Davydov
            Nov 2 at 10:23


















          up vote
          8
          down vote













          It's built into the snap system, but you have to add the link to your dash. To start the program type



          snap run meshlab


          once it's up and running, right click on the icon and click on "add to dash".






          share|improve this answer






























            up vote
            5
            down vote














            Do snap packages not show up in launcher?




            They do as long as the snap ships proper .desktop files. Only Meshlab's meshlabserver has a proper desktop file (and indeed, it shows up in my launcher). The meshlab .desktop file, however, is attempting to exec meshlab.meshlab, when it should just be using meshlab. As a result, it doesn't show up.




            How can I fix this?




            If you run snap info meshlab you'll see contact info for the publisher. I suggest you report a bug to them. Until then, you can always run meshlab from the CLI, or create your own .desktop file for it.






            share|improve this answer




























              up vote
              2
              down vote













              You have to run snap run meshlab from terminal and stop it, then you will see Meshlab in your application list






              share|improve this answer




























                up vote
                1
                down vote













                Same thing with blender.



                snap run blender


                does work, however did not fix the problem.



                I had to copy blender.desktop from /snap/blender/current/blender.desktop to /usr/share/applications (with sudo) and then all was fixed: blender shows in the gnome menus and nautilus associates it with .blend files.



                Looks like some sort of crack between snaps and gnomes to me.
                Perhaps what we need is a snappy gnome (or is it a gnomey snap ;^).






                share|improve this answer



















                • 1




                  Hi, I did what you told but I've now two icons for every program I've did this... see i.imgur.com/aamlQJZ.png Is this happened to you too?
                  – Cirelli94
                  Dec 29 '17 at 14:24


















                up vote
                1
                down vote













                For me, it also seems to be related to the combination of Wayland/ZSH under Ubuntu 18.04 - even though /var/lib/snapd/desktop is listed in the XDG_DATA_DIRS variable (this is done by /etc/profile.d/apps-bin-path.sh), the launcher doesn't recognize apps from that folder.



                A quick workaround is to sym-link the desired desktop files, for example:



                ln -s /var/lib/snapd/desktop/applications/rubymine_rubymine.desktop .local/share/applications





                share|improve this answer






























                  up vote
                  0
                  down vote













                  I ran in to the same issue on Ubuntu 18.04. It seems to be a problem with Wayland. The solution for me was to switch back from Wayland to Xorg.






                  share|improve this answer




























                    up vote
                    0
                    down vote













                    I couldn't comment on someone else's post. However, this is to add to dsager's answer which helped me on Fedora 28 (which as far as I can tell, uses Wayland)



                    I added the following snip to my ~/.bash_profile to link on login each file in /var/lib/snapd/desktop/applications. Similarly this could be modified to remove the links for apps which do not exist anymore by switching the paths in the for line and the if line then replacing ln with an rm.



                    for i in /var/lib/snapd/desktop/applications/*.desktop; do
                    if [ ! -f ~/.local/share/applications/${i##*/} ];then
                    ln -s /var/lib/snapd/desktop/applications/${i##*/} ~/.local/share/applications/${i##*/};
                    fi;
                    done


                    There's probably a handful of different ways to accomplish this, but it works.






                    share|improve this answer



















                    • 1




                      Useless use of ls. Use for in /var/lib/snapd/desktop/applications/*.desktop; do i="${i##*/}"; ... instead. A shorter way to achieve this would be ln -st ~/.local/share/applications /var/lib/snapd/desktop/applications/*.desktop 2>/dev/null.
                      – David Foerster
                      Jul 27 at 16:44












                    • I knew there was a way to execute your first example, however I couldn't remember the ${i##*/} portion when I was initially writing this. I'll edit my post to include that variant. However, your latter suggestion does not check if the link already exists, thus uselessly re-executing the ln command. In fact, I wanted to find a way to avoid grep as well to reduce the number of processes spun up while executing. Thank's for your comment.
                      – Eric Niconovich
                      Jul 29 at 17:06










                    • My second suggestion does check if the target file exists already and, if that's the case, prints an error message (redirect to /dev/null and thus suppressed). It doesn't do anything “useless”: it forks & exec’s a single time and makes one system call to symlink(2) or symlinkat(2) for each matching file. If you use a loop to check for file type (stat(2)) and then (conditionally) fork & exec ln(1) which invokes symlink*(2) that’s a lot more “useless” work.
                      – David Foerster
                      Jul 29 at 17:36




















                    up vote
                    0
                    down vote













                    Running Kubuntu 18.04 the solution for me as adding



                    export XDG_DATA_DIRS="$XDG_DATA_DIRS:/var/lib/snapd/desktop/"



                    to a custom file like snap-apps.sh in ~/.config/plasma-workspace/env. But that applies only to Plasma 5 and might be fixed in Ubuntu 18.10 already.



                    As dsager already mentioned in his answer the usual /etc/profile.d/apps-bin-path.sh does not seem to work.






                    share|improve this answer





















                      Your Answer








                      StackExchange.ready(function() {
                      var channelOptions = {
                      tags: "".split(" "),
                      id: "89"
                      };
                      initTagRenderer("".split(" "), "".split(" "), channelOptions);

                      StackExchange.using("externalEditor", function() {
                      // Have to fire editor after snippets, if snippets enabled
                      if (StackExchange.settings.snippets.snippetsEnabled) {
                      StackExchange.using("snippets", function() {
                      createEditor();
                      });
                      }
                      else {
                      createEditor();
                      }
                      });

                      function createEditor() {
                      StackExchange.prepareEditor({
                      heartbeatType: 'answer',
                      convertImagesToLinks: true,
                      noModals: true,
                      showLowRepImageUploadWarning: true,
                      reputationToPostImages: 10,
                      bindNavPrevention: true,
                      postfix: "",
                      imageUploader: {
                      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
                      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
                      allowUrls: true
                      },
                      onDemand: true,
                      discardSelector: ".discard-answer"
                      ,immediatelyShowMarkdownHelp:true
                      });


                      }
                      });














                       

                      draft saved


                      draft discarded


















                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f910821%2fsnap-install-programs-not-in-launcher%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown

























                      9 Answers
                      9






                      active

                      oldest

                      votes








                      9 Answers
                      9






                      active

                      oldest

                      votes









                      active

                      oldest

                      votes






                      active

                      oldest

                      votes








                      up vote
                      20
                      down vote













                      If you are using zsh, the snap binary and desktop directories will not automatically be added to your environment variables. In order to solve this, I added the following line to /etc/zsh/zprofile (taken from Arch):



                      emulate sh -c 'source /etc/profile'


                      This will process your /etc/profile file with bash emulation, which in turn sources /etc/profile.d/* and sets the proper PATHs, etc.



                      To add only the snap directories to your path, without including all the rest of the default bash profile:



                      emulate sh -c 'source /etc/profile.d/apps-bin-path.sh'





                      share|improve this answer



















                      • 1




                        Thanks! Works well on 17.10 too. Switching to zsh brought up this problem for me aswell.
                        – danwit
                        Feb 11 at 12:07






                      • 1




                        They should fix this in the install process or add a FAQ/Troubleshooting steps for snap.
                        – BradErzwh
                        Mar 10 at 22:55










                      • Thanks, worked for me on 18.10. Hope this will be fixed somehow in future.
                        – Pavel Davydov
                        Nov 2 at 10:23















                      up vote
                      20
                      down vote













                      If you are using zsh, the snap binary and desktop directories will not automatically be added to your environment variables. In order to solve this, I added the following line to /etc/zsh/zprofile (taken from Arch):



                      emulate sh -c 'source /etc/profile'


                      This will process your /etc/profile file with bash emulation, which in turn sources /etc/profile.d/* and sets the proper PATHs, etc.



                      To add only the snap directories to your path, without including all the rest of the default bash profile:



                      emulate sh -c 'source /etc/profile.d/apps-bin-path.sh'





                      share|improve this answer



















                      • 1




                        Thanks! Works well on 17.10 too. Switching to zsh brought up this problem for me aswell.
                        – danwit
                        Feb 11 at 12:07






                      • 1




                        They should fix this in the install process or add a FAQ/Troubleshooting steps for snap.
                        – BradErzwh
                        Mar 10 at 22:55










                      • Thanks, worked for me on 18.10. Hope this will be fixed somehow in future.
                        – Pavel Davydov
                        Nov 2 at 10:23













                      up vote
                      20
                      down vote










                      up vote
                      20
                      down vote









                      If you are using zsh, the snap binary and desktop directories will not automatically be added to your environment variables. In order to solve this, I added the following line to /etc/zsh/zprofile (taken from Arch):



                      emulate sh -c 'source /etc/profile'


                      This will process your /etc/profile file with bash emulation, which in turn sources /etc/profile.d/* and sets the proper PATHs, etc.



                      To add only the snap directories to your path, without including all the rest of the default bash profile:



                      emulate sh -c 'source /etc/profile.d/apps-bin-path.sh'





                      share|improve this answer














                      If you are using zsh, the snap binary and desktop directories will not automatically be added to your environment variables. In order to solve this, I added the following line to /etc/zsh/zprofile (taken from Arch):



                      emulate sh -c 'source /etc/profile'


                      This will process your /etc/profile file with bash emulation, which in turn sources /etc/profile.d/* and sets the proper PATHs, etc.



                      To add only the snap directories to your path, without including all the rest of the default bash profile:



                      emulate sh -c 'source /etc/profile.d/apps-bin-path.sh'






                      share|improve this answer














                      share|improve this answer



                      share|improve this answer








                      edited Jan 23 at 8:22









                      muru

                      134k19282482




                      134k19282482










                      answered Dec 25 '17 at 23:13









                      hackel

                      39127




                      39127








                      • 1




                        Thanks! Works well on 17.10 too. Switching to zsh brought up this problem for me aswell.
                        – danwit
                        Feb 11 at 12:07






                      • 1




                        They should fix this in the install process or add a FAQ/Troubleshooting steps for snap.
                        – BradErzwh
                        Mar 10 at 22:55










                      • Thanks, worked for me on 18.10. Hope this will be fixed somehow in future.
                        – Pavel Davydov
                        Nov 2 at 10:23














                      • 1




                        Thanks! Works well on 17.10 too. Switching to zsh brought up this problem for me aswell.
                        – danwit
                        Feb 11 at 12:07






                      • 1




                        They should fix this in the install process or add a FAQ/Troubleshooting steps for snap.
                        – BradErzwh
                        Mar 10 at 22:55










                      • Thanks, worked for me on 18.10. Hope this will be fixed somehow in future.
                        – Pavel Davydov
                        Nov 2 at 10:23








                      1




                      1




                      Thanks! Works well on 17.10 too. Switching to zsh brought up this problem for me aswell.
                      – danwit
                      Feb 11 at 12:07




                      Thanks! Works well on 17.10 too. Switching to zsh brought up this problem for me aswell.
                      – danwit
                      Feb 11 at 12:07




                      1




                      1




                      They should fix this in the install process or add a FAQ/Troubleshooting steps for snap.
                      – BradErzwh
                      Mar 10 at 22:55




                      They should fix this in the install process or add a FAQ/Troubleshooting steps for snap.
                      – BradErzwh
                      Mar 10 at 22:55












                      Thanks, worked for me on 18.10. Hope this will be fixed somehow in future.
                      – Pavel Davydov
                      Nov 2 at 10:23




                      Thanks, worked for me on 18.10. Hope this will be fixed somehow in future.
                      – Pavel Davydov
                      Nov 2 at 10:23












                      up vote
                      8
                      down vote













                      It's built into the snap system, but you have to add the link to your dash. To start the program type



                      snap run meshlab


                      once it's up and running, right click on the icon and click on "add to dash".






                      share|improve this answer



























                        up vote
                        8
                        down vote













                        It's built into the snap system, but you have to add the link to your dash. To start the program type



                        snap run meshlab


                        once it's up and running, right click on the icon and click on "add to dash".






                        share|improve this answer

























                          up vote
                          8
                          down vote










                          up vote
                          8
                          down vote









                          It's built into the snap system, but you have to add the link to your dash. To start the program type



                          snap run meshlab


                          once it's up and running, right click on the icon and click on "add to dash".






                          share|improve this answer














                          It's built into the snap system, but you have to add the link to your dash. To start the program type



                          snap run meshlab


                          once it's up and running, right click on the icon and click on "add to dash".







                          share|improve this answer














                          share|improve this answer



                          share|improve this answer








                          edited Jun 13 '17 at 22:14

























                          answered Jun 2 '17 at 17:19









                          William MacDonald

                          1,07454




                          1,07454






















                              up vote
                              5
                              down vote














                              Do snap packages not show up in launcher?




                              They do as long as the snap ships proper .desktop files. Only Meshlab's meshlabserver has a proper desktop file (and indeed, it shows up in my launcher). The meshlab .desktop file, however, is attempting to exec meshlab.meshlab, when it should just be using meshlab. As a result, it doesn't show up.




                              How can I fix this?




                              If you run snap info meshlab you'll see contact info for the publisher. I suggest you report a bug to them. Until then, you can always run meshlab from the CLI, or create your own .desktop file for it.






                              share|improve this answer

























                                up vote
                                5
                                down vote














                                Do snap packages not show up in launcher?




                                They do as long as the snap ships proper .desktop files. Only Meshlab's meshlabserver has a proper desktop file (and indeed, it shows up in my launcher). The meshlab .desktop file, however, is attempting to exec meshlab.meshlab, when it should just be using meshlab. As a result, it doesn't show up.




                                How can I fix this?




                                If you run snap info meshlab you'll see contact info for the publisher. I suggest you report a bug to them. Until then, you can always run meshlab from the CLI, or create your own .desktop file for it.






                                share|improve this answer























                                  up vote
                                  5
                                  down vote










                                  up vote
                                  5
                                  down vote










                                  Do snap packages not show up in launcher?




                                  They do as long as the snap ships proper .desktop files. Only Meshlab's meshlabserver has a proper desktop file (and indeed, it shows up in my launcher). The meshlab .desktop file, however, is attempting to exec meshlab.meshlab, when it should just be using meshlab. As a result, it doesn't show up.




                                  How can I fix this?




                                  If you run snap info meshlab you'll see contact info for the publisher. I suggest you report a bug to them. Until then, you can always run meshlab from the CLI, or create your own .desktop file for it.






                                  share|improve this answer













                                  Do snap packages not show up in launcher?




                                  They do as long as the snap ships proper .desktop files. Only Meshlab's meshlabserver has a proper desktop file (and indeed, it shows up in my launcher). The meshlab .desktop file, however, is attempting to exec meshlab.meshlab, when it should just be using meshlab. As a result, it doesn't show up.




                                  How can I fix this?




                                  If you run snap info meshlab you'll see contact info for the publisher. I suggest you report a bug to them. Until then, you can always run meshlab from the CLI, or create your own .desktop file for it.







                                  share|improve this answer












                                  share|improve this answer



                                  share|improve this answer










                                  answered May 1 '17 at 16:13









                                  Kyle

                                  4,0931219




                                  4,0931219






















                                      up vote
                                      2
                                      down vote













                                      You have to run snap run meshlab from terminal and stop it, then you will see Meshlab in your application list






                                      share|improve this answer

























                                        up vote
                                        2
                                        down vote













                                        You have to run snap run meshlab from terminal and stop it, then you will see Meshlab in your application list






                                        share|improve this answer























                                          up vote
                                          2
                                          down vote










                                          up vote
                                          2
                                          down vote









                                          You have to run snap run meshlab from terminal and stop it, then you will see Meshlab in your application list






                                          share|improve this answer












                                          You have to run snap run meshlab from terminal and stop it, then you will see Meshlab in your application list







                                          share|improve this answer












                                          share|improve this answer



                                          share|improve this answer










                                          answered Dec 9 '17 at 14:30









                                          Kyaw Kyaw Soe

                                          1211




                                          1211






















                                              up vote
                                              1
                                              down vote













                                              Same thing with blender.



                                              snap run blender


                                              does work, however did not fix the problem.



                                              I had to copy blender.desktop from /snap/blender/current/blender.desktop to /usr/share/applications (with sudo) and then all was fixed: blender shows in the gnome menus and nautilus associates it with .blend files.



                                              Looks like some sort of crack between snaps and gnomes to me.
                                              Perhaps what we need is a snappy gnome (or is it a gnomey snap ;^).






                                              share|improve this answer



















                                              • 1




                                                Hi, I did what you told but I've now two icons for every program I've did this... see i.imgur.com/aamlQJZ.png Is this happened to you too?
                                                – Cirelli94
                                                Dec 29 '17 at 14:24















                                              up vote
                                              1
                                              down vote













                                              Same thing with blender.



                                              snap run blender


                                              does work, however did not fix the problem.



                                              I had to copy blender.desktop from /snap/blender/current/blender.desktop to /usr/share/applications (with sudo) and then all was fixed: blender shows in the gnome menus and nautilus associates it with .blend files.



                                              Looks like some sort of crack between snaps and gnomes to me.
                                              Perhaps what we need is a snappy gnome (or is it a gnomey snap ;^).






                                              share|improve this answer



















                                              • 1




                                                Hi, I did what you told but I've now two icons for every program I've did this... see i.imgur.com/aamlQJZ.png Is this happened to you too?
                                                – Cirelli94
                                                Dec 29 '17 at 14:24













                                              up vote
                                              1
                                              down vote










                                              up vote
                                              1
                                              down vote









                                              Same thing with blender.



                                              snap run blender


                                              does work, however did not fix the problem.



                                              I had to copy blender.desktop from /snap/blender/current/blender.desktop to /usr/share/applications (with sudo) and then all was fixed: blender shows in the gnome menus and nautilus associates it with .blend files.



                                              Looks like some sort of crack between snaps and gnomes to me.
                                              Perhaps what we need is a snappy gnome (or is it a gnomey snap ;^).






                                              share|improve this answer














                                              Same thing with blender.



                                              snap run blender


                                              does work, however did not fix the problem.



                                              I had to copy blender.desktop from /snap/blender/current/blender.desktop to /usr/share/applications (with sudo) and then all was fixed: blender shows in the gnome menus and nautilus associates it with .blend files.



                                              Looks like some sort of crack between snaps and gnomes to me.
                                              Perhaps what we need is a snappy gnome (or is it a gnomey snap ;^).







                                              share|improve this answer














                                              share|improve this answer



                                              share|improve this answer








                                              edited Nov 12 '17 at 7:02









                                              Zanna

                                              48.9k13123234




                                              48.9k13123234










                                              answered Nov 10 '17 at 18:13









                                              Mike Ward

                                              211




                                              211








                                              • 1




                                                Hi, I did what you told but I've now two icons for every program I've did this... see i.imgur.com/aamlQJZ.png Is this happened to you too?
                                                – Cirelli94
                                                Dec 29 '17 at 14:24














                                              • 1




                                                Hi, I did what you told but I've now two icons for every program I've did this... see i.imgur.com/aamlQJZ.png Is this happened to you too?
                                                – Cirelli94
                                                Dec 29 '17 at 14:24








                                              1




                                              1




                                              Hi, I did what you told but I've now two icons for every program I've did this... see i.imgur.com/aamlQJZ.png Is this happened to you too?
                                              – Cirelli94
                                              Dec 29 '17 at 14:24




                                              Hi, I did what you told but I've now two icons for every program I've did this... see i.imgur.com/aamlQJZ.png Is this happened to you too?
                                              – Cirelli94
                                              Dec 29 '17 at 14:24










                                              up vote
                                              1
                                              down vote













                                              For me, it also seems to be related to the combination of Wayland/ZSH under Ubuntu 18.04 - even though /var/lib/snapd/desktop is listed in the XDG_DATA_DIRS variable (this is done by /etc/profile.d/apps-bin-path.sh), the launcher doesn't recognize apps from that folder.



                                              A quick workaround is to sym-link the desired desktop files, for example:



                                              ln -s /var/lib/snapd/desktop/applications/rubymine_rubymine.desktop .local/share/applications





                                              share|improve this answer



























                                                up vote
                                                1
                                                down vote













                                                For me, it also seems to be related to the combination of Wayland/ZSH under Ubuntu 18.04 - even though /var/lib/snapd/desktop is listed in the XDG_DATA_DIRS variable (this is done by /etc/profile.d/apps-bin-path.sh), the launcher doesn't recognize apps from that folder.



                                                A quick workaround is to sym-link the desired desktop files, for example:



                                                ln -s /var/lib/snapd/desktop/applications/rubymine_rubymine.desktop .local/share/applications





                                                share|improve this answer

























                                                  up vote
                                                  1
                                                  down vote










                                                  up vote
                                                  1
                                                  down vote









                                                  For me, it also seems to be related to the combination of Wayland/ZSH under Ubuntu 18.04 - even though /var/lib/snapd/desktop is listed in the XDG_DATA_DIRS variable (this is done by /etc/profile.d/apps-bin-path.sh), the launcher doesn't recognize apps from that folder.



                                                  A quick workaround is to sym-link the desired desktop files, for example:



                                                  ln -s /var/lib/snapd/desktop/applications/rubymine_rubymine.desktop .local/share/applications





                                                  share|improve this answer














                                                  For me, it also seems to be related to the combination of Wayland/ZSH under Ubuntu 18.04 - even though /var/lib/snapd/desktop is listed in the XDG_DATA_DIRS variable (this is done by /etc/profile.d/apps-bin-path.sh), the launcher doesn't recognize apps from that folder.



                                                  A quick workaround is to sym-link the desired desktop files, for example:



                                                  ln -s /var/lib/snapd/desktop/applications/rubymine_rubymine.desktop .local/share/applications






                                                  share|improve this answer














                                                  share|improve this answer



                                                  share|improve this answer








                                                  edited Jul 27 at 16:41









                                                  David Foerster

                                                  27.3k1363107




                                                  27.3k1363107










                                                  answered Jul 2 at 7:48









                                                  dsager

                                                  111




                                                  111






















                                                      up vote
                                                      0
                                                      down vote













                                                      I ran in to the same issue on Ubuntu 18.04. It seems to be a problem with Wayland. The solution for me was to switch back from Wayland to Xorg.






                                                      share|improve this answer

























                                                        up vote
                                                        0
                                                        down vote













                                                        I ran in to the same issue on Ubuntu 18.04. It seems to be a problem with Wayland. The solution for me was to switch back from Wayland to Xorg.






                                                        share|improve this answer























                                                          up vote
                                                          0
                                                          down vote










                                                          up vote
                                                          0
                                                          down vote









                                                          I ran in to the same issue on Ubuntu 18.04. It seems to be a problem with Wayland. The solution for me was to switch back from Wayland to Xorg.






                                                          share|improve this answer












                                                          I ran in to the same issue on Ubuntu 18.04. It seems to be a problem with Wayland. The solution for me was to switch back from Wayland to Xorg.







                                                          share|improve this answer












                                                          share|improve this answer



                                                          share|improve this answer










                                                          answered Apr 29 at 15:42









                                                          romaind

                                                          1




                                                          1






















                                                              up vote
                                                              0
                                                              down vote













                                                              I couldn't comment on someone else's post. However, this is to add to dsager's answer which helped me on Fedora 28 (which as far as I can tell, uses Wayland)



                                                              I added the following snip to my ~/.bash_profile to link on login each file in /var/lib/snapd/desktop/applications. Similarly this could be modified to remove the links for apps which do not exist anymore by switching the paths in the for line and the if line then replacing ln with an rm.



                                                              for i in /var/lib/snapd/desktop/applications/*.desktop; do
                                                              if [ ! -f ~/.local/share/applications/${i##*/} ];then
                                                              ln -s /var/lib/snapd/desktop/applications/${i##*/} ~/.local/share/applications/${i##*/};
                                                              fi;
                                                              done


                                                              There's probably a handful of different ways to accomplish this, but it works.






                                                              share|improve this answer



















                                                              • 1




                                                                Useless use of ls. Use for in /var/lib/snapd/desktop/applications/*.desktop; do i="${i##*/}"; ... instead. A shorter way to achieve this would be ln -st ~/.local/share/applications /var/lib/snapd/desktop/applications/*.desktop 2>/dev/null.
                                                                – David Foerster
                                                                Jul 27 at 16:44












                                                              • I knew there was a way to execute your first example, however I couldn't remember the ${i##*/} portion when I was initially writing this. I'll edit my post to include that variant. However, your latter suggestion does not check if the link already exists, thus uselessly re-executing the ln command. In fact, I wanted to find a way to avoid grep as well to reduce the number of processes spun up while executing. Thank's for your comment.
                                                                – Eric Niconovich
                                                                Jul 29 at 17:06










                                                              • My second suggestion does check if the target file exists already and, if that's the case, prints an error message (redirect to /dev/null and thus suppressed). It doesn't do anything “useless”: it forks & exec’s a single time and makes one system call to symlink(2) or symlinkat(2) for each matching file. If you use a loop to check for file type (stat(2)) and then (conditionally) fork & exec ln(1) which invokes symlink*(2) that’s a lot more “useless” work.
                                                                – David Foerster
                                                                Jul 29 at 17:36

















                                                              up vote
                                                              0
                                                              down vote













                                                              I couldn't comment on someone else's post. However, this is to add to dsager's answer which helped me on Fedora 28 (which as far as I can tell, uses Wayland)



                                                              I added the following snip to my ~/.bash_profile to link on login each file in /var/lib/snapd/desktop/applications. Similarly this could be modified to remove the links for apps which do not exist anymore by switching the paths in the for line and the if line then replacing ln with an rm.



                                                              for i in /var/lib/snapd/desktop/applications/*.desktop; do
                                                              if [ ! -f ~/.local/share/applications/${i##*/} ];then
                                                              ln -s /var/lib/snapd/desktop/applications/${i##*/} ~/.local/share/applications/${i##*/};
                                                              fi;
                                                              done


                                                              There's probably a handful of different ways to accomplish this, but it works.






                                                              share|improve this answer



















                                                              • 1




                                                                Useless use of ls. Use for in /var/lib/snapd/desktop/applications/*.desktop; do i="${i##*/}"; ... instead. A shorter way to achieve this would be ln -st ~/.local/share/applications /var/lib/snapd/desktop/applications/*.desktop 2>/dev/null.
                                                                – David Foerster
                                                                Jul 27 at 16:44












                                                              • I knew there was a way to execute your first example, however I couldn't remember the ${i##*/} portion when I was initially writing this. I'll edit my post to include that variant. However, your latter suggestion does not check if the link already exists, thus uselessly re-executing the ln command. In fact, I wanted to find a way to avoid grep as well to reduce the number of processes spun up while executing. Thank's for your comment.
                                                                – Eric Niconovich
                                                                Jul 29 at 17:06










                                                              • My second suggestion does check if the target file exists already and, if that's the case, prints an error message (redirect to /dev/null and thus suppressed). It doesn't do anything “useless”: it forks & exec’s a single time and makes one system call to symlink(2) or symlinkat(2) for each matching file. If you use a loop to check for file type (stat(2)) and then (conditionally) fork & exec ln(1) which invokes symlink*(2) that’s a lot more “useless” work.
                                                                – David Foerster
                                                                Jul 29 at 17:36















                                                              up vote
                                                              0
                                                              down vote










                                                              up vote
                                                              0
                                                              down vote









                                                              I couldn't comment on someone else's post. However, this is to add to dsager's answer which helped me on Fedora 28 (which as far as I can tell, uses Wayland)



                                                              I added the following snip to my ~/.bash_profile to link on login each file in /var/lib/snapd/desktop/applications. Similarly this could be modified to remove the links for apps which do not exist anymore by switching the paths in the for line and the if line then replacing ln with an rm.



                                                              for i in /var/lib/snapd/desktop/applications/*.desktop; do
                                                              if [ ! -f ~/.local/share/applications/${i##*/} ];then
                                                              ln -s /var/lib/snapd/desktop/applications/${i##*/} ~/.local/share/applications/${i##*/};
                                                              fi;
                                                              done


                                                              There's probably a handful of different ways to accomplish this, but it works.






                                                              share|improve this answer














                                                              I couldn't comment on someone else's post. However, this is to add to dsager's answer which helped me on Fedora 28 (which as far as I can tell, uses Wayland)



                                                              I added the following snip to my ~/.bash_profile to link on login each file in /var/lib/snapd/desktop/applications. Similarly this could be modified to remove the links for apps which do not exist anymore by switching the paths in the for line and the if line then replacing ln with an rm.



                                                              for i in /var/lib/snapd/desktop/applications/*.desktop; do
                                                              if [ ! -f ~/.local/share/applications/${i##*/} ];then
                                                              ln -s /var/lib/snapd/desktop/applications/${i##*/} ~/.local/share/applications/${i##*/};
                                                              fi;
                                                              done


                                                              There's probably a handful of different ways to accomplish this, but it works.







                                                              share|improve this answer














                                                              share|improve this answer



                                                              share|improve this answer








                                                              edited Jul 29 at 17:12

























                                                              answered Jul 27 at 16:17









                                                              Eric Niconovich

                                                              12




                                                              12








                                                              • 1




                                                                Useless use of ls. Use for in /var/lib/snapd/desktop/applications/*.desktop; do i="${i##*/}"; ... instead. A shorter way to achieve this would be ln -st ~/.local/share/applications /var/lib/snapd/desktop/applications/*.desktop 2>/dev/null.
                                                                – David Foerster
                                                                Jul 27 at 16:44












                                                              • I knew there was a way to execute your first example, however I couldn't remember the ${i##*/} portion when I was initially writing this. I'll edit my post to include that variant. However, your latter suggestion does not check if the link already exists, thus uselessly re-executing the ln command. In fact, I wanted to find a way to avoid grep as well to reduce the number of processes spun up while executing. Thank's for your comment.
                                                                – Eric Niconovich
                                                                Jul 29 at 17:06










                                                              • My second suggestion does check if the target file exists already and, if that's the case, prints an error message (redirect to /dev/null and thus suppressed). It doesn't do anything “useless”: it forks & exec’s a single time and makes one system call to symlink(2) or symlinkat(2) for each matching file. If you use a loop to check for file type (stat(2)) and then (conditionally) fork & exec ln(1) which invokes symlink*(2) that’s a lot more “useless” work.
                                                                – David Foerster
                                                                Jul 29 at 17:36
















                                                              • 1




                                                                Useless use of ls. Use for in /var/lib/snapd/desktop/applications/*.desktop; do i="${i##*/}"; ... instead. A shorter way to achieve this would be ln -st ~/.local/share/applications /var/lib/snapd/desktop/applications/*.desktop 2>/dev/null.
                                                                – David Foerster
                                                                Jul 27 at 16:44












                                                              • I knew there was a way to execute your first example, however I couldn't remember the ${i##*/} portion when I was initially writing this. I'll edit my post to include that variant. However, your latter suggestion does not check if the link already exists, thus uselessly re-executing the ln command. In fact, I wanted to find a way to avoid grep as well to reduce the number of processes spun up while executing. Thank's for your comment.
                                                                – Eric Niconovich
                                                                Jul 29 at 17:06










                                                              • My second suggestion does check if the target file exists already and, if that's the case, prints an error message (redirect to /dev/null and thus suppressed). It doesn't do anything “useless”: it forks & exec’s a single time and makes one system call to symlink(2) or symlinkat(2) for each matching file. If you use a loop to check for file type (stat(2)) and then (conditionally) fork & exec ln(1) which invokes symlink*(2) that’s a lot more “useless” work.
                                                                – David Foerster
                                                                Jul 29 at 17:36










                                                              1




                                                              1




                                                              Useless use of ls. Use for in /var/lib/snapd/desktop/applications/*.desktop; do i="${i##*/}"; ... instead. A shorter way to achieve this would be ln -st ~/.local/share/applications /var/lib/snapd/desktop/applications/*.desktop 2>/dev/null.
                                                              – David Foerster
                                                              Jul 27 at 16:44






                                                              Useless use of ls. Use for in /var/lib/snapd/desktop/applications/*.desktop; do i="${i##*/}"; ... instead. A shorter way to achieve this would be ln -st ~/.local/share/applications /var/lib/snapd/desktop/applications/*.desktop 2>/dev/null.
                                                              – David Foerster
                                                              Jul 27 at 16:44














                                                              I knew there was a way to execute your first example, however I couldn't remember the ${i##*/} portion when I was initially writing this. I'll edit my post to include that variant. However, your latter suggestion does not check if the link already exists, thus uselessly re-executing the ln command. In fact, I wanted to find a way to avoid grep as well to reduce the number of processes spun up while executing. Thank's for your comment.
                                                              – Eric Niconovich
                                                              Jul 29 at 17:06




                                                              I knew there was a way to execute your first example, however I couldn't remember the ${i##*/} portion when I was initially writing this. I'll edit my post to include that variant. However, your latter suggestion does not check if the link already exists, thus uselessly re-executing the ln command. In fact, I wanted to find a way to avoid grep as well to reduce the number of processes spun up while executing. Thank's for your comment.
                                                              – Eric Niconovich
                                                              Jul 29 at 17:06












                                                              My second suggestion does check if the target file exists already and, if that's the case, prints an error message (redirect to /dev/null and thus suppressed). It doesn't do anything “useless”: it forks & exec’s a single time and makes one system call to symlink(2) or symlinkat(2) for each matching file. If you use a loop to check for file type (stat(2)) and then (conditionally) fork & exec ln(1) which invokes symlink*(2) that’s a lot more “useless” work.
                                                              – David Foerster
                                                              Jul 29 at 17:36






                                                              My second suggestion does check if the target file exists already and, if that's the case, prints an error message (redirect to /dev/null and thus suppressed). It doesn't do anything “useless”: it forks & exec’s a single time and makes one system call to symlink(2) or symlinkat(2) for each matching file. If you use a loop to check for file type (stat(2)) and then (conditionally) fork & exec ln(1) which invokes symlink*(2) that’s a lot more “useless” work.
                                                              – David Foerster
                                                              Jul 29 at 17:36












                                                              up vote
                                                              0
                                                              down vote













                                                              Running Kubuntu 18.04 the solution for me as adding



                                                              export XDG_DATA_DIRS="$XDG_DATA_DIRS:/var/lib/snapd/desktop/"



                                                              to a custom file like snap-apps.sh in ~/.config/plasma-workspace/env. But that applies only to Plasma 5 and might be fixed in Ubuntu 18.10 already.



                                                              As dsager already mentioned in his answer the usual /etc/profile.d/apps-bin-path.sh does not seem to work.






                                                              share|improve this answer

























                                                                up vote
                                                                0
                                                                down vote













                                                                Running Kubuntu 18.04 the solution for me as adding



                                                                export XDG_DATA_DIRS="$XDG_DATA_DIRS:/var/lib/snapd/desktop/"



                                                                to a custom file like snap-apps.sh in ~/.config/plasma-workspace/env. But that applies only to Plasma 5 and might be fixed in Ubuntu 18.10 already.



                                                                As dsager already mentioned in his answer the usual /etc/profile.d/apps-bin-path.sh does not seem to work.






                                                                share|improve this answer























                                                                  up vote
                                                                  0
                                                                  down vote










                                                                  up vote
                                                                  0
                                                                  down vote









                                                                  Running Kubuntu 18.04 the solution for me as adding



                                                                  export XDG_DATA_DIRS="$XDG_DATA_DIRS:/var/lib/snapd/desktop/"



                                                                  to a custom file like snap-apps.sh in ~/.config/plasma-workspace/env. But that applies only to Plasma 5 and might be fixed in Ubuntu 18.10 already.



                                                                  As dsager already mentioned in his answer the usual /etc/profile.d/apps-bin-path.sh does not seem to work.






                                                                  share|improve this answer












                                                                  Running Kubuntu 18.04 the solution for me as adding



                                                                  export XDG_DATA_DIRS="$XDG_DATA_DIRS:/var/lib/snapd/desktop/"



                                                                  to a custom file like snap-apps.sh in ~/.config/plasma-workspace/env. But that applies only to Plasma 5 and might be fixed in Ubuntu 18.10 already.



                                                                  As dsager already mentioned in his answer the usual /etc/profile.d/apps-bin-path.sh does not seem to work.







                                                                  share|improve this answer












                                                                  share|improve this answer



                                                                  share|improve this answer










                                                                  answered Oct 22 at 23:09









                                                                  A. Ziegler

                                                                  1012




                                                                  1012






























                                                                       

                                                                      draft saved


                                                                      draft discarded



















































                                                                       


                                                                      draft saved


                                                                      draft discarded














                                                                      StackExchange.ready(
                                                                      function () {
                                                                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f910821%2fsnap-install-programs-not-in-launcher%23new-answer', 'question_page');
                                                                      }
                                                                      );

                                                                      Post as a guest















                                                                      Required, but never shown





















































                                                                      Required, but never shown














                                                                      Required, but never shown












                                                                      Required, but never shown







                                                                      Required, but never shown

































                                                                      Required, but never shown














                                                                      Required, but never shown












                                                                      Required, but never shown







                                                                      Required, but never shown







                                                                      Popular posts from this blog

                                                                      How did Captain America manage to do this?

                                                                      迪纳利

                                                                      南乌拉尔铁路局