Add RustDesk Client (software ID 13) to dietpi-software#7992
Add RustDesk Client (software ID 13) to dietpi-software#7992StephanStS merged 18 commits intodevfrom
Conversation
|
@StephanStS FYI, I changed branch to |
|
we really need to train Copilot to not forget |
|
Test conducted:
|
We also should note this in our DietPi Wiki instruction page "How to add a new software title". |
|
@copilot : Please add the new RustDesk Client installation to https://raw.githubusercontent.com/MichaIng/DietPi/refs/heads/master/.meta/dietpi-survey_report |
Added RustDesk Client (ID 13) to |
|
Q1: What about this input from ChatGPT (we looked at this last week): This then would be an option which can be added to other installations within Q2: Can you review all changes in detail? |
|
@copilot : Please check https://raw.githubusercontent.com/MichaIng/DietPi/refs/heads/dev/.github/workflows/dietpi-software.bash for needed changes. |
Added |
|
When selecting Rust Desk Client, should we perhaps check whether a desktop is already installed? And if not, should we explicitly inform the user that this is essential? This is to avoid any misunderstanding and prevent users from believing that it would also work on the CLI only. Just a thought. 🤔 |
|
@copilot are you able to update TCP and UPD ports used by Rust Desk Client on our Wiki? https://github.com/MichaIng/DietPi/wiki/DietPi-TCP-UDP-port-usage-list |
Unfortunately I'm unable to edit the GitHub wiki — it's a separate repository and I don't have push access to it. Someone with repo write access will need to add the RustDesk Client entry there. For reference, RustDesk Client connects outbound to the server ports (TCP 21115–21119, UDP 21116), but does not listen on fixed local ports of its own; P2P and relay connections use ephemeral/dynamic ports. |
|
Test installs: https://github.com/MichaIng/DietPi/actions/runs/22543514720 |
|
Oh, |
grep needs to match the string to succeed.
|
The last commit did not fix the problem of |
There was a problem hiding this comment.
Now it works: https://github.com/MichaIng/DietPi/actions/runs/22543514720
Okay, it did not here, wait 😄.
EDIT: Ohh, execute permissions 🙄. But not only that. As fast as I add a which python3 to the script, to check whether it sees the new executable, it succeeds ... No idea why it does not see it in the first place.
Crazy, even that there are several seconds and a bunch of installed packages between the /usr/local/bin/python3 creation and the postinst, it fails to execute it on first attempt. Rust a retry solves it. Running python3 in any other bash directly after creating (and giving execute permissions to) that script, works immediately.
a1f6971 to
1f3c28e
Compare
Also at my VM missing x flags: Before I can do another install test, I have to execute |
1f3c28e to
bfadff5
Compare
|
Execute bit is there now, but it does still not work on first attempt. A retry works, an Also if you do now remove the There is another issue: The packages depend on |
I can acknowledge this on my system. But: If the installation executes correct, it is unusable because no desktop is present.
It ends up with an X11 installation without desktop, so I assume this is useless for me: |
And test whether workaround with /usr/bin path works better. For whatever reason, the postinst does not see the executable on first attempt, even that in any other bash it works immediately.
bc348e1 to
32c431a
Compare
|
Try this: startx /usr/bin/rustdeskor as root xinit /usr/bin/rustdesk |
postinst is happy if the executable is below /usr/bin, but seems to have issues with new executables below /usr/local/bin on first attempt, somehow.
|
Did you start it via And no, the |
Both, The installation now runs without an error. Also the error message shown above Nicht unterstützter Anzeigegeserver tty, X11 erwartet is not present any more. But generally, we could finalize the actual PR now. In the documentation and optionally at the end of the RustDesk Client installation we should point out that an X11 desktop is needed (x.g. XFCE, LXQt) to be able to use the program. |
MichaIng
left a comment
There was a problem hiding this comment.
Finally the installation goes through reliably without python3. Even if starting it from console outside of a true desktop session turns out to be difficult: Users who install a remote desktop client will usually install a desktop environment anyway. Otherwise one needs to know how to execute X11 applications from plain Linux console.
One thing I could find out already, is that it expects a DBus session. So this makes the "unsupported display" error disappear:
dbus-run-session startx /usr/bin/rustdeskI still cannot input a password, but I can authorize the connection from the system that is connected to. The password field is grayed out as if this was expected. Does this behave differently when starting it from within a desktop session?
I can acknowledge this:
But: The message regarding "... tty, X11..." now appears with this behaviour:
|
On other systems I can enter credentials in the greyed field. |
|
Yeah, not sure what prevents this. Input works for entering the remote ID, just not for the password. But the remote system can accept the request, so no password is needed. I had issues testing whether keypresses work in the actual remote desktop session, since the screen resolution on the VM is much smaller than on the remote host, and it cannot be easily changed with So while it is possible to install a desktop manually or create own session scripts for all the common setup, this is at least nothing we can or should document anywhere. The RustDesk client requires a desktop environment to start from properly, and the minimal dependency is only to support custom desktops, or for users who want to tinker. Question is if we need to assume that users select that one only, without also selecting a desktop environment for install. I cannot imagine that someone is thinking: "Ay I want to do remote desktop maintenance with this DietPi system, helping my mom if she has problems with her computer again." without having any desktop environment on that DietPi system. If users really run into these false expectations, we can reconsider. |



dietpi/dietpi-softwaredietpi-survey_reportentry for ID 13update_urls.bashentry for ID 13dietpi-software.bashCI test entry for ID 13'rustdesk'entry indietpi/dietpi-services(spaces → tabs, per @MichaIng review)💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.