Jump to content

RustDesk: Difference between revisions

From Official NixOS Wiki
Klinger (talk | contribs)
First version of article.
 
Kwinz (talk | contribs)
External documentation has moved and link broke. Directly link to a particular commit so this doesn't happen again.
 
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[https://rustdesk.com RustDesk] is a remote desktop remote maintenance software. It can be used with the official server as well as with a self-hosted server (better confidentiality and availability). Open source client and server are included in nixpgks. RustDesk offers an improved server for self-hosting in the rental model (not included in nixpkgs).
[https://rustdesk.com RustDesk] is a remote desktop remote maintenance software. It can be used with the official server as well as with a self-hosted server (better confidentiality and availability). Open source client and server are included in nixpkgs. RustDesk offers an improved server for self-hosting in the rental model (not included in nixpkgs).


= Client =
= Client =
There are two versions of the client available rustdesk (deprecated) and rustdesk-flutter (more recent). They do not need any changes in the configuration to be used with the official server.
There are two versions of the client available [https://search.nixos.org/packages?channel=26.05&query=rustdesk rustdesk] (deprecated) and [https://search.nixos.org/packages?channel=26.05&query=rustdesk rustdesk-flutter] (more recent). They do not need any changes in the configuration to be used with the official server.


To use the client with a custom server, it is necessary to change in the network preferences (burger menu --> network):<syntaxhighlight>ID-Server: [enter IP or domain name of server]
To use the client with a custom server, it is necessary to change in the network preferences (burger menu --> network):<syntaxhighlight>ID-Server: [enter IP or domain name of server]
Line 9: Line 9:
Key: [Copy the content from /var/lib/private/rustdesk/id_ed25519.pub]</syntaxhighlight>
Key: [Copy the content from /var/lib/private/rustdesk/id_ed25519.pub]</syntaxhighlight>
[[Category:Applications]] [[Category:Server]]
[[Category:Applications]] [[Category:Server]]
Installing rustdesk (even though version number might be higher) on Wayland can lead to error <code>"failed to create capturer for display 0"</code>, while rustdesk-flutter on the same PC can work fine.
= Server =
= Server =
In NixOS 24.11 there is a mismatch between the documentation on search.nixos.org and the options needed to run the server. <syntaxhighlight lang="nixos">
There are only a few options necessary to run a RustDesk server:
<syntaxhighlight lang="nixos">
services.rustdesk-server = {
services.rustdesk-server = {
   enable = true;
   enable = true;
   openFirewall = true;
   openFirewall = true;
   relayIP = "example.com";
   signal.relayHosts = ["example.com"];
};
};
</syntaxhighlight>The key is stored at: /var/lib/private/rustdesk/id_ed25519.pub
</syntaxhighlight>The key is stored at: /var/lib/private/rustdesk/id_ed25519.pub
[https://github.com/rustdesk/rustdesk-server/tree/235a3c326ceb665e941edb50ab79faa1208f7507#env-variables Some settings may only be set via ENV variables] like this:
<syntaxhighlight lang="nixos">
systemd.services.rustdesk-signal.environment.ALWAYS_USE_RELAY = "Y";
</syntaxhighlight>

Latest revision as of 15:17, 19 July 2026

RustDesk is a remote desktop remote maintenance software. It can be used with the official server as well as with a self-hosted server (better confidentiality and availability). Open source client and server are included in nixpkgs. RustDesk offers an improved server for self-hosting in the rental model (not included in nixpkgs).

Client

There are two versions of the client available rustdesk (deprecated) and rustdesk-flutter (more recent). They do not need any changes in the configuration to be used with the official server.

To use the client with a custom server, it is necessary to change in the network preferences (burger menu --> network):

ID-Server: [enter IP or domain name of server]
Relay-Server: [Enter IP or domain name of server]
API-Server:  [leave blank]
Key: [Copy the content from /var/lib/private/rustdesk/id_ed25519.pub]

Installing rustdesk (even though version number might be higher) on Wayland can lead to error "failed to create capturer for display 0", while rustdesk-flutter on the same PC can work fine.

Server

There are only a few options necessary to run a RustDesk server:

services.rustdesk-server = {
  enable = true;
  openFirewall = true;
  signal.relayHosts = ["example.com"];
};

The key is stored at: /var/lib/private/rustdesk/id_ed25519.pub

Some settings may only be set via ENV variables like this:

systemd.services.rustdesk-signal.environment.ALWAYS_USE_RELAY = "Y";