App doesn't show up in app drawer or on desktop

Joplin version:
You already have the latest version 2.8.8 installed.
linux version:
pop_os 22.04
kernel version:
uname -r
6.0.6-76060006-generic
shell
zsh --version
zsh 5.8.1 (x86_64-ubuntu-linux-gnu)

some info the install script checks:
echo "$XDG_CURRENT_DESKTOP"
pop:GNOME

echo $(echo "${XDG_DATA_DIRS}" | sed 's/.*\(xfce\|kde\|gnome\).*/\1/')
gnome

❱ lsb_release -is
Pop
❱ lsb_release -rs
22.04
❱ lsb_release -cs
jammy

Hi

i don't think this is a bug, more a local issue, as, when reading the forum, people using pop_os managed to install it, hence i first ask it here before heading to github.

i installed joplin using the following command (from the website) wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh | bash

it tells me the install was successful and indeed, i find the
~/.joplin
~/.config/Joplin
~/.config/joplin-desktop
directories
as well as the
~/.local/share/applications/appimagekit-joplin.desktop

content of the last file:

[Desktop Entry]
Encoding=UTF-8
Name=Joplin
Comment=Joplin for Desktop
Exec=/home/syberon/.joplin/Joplin.AppImage   %u
Icon=@joplinapp-desktop
StartupWMClass=Joplin
Type=Application
Categories=Office;
MimeType=x-scheme-handler/joplin;
X-GNOME-SingleWindow=true // should be removed eventually as it was upstream to be an XDG specification
SingleMainWindow=true

The problem i have is that there is no desktop icon, (which i don't mind, my desktop is empty), but when i hit the super key and type 'joplin' i don't get any hits. When looking in my application drawer, i can't find Joplin in there either.

For completeness, i can run the app, if i go to ~/.joplin and run Joplin.AppImage, both from gui as from cli.

❱ ./Joplin.AppImage                                          
xdg-settings: invalid application name
Try 'xdg-settings --help' for more information.
[27620:1210/204308.791439:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
(node:27579) electron: The default of nativeWindowOpen is deprecated and will be changing from false to true in Electron 15.  See https://github.com/electron/electron/issues/28511 for more information.
(Use `@joplinapp-desktop --trace-warnings ...` to show where the warning was created)

followed by the application starting.

running journalctl -d

Dec 10 20:30:21 bancroft systemd[989]: Started dbus-:1.5-org.gnome.Nautilus@1.service.
Dec 10 20:30:21 bancroft gnome-shell[1252]: Ignoring length property that isn't a number at line 4, col 20
Dec 10 20:30:21 bancroft systemd[1]: Starting Hostname Service...
Dec 10 20:30:21 bancroft systemd[1]: Started Hostname Service.
Dec 10 20:30:28 bancroft nautilus[25163]: xdg-settings: invalid application name
Dec 10 20:30:28 bancroft nautilus[25163]: Try 'xdg-settings --help' for more information.
Dec 10 20:30:29 bancroft nautilus[25180]: [25180:1210/203029.319412:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multi>
Dec 10 20:30:29 bancroft nautilus[25139]: (node:25139) electron: The default of nativeWindowOpen is deprecated and will be changing fr>
Dec 10 20:30:29 bancroft nautilus[25139]: (Use `@joplinapp-desktop --trace-warnings ...` to show where the warning was created)
Dec 10 20:30:31 bancroft nautilus[25250]: xdg-settings: invalid application name
Dec 10 20:30:31 bancroft nautilus[25250]: Try 'xdg-settings --help' for more information.
Dec 10 20:30:32 bancroft systemd[1]: tmp-.mount_Joplin2DnfRN.mount: Deactivated successfully.
Dec 10 20:30:36 bancroft systemd[1]: tmp-.mount_JoplinZWJw6x.mount: Deactivated successfully.
Dec 10 20:30:51 bancroft systemd[1]: systemd-hostnamed.service: Deactivated successfully.

Any help would be appreciated, if required, i will head over to github.

Admittedly I never suffered this with Pop_OS but some distros never showed the app / app icon until the user had logged out and logged back in again. It's probably not what is happening here but have you tried it?

Hi

unfortunately i already tried this, even a complete reboot didn’t make joplin appear in my app drawer.

The missing icon might be related to this: [Desktop, Linux] Fix AppImage icon when installing using Joplin_install_and_update.sh by roman-r-m · Pull Request #7346 · laurent22/joplin · GitHub

I tried to fix it (by changing the icon name) but looks like it didn't help. Could be because the icon had incorrect size. This has been fixed but I don't think it's been released yet.

You could try running appimagelint to check for any other issues.

The problem isn't that the icon isn't showing;it's that it isn't even shown in my app drawer or anywhere else.
I have to launch it from cli.

i checked the link you suggested, i don't think this is relevant to me; the icon already is 'at'joplin-desktop and i also don't use appimage launcher. I only used the recommended script.

I ran the update-desktop-database with verbosity, maybe this helps someone?

[[ command -v update-desktop-database ]] && update-desktop-database -v ~/.local/share/applications && update-desktop-database ~/.local/share/icons -v
Search path is now: [/home/{{user}}/.local/share/applications]
File "/home/{{user}}/.local/share/applications/appimagekit-pcloud.desktop" lacks MimeType key
File "/home/{{user}}/.local/share/applications/userapp-Firefox-EYMFW1.desktop" lacks MimeType key
Search path is now: [/home/{{user}}/.local/share/icons]

I managed installing it, the way it should be, with appimagelauncher (meaning: registered in applications and application drawer)
i can now hit the super key, type 'jop' and select the application.
But preferably, i would use the installscript, as it is the recommended method.

You could compare the .desktop file created by appimagelauncher against the one generated by the script to see if there are any obvious differences.

i found the issue; joplin doesn't adhere to the freedesktop xdg standard.
i configure these to keep a clean home folder, but joplin ignores these. I confirmed this by placing the files in the folder my os expects and voila, it shows up.

export XDG_CONFIG_HOME='$HOME/.config'
export XDG_DATA_HOME='$XDG_CONFIG_HOME/local/share'
export XDG_CACHE_HOME = '$XDG_CONFIG_HOME/'

once i knew this was the issue, i found following github and forum posts:

for now, i will leave this as is, but i don't know if i'll be able to update joplin from within the app, now it's not in the expected directory.
should i not be able to update it, i'll use appimagelauncher.

but tbh, i do think, programs should adhere to this as it wouldn't break anything. everybody has these defined by default; i just changed the location of these variables.

It seems like the fix for this is pretty small, currently Joplin hardcodes the desktop file location as ~/.local/share/applications. If that is instead changed to use $XDG_DATA_HOME (with .local/share as a fallback) then this should solve your issue without breaking for anyone else. I'll make a PR with this change.

Fully conforming to the freedesktop standard is more challenging because it requires moving the Joplin database (which should be under $XDG_DATA_HOME).

edit: Desktop, Linux: Use XDG_DATA_HOME for the .desktop file on linux by CalebJohn · Pull Request #7456 · laurent22/joplin · GitHub

1 Like

@CalebJohn

  • the developer marked the github bug (of october 2022) as "won't fix", so not sure he will pull it in.

as as @Daeraxa mentioned in his post (ideally, if you follow standards):

  • ~/.config/Joplin should be in $XDG_CACHE_HOME
  • ~/config/joplin-desktop should be in $XDG_CONFIG_HOME (for most people, this is .config)
  • ~/.joplin should be in ~/.local/bin

I just make this comment, in the hope @laurent22 sees this and the concept gains traction.

tbh, i've uninstalled Joplin and am exploring other tools, as i like the idea of "1 app, 1 file" but if standards are not followed and i want to change/remove something, I'm stuck in the same boat as now: I'll be running find on my laptop to search for files i need to remove.

it could be I'm returning as i can't find a better tool, but I'll try first.

Just a comment, but this isn't a Linux-only problem, e.g. the paths used by Joplin in Windows are also all over the place :wink:. For example, %USERPROFILE%\.config\joplin-desktop should be %APPDATA%\Joplin, the current %APPDATA%\Joplin should be %LOCALAPPDATA%\Joplin (or even %TEMP%\Joplin as these are just Electron files created automatically on start), etc.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.