How to install RUSTDESK on aarch64 EndeavourOS ARM

Moderator’s note.

This was originally part of another topic.
This was moved to give this topic more exposure for a more specific subject,

Pudge

Hi

I tried to install the “rustdesk-nightly” program from the AUR.

yay --editmenu -S rustdesk-nightly

But after editing the arch= line, there is still a warning that the architecture is not supported. Isn’t that still possible?

I have never seen the --editmenu option for yay. I checked the Archlinux Wiki for yay and did not find --editmenu listed anywhere. Since running yay with --editmenu did not produce an illegal option result, it must be valid. Perhaps the WiKi is out of date about --editmenu. Since I know nothing about it, I did not use that option.

Wow, rustdesk is kind of an odd ball AUR app.

First off, I went to the AUR page for rustdesk-nightly
https://aur.archlinux.org/packages/rustdesk-nightly
it lists the following as dependencies

Notice the Required by (2) column

remmina-plugin-rustdesk (requires rustdesk)
rustdesk-openrc (requires rustdesk)

There are two required dependencies, both of which depend on rustdesk.
Essentially, there are three dependencies, rustdesk, remmina-plugin-rustdesk, and rustdesk-openrc.

None of these are installed by default. The problem is, the rustdesk-nightly PKGBUILD should have done a dependency check and complained that there were missing dependencies when I ran yay -S rustdesk-nightly. Using the --editmenu option also did not complain of missing dependencies. So I would consider this a bug in the rust-desk-nightly PKGBUILD.

Towards the bottom of the AUR rustdesk-nightly page, is the following sources.

I clicked on the URL and downloaded

rustdesk-1.2.0-0-x86_64.pkg.tar.zst

In Dolphin, when I right click on that file, then click properties, I get

Notice

Type:   executable

That indicates this is a binary executable file. The x86_64 part of
rustdesk-1.2.0-0-x86_64.pkg.tar.zst
indicates it is a x86_64 binary executable file. This is where the

error: failed to prepare transaction (package architecture is not valid)

comes in.

Now for the interesting part. The rustdesk-nightly github page lists the following packages.

Lists the following packages

Notice, the second and third packages were compiled for aarch64, but they are fedora and suse.
However, the eighth package is an aarch-AppImage.

I looked at the NON nightly version 1.1.9 but they did not have an aarch64 AppImg.

I have tried so many things on my RPi 4b test KDE Plasma setup, I have no idea what state it is in. I am going to do a fresh install of Plasma on my test system, and then download and try the aarch64 AppImage.

Later

Pudge

Craziness. Didn’t think it was that complicated. By the way, Rustdesk is a great solution for remote desktops, and the 1.12 promises some more interesting functions, which was the reason to try the Nightly on the Raspi as well. Btw. There is no problem on the x86 EOS desktop.

1 Like

Normally, installing from the AUR using yay is actually quite easy once you get used to answering yay’s questions. This just happened to be a odd ball app.

The test RPi 4b is almost finished installing, then I will try to install the rustdesk AppImg.
Now that you got me curious about rustdesk and installing it, I just got to try it.

Later

Pudge

I got rustdesk working on the RPi 4 model b with KDE Plasma.

download the AppImg from
https://github.com/rustdesk/rustdesk/releases/download/nightly/rustdesk-1.2.0-aarch64.AppImage

I just run this from my home directory as user. /home/don/rustdesk
In Dolphin, in your home dirctory, create /home/don/rustdesk

In Dolphin, change to the Downloads directory.
right click on rustdesk-1.2.0-aarch64.AppImg and then cut
change to the rustdesk directory and copy the rustdesk AppImg there.
Right click on rustdesk-1.2.0-aarch64.AppImg then click on Properties.
Make the rustdesk file executable

Open a terminal window.
cd to /home/don/rustdesk and then

./rustdesk-1.2.0-aarch64.AppImage --appimage-extract

cd squashfs-root/
./AppRun

Here is the .desktop file I created.

[Desktop Entry]

Name=rustdesk
GenericName=remote desktop Viewer
Comment=Remotely access remote desktop
Keywords=remote;desktop;
Exec=/home/don/rustdesk/squashfs-root/AppRun
Terminal=false
Type=Application
# TRANSLATORS: Do NOT translate or transliterate this text (this is an icon file name)!
Icon=r
MimeType=
StartupNotify=true
Categories=GTK;Development;

Put this in
/usr/share/applications/rustdesk.desktop
with the following ownershipt and permissions
-rw-r–r-- 1 root root 358 Feb 22 16:08 rustdesk.desktop

It should show up on the applications launcher under “Development”. I thought it would put it under ‘Internet’.

I am going to leave this on my test RPi 4b device and tinker with it some.

Pudge

1 Like

Hello and thank you for the notice. With App Images, I’m not so sure if that doesn’t put too much strain on the Raspi. But I can test that too. The main question. Does the autorun also start the daemon? I won’t be able to test it myself until the weekend.

I didn’t know enough about rustdesk to realize there was a daemon.
Interesting, I will check, right after breakfast. US MST -8 hours from Europe’s time.

Pudge

8 hours… It’s closing time here again. As for the deamon. I also had to learn that Arch or EOS does not activate the deamon as a default after an installation.

OK, there is not deamon installed. But it can start with the autostart feature. Thats not a good idea for more than one user. But now to make some tests. Maybe there is a final 1.12 some day…

Btw. Why didn’t u tried it to install fuse, so the Appimage can maybe run of its own ?? Without extracting…

EDIT: the package is called “fuse2”

I never used rustdesk or AppImg before. As usual for me, I learn best from the school of hard knocks, alias trial & error. It looks like you are ahead of me on rustdesk and AppImg.

By default, EnOS installs fuse 3

pacman -Q | grep fuse
confuse 3.3-3
fuse-common 3.13.1-1
fuse3 3.13.1-1
kio-fuse 5.0.1-1
python-defusedxml 0.7.1-4

and when it failed, it suggested to

./rustdesk-1.2.0-aarch64.AppImage --appimage-extract

Obviously a rustdesk newbie mistake. I didn’t realize one had to install fuse 2.

I did some research and found that at

/home/don/rustdesk/squashfs-root/usr/share/rustdesk/files/systemd/

there is a file named ‘rustdesk.service’
Since you installed rustdesk the proper way, the pathname is probably different. If you can find this file (maybe with a file manager search) this is what you need. It is probably
/usr/share/rustdesk/files/systemd

Here is it’s contents

[Unit]
Description=RustDesk
Requires=network.target
After=systemd-user-sessions.service

[Service]
Type=simple
ExecStart=/usr/bin/rustdesk --service
PIDFile=/run/rustdesk.pid
KillMode=mixed
TimeoutStopSec=30
User=root
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target

Notice

ExecStart=/usr/bin/rustdesk --service

If /usr/bin/rustdesk is the location of the rustdesk executable, then this is what you are looking for.

To make this work, copy as root rustdesk.service to
/etc/systemd/system

use chmod to get the following permissions and ownership
-rwxrwxr-x 1 root root 275 Feb 23 11:08 rustdesk.service

then enable rustdesk.service
sudo systemctl enable --now rustdesk.service

systemctl status rustdesk.service
should show rustdesk is enabled and active. If not reboot.

Hope This Helps.
Have a pleasant evening and only good dreams.

Pudge

For my edification, what is the proper way to install an AppImg, specifically rustdesk AppImg ?

In this case, install fuse2. Then what is the next steps ?

Thanks
Pudge

On my Desktop I’m using some more Appimage programs. For example balena etcher, mqtt explorer, nextcloud client. And these “apps” are running after doing chmod +x… :wink:

1 Like