Ledger Live went missing from the start menu

I will try to provide all the information you need.

there should be a file
/usr/share/applications/ledger-live-desktop.desktop
and it should not be empty

if it is - I don’t know why. :man_shrugging:
The file is in the appimage, thats for sure.

reinstall?

I’d also rather use this:

AUR (en) - ledger-live

(figure of speech - I actually wouldn’t do anything crypto currency)

1 Like

There should be a .desktop file under /opt/

What are the contents of,

cat /opt/ledger-live/ledger-live-desktop.desktop

And also list the contents of the directory, since it should have a symlink that points to → /usr/share/applications/ledger-live-desktop.desktop

ls -l /opt/ledger-live/

Looking at the AUR and the comments inside the PKGBUILD, as well as comparing it to the GitHub, this package is a mess…

In fact, the PKGBUILD is pointing to a deleted tag from upstream.

Maybe the developers of Ledger Live aren’t using proper versioning etiquette, or just don’t care.

I didn’t read it, or did any testing on it.
But I did read the appimage one.
I’m not very familiar with interpreting the sed commands which alter the .desktop file …
but it should be there in /opt and a link to it in /usr/share/applications

I’m out - can’t contribute any more.

contents of cat /opt/ledger-live/ledger-live-desktop.desktop :

[Desktop Entry]
Name=Ledger Live
Exec=ledger-live-desktop --no-sandbox %U
Terminal=false
Type=Application
Icon=ledger-live-desktop
StartupWMClass=Ledger Live
Comment=Ledger Live - Desktop
MimeType=x-scheme-handler/ledgerlive;
Categories=Finance;
contents of ls -l /opt/ledger-live/ : 

-rw-r--r-- 1 root root    142599 2022-12-12 17:10 chrome_100_percent.pak
-rw-r--r-- 1 root root    209188 2022-12-12 17:10 chrome_200_percent.pak
-rwxr-xr-x 1 root root   1084808 2022-12-12 17:10 chrome_crashpad_handler
-rwxr-xr-x 1 root root     15088 2022-12-12 17:10 chrome-sandbox
-rw-r--r-- 1 root root  10215904 2022-12-12 17:10 icudtl.dat
-rwxr-xr-x 1 root root 145025616 2022-12-12 17:10 ledger-live-desktop
-rw-r--r-- 1 root root       246 2022-12-12 17:10 ledger-live-desktop.desktop
lrwxrwxrwx 1 root root        62 2022-12-12 17:10 ledger-live-desktop.png -> usr/share/icons/hicolor/1024x1024/apps/ledger-live-desktop.png
-rwxr-xr-x 1 root root    228008 2022-12-12 17:10 libEGL.so
-rwxr-xr-x 1 root root   2805104 2022-12-12 17:10 libffmpeg.so
-rwxr-xr-x 1 root root   6839048 2022-12-12 17:10 libGLESv2.so
-rwxr-xr-x 1 root root   3973680 2022-12-12 17:10 libvk_swiftshader.so
-rwxr-xr-x 1 root root    469064 2022-12-12 17:10 libvulkan.so.1
-rw-r--r-- 1 root root      1096 2022-12-12 17:10 LICENSE.electron.txt
-rw-r--r-- 1 root root   5440553 2022-12-12 17:10 LICENSES.chromium.html
drwxr-xr-x 2 root root      4096 2022-12-12 22:52 locales
drwxr-xr-x 2 root root      4096 2022-12-12 22:52 resources
-rw-r--r-- 1 root root   5864244 2022-12-12 17:10 resources.pak
-rw-r--r-- 1 root root     49272 2022-12-12 17:10 snapshot_blob.bin
drwxr-xr-x 2 root root      4096 2022-12-12 22:52 swiftshader
drwxr-xr-x 4 root root      4096 2022-09-17 22:34 usr
-rw-r--r-- 1 root root    164475 2022-12-12 17:10 v8_context_snapshot.bin
-rw-r--r-- 1 root root       107 2022-12-12 17:10 vk_swiftshader_icd.json

Moderator edit: In the future, please use proper formatting: [HowTo] Post command output and file content as formatted text

So it does exist, then can you post this output, to make sure it’s properly pointing back to the original?

ls -l /usr/share/applications/ | grep -i ledger
lrwxrwxrwx 1 root root    33 2022-12-12 17:10 ledger-live-desktop.desktop -> /opt//ledger-live-desktop.desktop

That’s why.

The symlink is pointing to a non-existent file.

It should point to this:

/opt/ledger-live/ledger-live-desktop.desktop

However, it’s currently (incorrectly) pointing to:

/opt/ledger-live-desktop.desktop

You can manually remove and re-link it properly, however, this might be overwritten in the next update of the PKGBUILD.

sudo rm /usr/share/applications/ledger-live-desktop.desktop

sudo ln -s /opt/ledger-live/ledger-live-desktop.desktop /usr/share/applications/ledger-live-desktop.desktop

Why are you doing that? @oberon added it to the repos almost three years ago. :wink:

1 Like

I thought the -bin moniker was reserved for the AUR?

Otherwise, official packages remove it.

Normally, that is the case.

Reinstalled the package, the problem still persists.

this is the link that is created during installation:

ls -al /usr/share/applications/ledger-live-desktop.desktop 
lrwxrwxrwx 1 root root 33 Dec 12 16:10 /usr/share/applications/ledger-live-desktop.desktop -> /opt//ledger-live-desktop.desktop

It points to a wrong (non-existent) location -
the PKGBUILD
which uses the appimage to build the package
contains an error.

sudo rm /usr/share/applications/ledger-live-desktop.desktop

will remove the faulty link

sudo ln -s /opt/ledger-live-desktop/ledger-live-desktop.desktop /usr/share/applications/ledger-live-desktop.desktop

will create the correct link

Then the desktop entry is present, and the program works as well, as far as I could tell.


ps:
I’ll just mention @Yochanan and @oberon to make sure they see this


pps:

these two lines in the PKGBUILD - rather the second one
currently look like this:

install -d "${pkgdir}/usr/share/applications"   
ln -s "/opt/${_pkgname}/${_pkgbin}.desktop" "${pkgdir}/usr/share/applications/"

they should look like this:

install -d "${pkgdir}/usr/share/applications"   
ln -s "/opt/${_pkgname}/${_pkgbin}.desktop" "/usr/share/applications/${_pkgbin}.desktop"

not tested!

1 Like

did that and it worked! Thank you for your patience!

Should I report the bug to the package maintainers somehow?

:grin:

You probably want "${pkgdir}" infront of /usr....

That variable - I only see it being used, but not defined anywhere.
That could be another reason for the wrong link.
I do not understand it well enough - not tested, as I said.
and I will not test it …

From PKGBUILD(5)

All of the above variables such as $pkgname and $pkgver are available for use in the packaging functions. In addition, makepkg defines the following variables:

srcdir

This contains the directory where makepkg extracts, or copies, all source files.

All of the packaging functions defined above are run starting inside $srcdir

pkgdir

This contains the directory where makepkg bundles the installed package. This directory will become the root directory of your built package. This variable should only be used in the package() function.

No, they should look like this. :wink:

I corrected the typo and removed the unnecessary variable with 2.50.1-2.

1 Like