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.
The file is in the appimage, thats for sure.
reinstall?
I’d also rather use this:
(figure of speech - I actually wouldn’t do anything crypto currency)
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/application
s
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
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!
did that and it worked! Thank you for your patience!
Should I report the bug to the package maintainers somehow?
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.