mirror of
https://github.com/rustdesk/doc.rustdesk.com.git
synced 2026-02-16 10:30:58 +00:00
fixing doc
This commit is contained in:
@@ -5,117 +5,135 @@ pre: "<b>1. </b>"
|
||||
---
|
||||
|
||||
## Introducción
|
||||
El cliente RustDesk es utilizado en dispositivos para conectar con los servidores de RustDesk, tanto el servidor Pro como el de código abierto. El cliente esta disponible en [GitHub](https://github.com/rustdesk/rustdesk/releases/latest).
|
||||
El cliente RustDesk se utiliza en dispositivos para conectarse a través de nuestro servidor RustDesk, ya sea de código abierto o Pro. Está disponible para descargar desde [GitHub](https://github.com/rustdesk/rustdesk/releases/latest).
|
||||
|
||||
## Plataformas compatibles
|
||||
- Microsoft Windows
|
||||
- macOS
|
||||
- Derivados de Debian (Ubuntu, Mint, etc.)
|
||||
- Derivados de Redhat (Centos, Rocky, etc.)
|
||||
- Arch/Manjaro
|
||||
- Derivados de Debian (Ubuntu ≥ 16, Linux Mint, etc.)
|
||||
- Derivados de Red Hat (CentOS, Fedora ≥ 18, Rocky Linux, etc.)
|
||||
- Arch Linux/Manjaro
|
||||
- openSUSE
|
||||
- NixOS
|
||||
- AppImage / Flatpak
|
||||
- Android
|
||||
- iOS (no soporta control remoto)
|
||||
- Web (1.1.9 Beta)
|
||||
- iOS (no soporta ser controlado)
|
||||
- Web
|
||||
|
||||
## Instalación
|
||||
|
||||
### Windows
|
||||
|
||||
Descarga el .exe de Github y ejecútalo.
|
||||
|
||||
Para instalar silenciosamente ejecuta el .exe con el parámetro `--silent-install`.
|
||||
Descarga el exe de GitHub e instálalo.
|
||||
|
||||
Para instalar silenciosamente ejecuta el exe de instalación con `--silent-install`.
|
||||
|
||||
### macOS
|
||||
|
||||
Descarga el archivo .dmg de Github, mas información en la [pagina de macOS](/docs/es/client/mac/).
|
||||
Descarga el archivo dmg de GitHub, más información se puede encontrar en la [página de macOS](https://rustdesk.com/docs/es/client/mac/).
|
||||
|
||||
Abri el archivo .dmg, arrastra `RustDesk` a `Aplicaciones`.
|
||||
Abre el archivo dmg y arrastra `RustDesk` a `Aplicaciones`.
|
||||
|
||||
Permite la ejecución de RustDesk
|
||||
Permite la ejecución de RustDesk.
|
||||
|
||||
Habilita la petición de permisos y seguí las instrucciones del lado inquiero del cliente de RustDesk para terminar la configuración.
|
||||
Enable permissions requested and follow prompts on the left hand side of RustDesk to finish setup.
|
||||
Habilita los permisos solicitados y sigue las instrucciones en el lado izquierdo de RustDesk para terminar la configuración.
|
||||
|
||||
### Linux
|
||||
|
||||
Por favor lee las instrucciones de abajo para instalar en los distintos "sabores" de Linux, todos los instaladores están en GitHub
|
||||
Por favor, consulta las siguientes instrucciones para instalar en las distintas "distribuciones" de Linux (los instaladores están en GitHub o disponibles en el repositorio de la distribución).
|
||||
|
||||
|
||||
### Derivados de Debian (>= 16)
|
||||
#### Derivados de Debian
|
||||
|
||||
```sh
|
||||
# Ignora el reporte de uso incorrecto del disco {wrong disk usage}.
|
||||
# por favor ignora el reporte erróneo de uso del disco
|
||||
sudo apt install -fy ./rustdesk-<version>.deb
|
||||
```
|
||||
|
||||
### CentOS/Fedora (>= 18)
|
||||
#### Derivados de Red Hat
|
||||
|
||||
```sh
|
||||
sudo yum localinstall ./rustdesk-<version>.rpm
|
||||
```
|
||||
|
||||
### Arch/Manjaro
|
||||
#### Arch Linux/Manjaro
|
||||
|
||||
```sh
|
||||
sudo pacman -U ./rustdesk-<version>.pkg.tar.zst
|
||||
```
|
||||
|
||||
### openSUSE (>= Leap 15.0)
|
||||
#### openSUSE (≥ Leap 15.0)
|
||||
|
||||
```sh
|
||||
sudo zypper install --allow-unsigned-rpm ./rustdesk-<version>-suse.rpm
|
||||
```
|
||||
|
||||
#### Nix / NixOS (≥ 22.05)
|
||||
|
||||
Entrar temporalmente en un shell con `rustdesk` listo para ejecutar:
|
||||
|
||||
```sh
|
||||
nix shell nixpkgs#rustdesk
|
||||
```
|
||||
|
||||
Instalar en el perfil del usuario actual:
|
||||
|
||||
```sh
|
||||
nix profile install nixpkgs#rustdesk
|
||||
```
|
||||
|
||||
Para instalar en todo el sistema en NixOS, ejecuta `nixos-rebuild switch --flake /etc/nixos` después de editar `configuration.nix`:
|
||||
|
||||
```
|
||||
environment.systemPackages = with pkgs; [
|
||||
...
|
||||
rustdesk
|
||||
];
|
||||
```
|
||||
|
||||
### Android
|
||||
Instala el archivo .apk de nuestro GitHub, mas información en la [Pagina de android](/docs/es/client/android/)
|
||||
Instala el apk desde nuestro GitHub, más información se puede encontrar en la [página de Android](https://rustdesk.com/docs/es/client/android/).
|
||||
|
||||
### iOS (iPhone, iPad)
|
||||
Descarga la app de la [App Store](https://apps.apple.com/us/app/rustdesk-remote-desktop/id1581225015).
|
||||
Descarga la aplicación desde la [App Store](https://apps.apple.com/us/app/rustdesk-remote-desktop/id1581225015).
|
||||
|
||||
## Uso
|
||||
Una vez instalado (o ejecutado como un ejecutable temporal) RustDesk se conectará a los servidores públicos. Verás un mensaje en la parte inferior que dice (1) "Listo, para una conexión más rápida, por favor configure su propio servidor". En la parte superior izquierda verás tu (2) ID, (3) Contraseña de un solo uso y a la derecha un (4) cuadro para conectarte a otra computadora si conoces su ID.
|
||||
|
||||
## Utilización
|
||||
Una vez instalado(o ejecutado de manera temporal) RustDesk se conectara a los servidores públicos. Veras un mensaje en la parte inferior con el texto (1) "Listo, Para una conexión mas rápida, configure su propio servidor". En la parte superior izquierda veras (2) ID, (3) Contraseña de un solo uso, (4) entrada de texto para conectar a otra computadora mediante su ID
|
||||

|
||||
|
||||

|
||||
|
||||
Para acceder a los ajustes, hace click en el (5) botón de menu [ ⋮ ] a la derecha de la ID.
|
||||
|
||||
En ajustes encontraras:
|
||||
- General - Control del servicio, Temas, Codec de Hardware, Audio, Grabación e Idioma.
|
||||
- Seguridad - Permisos para alguien tomando el control, Opciones de contraseña, Posibilidad de cambiar tu ID y Opciones avanzadas de seguridad.
|
||||
- Red - Configuración de tu propio servidor y Proxy.
|
||||
- Pantalla - Controla la configuración de la pantalla de conexiones remotas y otras opciones por defecto, sincronización del portapapeles,etc.
|
||||
- Cuenta - Puede ser usado en conjunto con el Pro Server para ingresar a la API.
|
||||
- About - Muestra información sobre el software.
|
||||
Para acceder a la configuración, haz clic en el (5) botón de Menú [ ⋮ ] a la derecha del ID.
|
||||
|
||||
En Configuración encontrarás:
|
||||
- General - Control del servicio, tema, códec de hardware, audio, grabación e idioma
|
||||
- Seguridad - Permisos para alguien tomando el control, opciones de contraseña, capacidad de cambiar tu ID y configuración avanzada de seguridad
|
||||
- Red - Configura aquí tu propia configuración del servidor y proxy
|
||||
- Pantalla - Controla la configuración de pantalla para sesiones remotas y otras opciones predeterminadas, sincronizar portapapeles, etc.
|
||||
- Cuenta - Esto se puede usar junto con el servidor Pro para iniciar sesión en la API
|
||||
- Acerca de - Muestra información sobre el software.
|
||||
|
||||
## Configurando RustDesk
|
||||
Hay varias formas de configurar RustDesk.
|
||||
|
||||
Hay varias maneras de configurar RUstDesk
|
||||
La forma más fácil es usando RustDesk Server Pro, puedes obtener una cadena de configuración encriptada, esto se puede usar junto con `--config` para importar configuraciones. Para hacer esto:
|
||||
1. Abre la línea de comandos en cualquier sistema operativo que uses, en la carpeta donde está instalado RustDesk, es decir, `C:\Program Files\RustDesk` en Windows, `/usr/bin` en Linux.
|
||||
2. Usa el comando `rustdesk.exe --config tu-cadena-encriptada` por ejemplo `rustdesk.exe --config 9JSPSvJzNrBDasJjNSdXOVVBlERDlleoNWZzIHcOJiOikXZr8mcw5yazVGZ0NXdy5CdyciojI0N3boJye`.
|
||||
|
||||
La manera mas fácil es usando RusDesk Server Pro (servidor profesional de RustDesk) para obtener una cadena encriptada, Esto puede ser usado en conjunto con `--config` para importar los ajustes. para hacer esto:
|
||||
1. Abri la interfaz de linea de comandos de tu sistema operativo, en la carpeta de instalación de RustDesk `C:\Program Files\RustDesk` en Windows, `/usr/bin` en Linux.
|
||||
2. Usa el comando `rustdesk.exe --config tu-cadena-encriptada` ej. `rustdesk.exe --config 9JSPSvJzNrBDasJjNSdXOVVBlERDlleoNWZzIHcOJiOikXZr8mcw5yazVGZ0NXdy5CdyciojI0N3boJye`.
|
||||
|
||||
Podes configurar el cliente manualmente también, para hacerlo:
|
||||
1. Hace click en Ajustes
|
||||
2. Hace click en Red
|
||||
3. Hace click en Desbloquear Ajustes de Red
|
||||
4. Ingresa las direcciones de los servidores IDs, Relay y Api(si estas usando Pro) y tu "key"
|
||||
|
||||

|
||||
Puedes configurar manualmente un cliente. Para hacer esto:
|
||||
1. Haz clic en Configuración.
|
||||
2. Haz clic en Red.
|
||||
3. Haz clic en Desbloquear configuración de red.
|
||||
4. Ingresa tu ID, Relay, API (si usas servidor pro) y tu clave.
|
||||
|
||||
Si configuras el cliente manualmente, podes usar el archivo `RustDesk2.toml` (en la carpeta de usuarios) y usar `--import-config` de manera similar al ejemplo de arriba.
|
||||

|
||||
|
||||
## Parámetros de la linea de comandos
|
||||
- `--password` Puede ser usado para establecer un parámetro de contraseña
|
||||
- `--get-id` Puede ser usado para obtener la ID
|
||||
- `--set-id` Puede ser usado para establecer una ID, tenga en cuenta que las ID necesitan empezar con una letra.
|
||||
- `--silent-install` Puede ser usado para instalar RustDesk de manera silenciosa en Windows.
|
||||
Si configuras manualmente un cliente, puedes recuperar el archivo `RustDesk2.toml` (en la carpeta de usuarios) y usar `--import-config` de manera similar al ejemplo anterior.
|
||||
|
||||
Parámetros adicionales avanzados se pueden encontrar [aquí](https://github.com/rustdesk/rustdesk/blob/bdc5cded221af9697eb29aa30babce75e987fcc9/src/core_main.rs#L242).
|
||||
## Parámetros de línea de comandos
|
||||
- `--password` se puede usar para establecer una contraseña permanente.
|
||||
- `--get-id` se puede usar para obtener el ID.
|
||||
- `--set-id` se puede usar para establecer un ID, ten en cuenta que los IDs deben comenzar con una letra.
|
||||
- `--silent-install` se puede usar para instalar RustDesk silenciosamente en Windows.
|
||||
|
||||
Los parámetros avanzados adicionales se pueden encontrar [aquí](https://github.com/rustdesk/rustdesk/blob/bdc5cded221af9697eb29aa30babce75e987fcc9/src/core_main.rs#L242).
|
||||
|
||||
{{% children depth="1" showhidden="true" %}}
|
||||
{{% children depth="3" showhidden="true" %}}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,178 +0,0 @@
|
||||
---
|
||||
title: SELinux
|
||||
weight: 100
|
||||
---
|
||||
|
||||
Certaines distributions (comme Fedora) activent SELinux par défaut, ce qui empêchera le service RustDesk de démarrer et de fonctionner normalement.
|
||||
|
||||
Vous pouvez exécuter `sestatus` dans le terminal pour vérifier si SELinux est activé.
|
||||
|
||||
Selon qu'il soit activé ou non, vous pouvez voir deux sorties différentes comme suit :
|
||||
|
||||
```sh
|
||||
# Activé
|
||||
SELinux status: enabled
|
||||
...
|
||||
|
||||
# Désactivé
|
||||
SELinux status: disabled
|
||||
...
|
||||
```
|
||||
|
||||
## Ajouter des politiques SELinux
|
||||
|
||||
Pour une introduction à SELinux, veuillez vous référer à [SELinux/Tutorials](https://wiki.gentoo.org/wiki/SELinux/Tutorials).
|
||||
|
||||
Ici, nous prenons Fedora 38 comme exemple pour présenter comment ajouter des politiques SELinux.
|
||||
|
||||
```sh
|
||||
sudo dnf install selinux-policy-devel make
|
||||
```
|
||||
|
||||
L'ajout de politiques SELinux nécessite de déterminer le type de service, qui se trouve dans le contexte de sécurité du processus.
|
||||
|
||||
```sh
|
||||
$ ps -eZ | grep rustdesk
|
||||
system_u:system_r:init_t:s0 80439 ? 00:00:02 rustdesk
|
||||
```
|
||||
|
||||
`system_u:system_r:init_t:s0` est le contexte de sécurité du processus RustDesk, où le troisième champ `init_t` est le type du processus.
|
||||
|
||||
Il existe deux façons d'écrire les règles de type SELinux :
|
||||
|
||||
1. Ajouter des règles au `init_t` par défaut.
|
||||
2. Ajouter un nouveau type `rustdesk_t` et ajouter des règles.
|
||||
|
||||
La première méthode a des modifications relativement mineures, mais parce que le `init_t` par défaut est modifié, cela équivaut à ajouter une autorisation à d'autres services utilisant le type `init_t`. **Non recommandé pour l'utilisation.**
|
||||
|
||||
La deuxième méthode consiste à ajouter des règles à partir de zéro. Il y aura de nombreuses règles qui doivent être ajoutées, et différents systèmes peuvent avoir des différences. Il peut être nécessaire de faire quelques ajustements lors de l'utilisation réelle.
|
||||
|
||||
### Utiliser le type par défaut
|
||||
|
||||
Le type par défaut du service RustDesk est `init_t`, qui est déterminé par [les règles d'héritage de contexte de SELinux](https://wiki.gentoo.org/wiki/SELinux/Tutorials/How_does_a_process_get_into_a_certain_context).
|
||||
|
||||
**Attention** : Modifier le type par défaut signifie que les politiques d'autres services peuvent également changer. Veuillez utiliser cette méthode avec prudence !
|
||||
|
||||
Modifiez le fichier de règles `rustdesk.te` :
|
||||
|
||||
```text
|
||||
module rustdesk 1.0;
|
||||
|
||||
require {
|
||||
type event_device_t;
|
||||
type xserver_t;
|
||||
type xserver_port_t;
|
||||
type sudo_exec_t;
|
||||
type init_t;
|
||||
type ephemeral_port_t;
|
||||
type user_tmp_t;
|
||||
type user_fonts_cache_t;
|
||||
type pulseaudio_home_t;
|
||||
type session_dbusd_tmp_t;
|
||||
type unconfined_dbusd_t;
|
||||
class process execmem;
|
||||
class file { open read create write execute execute_no_trans map setattr lock link unlink };
|
||||
class unix_stream_socket connectto;
|
||||
class tcp_socket name_connect;
|
||||
class dir { add_name remove_name };
|
||||
class sock_file write;
|
||||
class chr_file { open read write } ;
|
||||
}
|
||||
|
||||
#============= init_t ==============
|
||||
allow init_t xserver_t:unix_stream_socket connectto;
|
||||
allow init_t sudo_exec_t:file { open read execute execute_no_trans };
|
||||
allow init_t user_tmp_t:file { open write setattr };
|
||||
allow init_t self:process execmem;
|
||||
allow init_t user_fonts_cache_t:dir { add_name remove_name };
|
||||
allow init_t user_fonts_cache_t:file { read write create open link lock unlink };
|
||||
allow init_t xserver_port_t:tcp_socket name_connect;
|
||||
allow init_t pulseaudio_home_t:file { read write open lock };
|
||||
allow init_t session_dbusd_tmp_t:sock_file write;
|
||||
allow init_t unconfined_dbusd_t:unix_stream_socket connectto;
|
||||
|
||||
#!!!! This AVC can be allowed using the boolean 'nis_enabled'
|
||||
allow init_t ephemeral_port_t:tcp_socket name_connect;
|
||||
|
||||
#!!!! This AVC can be allowed using the boolean 'domain_can_mmap_files'
|
||||
allow init_t sudo_exec_t:file map;
|
||||
|
||||
#============= init_t Wayland ==============
|
||||
allow init_t event_device_t:chr_file { open read write };
|
||||
|
||||
#!!!! This AVC can be allowed using the boolean 'domain_can_mmap_files'
|
||||
allow init_t user_tmp_t:file map;
|
||||
|
||||
```
|
||||
|
||||
Exécutez :
|
||||
|
||||
```sh
|
||||
$ checkmodule -M -m -o rustdesk.mod rustdesk.te && semodule_package -o rustdesk.pp -m rustdesk.mod && sudo semodule -i rustdesk.pp
|
||||
$ sudo semodule -l | grep rustdesk
|
||||
```
|
||||
|
||||
### Créer un type `rustdesk_t`
|
||||
|
||||
1. Créer un nouveau répertoire : `mkdir rustdesk-selinux-1.0`.
|
||||
2. Créer des fichiers de politique SELinux : `touch Makefile rustdesk.te rustdesk.fc rustdesk.if`.
|
||||
|
||||
```text
|
||||
.
|
||||
├── Makefile
|
||||
├── rustdesk.fc
|
||||
├── rustdesk.if
|
||||
└── rustdesk.te
|
||||
```
|
||||
|
||||
`rustdesk.te` est le fichier de politique principal.
|
||||
Dans cet exemple, ce fichier provient principalement de 3 parties :
|
||||
|
||||
1. [`init.te`](https://github.com/fedora-selinux/selinux-policy/blob/rawhide/policy/modules/system/init.te) dans le dépôt selinux-policy de GitHub.
|
||||
2. Journal d'audit, `grep rustdesk /var/log/audit/audit.log | audit2allow -a -M test`.
|
||||
3. La politique `init_t` du système de test, `sesearch -A | grep 'allow init_t ' | sed 's/allow init_t /allow rustdesk_t /g'`.
|
||||
|
||||
Certaines politiques sont dupliquées et certaines sont redondantes, mais c'est correct puisque cela fonctionne sur `rustdesk_t`.
|
||||
|
||||
**En raison de la complexité des fichiers de politique SELinux et de leur contenu technique détaillé, le contenu de configuration technique complet est omis ici pour des raisons de concision. Veuillez vous référer à la version anglaise pour la configuration complète.**
|
||||
|
||||
## Génération automatique de politique SELinux (sepolicy)
|
||||
|
||||
```sh
|
||||
$ # installer les dépendances
|
||||
$ sudo dnf install -y rpm rpm-build binutils
|
||||
$ # générer la politique
|
||||
$ sepolicy generate --init /usr/lib/rustdesk/rustdesk
|
||||
$ tree
|
||||
.
|
||||
├── rustdesk.fc
|
||||
├── rustdesk.if
|
||||
├── rustdesk_selinux.spec
|
||||
├── rustdesk.sh
|
||||
└── rustdesk.te
|
||||
$ # Modifier le rustdesk.te
|
||||
$
|
||||
$
|
||||
$ # générer le package rpm rustdesk_selinux-1.0-1.fc38.src.rpm
|
||||
$ sudo ./rustdesk.sh
|
||||
$ # installer le package
|
||||
$ sudo dnf install -y rustdesk_selinux-1.0-1.fc38.src.rpm
|
||||
$ # redémarrer le service
|
||||
$ sudo systemctl restart rustdesk
|
||||
```
|
||||
|
||||
### Ajouter des politiques de manière itérative
|
||||
|
||||
```sh
|
||||
$ cd /tmp
|
||||
$ grep rustdesk_t /var/log/audit/audit.log | audit2allow -a -M rustdesk_tmp
|
||||
$ cd <rustdesk-selinux-1.0>
|
||||
$ # fusionner rustdesk_tmp.te dans rustdesk.te
|
||||
$ make clean && make && sudo make install-policy
|
||||
```
|
||||
|
||||
## Références
|
||||
|
||||
- [SELinux/Tutorials](https://wiki.gentoo.org/wiki/SELinux/Tutorials)
|
||||
- [SELinux Policy module installation](https://fedoraproject.org/wiki/SELinux/IndependentPolicy#SELinux_Policy_module_installation)
|
||||
- [How to create SELinux custom policy rpm package](https://lukas-vrabec.com/index.php/2015/07/07/how-to-create-selinux-custom-policy-rpm-package/)
|
||||
@@ -1,178 +0,0 @@
|
||||
---
|
||||
title: SELinux
|
||||
weight: 100
|
||||
---
|
||||
|
||||
Alcune distribuzioni (come Fedora) abilitano SELinux per impostazione predefinita, il che causerà il fallimento dell'avvio e dell'esecuzione normale del servizio RustDesk.
|
||||
|
||||
Puoi eseguire `sestatus` nel terminale per verificare se SELinux è abilitato.
|
||||
|
||||
A seconda che sia abilitato o meno, puoi vedere due output diversi come segue:
|
||||
|
||||
```sh
|
||||
# Abilitato
|
||||
SELinux status: enabled
|
||||
...
|
||||
|
||||
# Disabilitato
|
||||
SELinux status: disabled
|
||||
...
|
||||
```
|
||||
|
||||
## Aggiungere Politiche SELinux
|
||||
|
||||
Per un'introduzione a SELinux, si prega di fare riferimento a [SELinux/Tutorials](https://wiki.gentoo.org/wiki/SELinux/Tutorials).
|
||||
|
||||
Qui prendiamo Fedora 38 come esempio per introdurre come aggiungere politiche SELinux.
|
||||
|
||||
```sh
|
||||
sudo dnf install selinux-policy-devel make
|
||||
```
|
||||
|
||||
L'aggiunta di politiche SELinux richiede di determinare il tipo di servizio, che si trova nel contesto di sicurezza del processo.
|
||||
|
||||
```sh
|
||||
$ ps -eZ | grep rustdesk
|
||||
system_u:system_r:init_t:s0 80439 ? 00:00:02 rustdesk
|
||||
```
|
||||
|
||||
`system_u:system_r:init_t:s0` è il contesto di sicurezza del processo RustDesk, dove il terzo campo `init_t` è il tipo del processo.
|
||||
|
||||
Ci sono due modi per scrivere le regole di tipo SELinux:
|
||||
|
||||
1. Aggiungere regole al `init_t` predefinito.
|
||||
2. Aggiungere un nuovo tipo `rustdesk_t` e aggiungere regole.
|
||||
|
||||
Il primo metodo ha modifiche relativamente minori, ma poiché il `init_t` predefinito viene modificato, è equivalente ad aggiungere autorizzazione ad altri servizi che utilizzano il tipo `init_t`. **Non raccomandato per l'uso.**
|
||||
|
||||
Il secondo metodo è aggiungere regole da zero. Ci saranno molte regole che devono essere aggiunte, e sistemi diversi possono avere differenze. Potrebbe essere necessario fare alcuni aggiustamenti durante l'uso effettivo.
|
||||
|
||||
### Usare il Tipo Predefinito
|
||||
|
||||
Il tipo predefinito del servizio RustDesk è `init_t`, che è determinato dalle [regole di ereditarietà del contesto di SELinux](https://wiki.gentoo.org/wiki/SELinux/Tutorials/How_does_a_process_get_into_a_certain_context).
|
||||
|
||||
**Attenzione**: Modificare il tipo predefinito significa che anche le politiche di altri servizi potrebbero cambiare. Si prega di usare questo metodo con cautela!
|
||||
|
||||
Modifica il file delle regole `rustdesk.te`:
|
||||
|
||||
```text
|
||||
module rustdesk 1.0;
|
||||
|
||||
require {
|
||||
type event_device_t;
|
||||
type xserver_t;
|
||||
type xserver_port_t;
|
||||
type sudo_exec_t;
|
||||
type init_t;
|
||||
type ephemeral_port_t;
|
||||
type user_tmp_t;
|
||||
type user_fonts_cache_t;
|
||||
type pulseaudio_home_t;
|
||||
type session_dbusd_tmp_t;
|
||||
type unconfined_dbusd_t;
|
||||
class process execmem;
|
||||
class file { open read create write execute execute_no_trans map setattr lock link unlink };
|
||||
class unix_stream_socket connectto;
|
||||
class tcp_socket name_connect;
|
||||
class dir { add_name remove_name };
|
||||
class sock_file write;
|
||||
class chr_file { open read write } ;
|
||||
}
|
||||
|
||||
#============= init_t ==============
|
||||
allow init_t xserver_t:unix_stream_socket connectto;
|
||||
allow init_t sudo_exec_t:file { open read execute execute_no_trans };
|
||||
allow init_t user_tmp_t:file { open write setattr };
|
||||
allow init_t self:process execmem;
|
||||
allow init_t user_fonts_cache_t:dir { add_name remove_name };
|
||||
allow init_t user_fonts_cache_t:file { read write create open link lock unlink };
|
||||
allow init_t xserver_port_t:tcp_socket name_connect;
|
||||
allow init_t pulseaudio_home_t:file { read write open lock };
|
||||
allow init_t session_dbusd_tmp_t:sock_file write;
|
||||
allow init_t unconfined_dbusd_t:unix_stream_socket connectto;
|
||||
|
||||
#!!!! This AVC can be allowed using the boolean 'nis_enabled'
|
||||
allow init_t ephemeral_port_t:tcp_socket name_connect;
|
||||
|
||||
#!!!! This AVC can be allowed using the boolean 'domain_can_mmap_files'
|
||||
allow init_t sudo_exec_t:file map;
|
||||
|
||||
#============= init_t Wayland ==============
|
||||
allow init_t event_device_t:chr_file { open read write };
|
||||
|
||||
#!!!! This AVC can be allowed using the boolean 'domain_can_mmap_files'
|
||||
allow init_t user_tmp_t:file map;
|
||||
|
||||
```
|
||||
|
||||
Esegui:
|
||||
|
||||
```sh
|
||||
$ checkmodule -M -m -o rustdesk.mod rustdesk.te && semodule_package -o rustdesk.pp -m rustdesk.mod && sudo semodule -i rustdesk.pp
|
||||
$ sudo semodule -l | grep rustdesk
|
||||
```
|
||||
|
||||
### Creare un tipo `rustdesk_t`
|
||||
|
||||
1. Creare una nuova directory: `mkdir rustdesk-selinux-1.0`.
|
||||
2. Creare file di politica SELinux: `touch Makefile rustdesk.te rustdesk.fc rustdesk.if`.
|
||||
|
||||
```text
|
||||
.
|
||||
├── Makefile
|
||||
├── rustdesk.fc
|
||||
├── rustdesk.if
|
||||
└── rustdesk.te
|
||||
```
|
||||
|
||||
`rustdesk.te` è il file di politica principale.
|
||||
In questo esempio, questo file proviene principalmente da 3 parti:
|
||||
|
||||
1. [`init.te`](https://github.com/fedora-selinux/selinux-policy/blob/rawhide/policy/modules/system/init.te) nel repository selinux-policy di GitHub.
|
||||
2. Log di audit, `grep rustdesk /var/log/audit/audit.log | audit2allow -a -M test`.
|
||||
3. La politica `init_t` del sistema di test, `sesearch -A | grep 'allow init_t ' | sed 's/allow init_t /allow rustdesk_t /g'`.
|
||||
|
||||
Alcune politiche sono duplicate e alcune sono ridondanti, ma va bene poiché funziona su `rustdesk_t`.
|
||||
|
||||
**A causa della complessità dei file di politica SELinux e del loro contenuto tecnico dettagliato, il contenuto di configurazione tecnica completo è omesso qui per brevità. Si prega di fare riferimento alla versione inglese per la configurazione completa.**
|
||||
|
||||
## Generazione Automatica di Politiche SELinux (sepolicy)
|
||||
|
||||
```sh
|
||||
$ # installare dipendenze
|
||||
$ sudo dnf install -y rpm rpm-build binutils
|
||||
$ # generare politica
|
||||
$ sepolicy generate --init /usr/lib/rustdesk/rustdesk
|
||||
$ tree
|
||||
.
|
||||
├── rustdesk.fc
|
||||
├── rustdesk.if
|
||||
├── rustdesk_selinux.spec
|
||||
├── rustdesk.sh
|
||||
└── rustdesk.te
|
||||
$ # Modificare il rustdesk.te
|
||||
$
|
||||
$
|
||||
$ # generare pacchetto rpm rustdesk_selinux-1.0-1.fc38.src.rpm
|
||||
$ sudo ./rustdesk.sh
|
||||
$ # installare pacchetto
|
||||
$ sudo dnf install -y rustdesk_selinux-1.0-1.fc38.src.rpm
|
||||
$ # riavviare il servizio
|
||||
$ sudo systemctl restart rustdesk
|
||||
```
|
||||
|
||||
### Aggiungere Politiche Iterativamente
|
||||
|
||||
```sh
|
||||
$ cd /tmp
|
||||
$ grep rustdesk_t /var/log/audit/audit.log | audit2allow -a -M rustdesk_tmp
|
||||
$ cd <rustdesk-selinux-1.0>
|
||||
$ # unire rustdesk_tmp.te in rustdesk.te
|
||||
$ make clean && make && sudo make install-policy
|
||||
```
|
||||
|
||||
## Riferimenti
|
||||
|
||||
- [SELinux/Tutorials](https://wiki.gentoo.org/wiki/SELinux/Tutorials)
|
||||
- [SELinux Policy module installation](https://fedoraproject.org/wiki/SELinux/IndependentPolicy#SELinux_Policy_module_installation)
|
||||
- [How to create SELinux custom policy rpm package](https://lukas-vrabec.com/index.php/2015/07/07/how-to-create-selinux-custom-policy-rpm-package/)
|
||||
@@ -1,178 +0,0 @@
|
||||
---
|
||||
title: SELinux
|
||||
weight: 100
|
||||
---
|
||||
|
||||
一部のディストリビューション(Fedoraなど)では、SELinuxがデフォルトで有効になっており、RustDeskサービスが正常に開始・実行できなくなります。
|
||||
|
||||
ターミナルで `sestatus` を実行して、SELinuxが有効になっているかどうかを確認できます。
|
||||
|
||||
有効かどうかによって、以下のような2つの異なる出力が表示されます:
|
||||
|
||||
```sh
|
||||
# 有効
|
||||
SELinux status: enabled
|
||||
...
|
||||
|
||||
# 無効
|
||||
SELinux status: disabled
|
||||
...
|
||||
```
|
||||
|
||||
## SELinuxポリシーの追加
|
||||
|
||||
SELinuxの紹介については、[SELinux/Tutorials](https://wiki.gentoo.org/wiki/SELinux/Tutorials)を参照してください。
|
||||
|
||||
ここでは、Fedora 38を例にSELinuxポリシーを追加する方法を紹介します。
|
||||
|
||||
```sh
|
||||
sudo dnf install selinux-policy-devel make
|
||||
```
|
||||
|
||||
SELinuxポリシーを追加するには、プロセスのセキュリティコンテキストにあるサービスの種類を決定する必要があります。
|
||||
|
||||
```sh
|
||||
$ ps -eZ | grep rustdesk
|
||||
system_u:system_r:init_t:s0 80439 ? 00:00:02 rustdesk
|
||||
```
|
||||
|
||||
`system_u:system_r:init_t:s0` は RustDeskプロセスのセキュリティコンテキストで、3番目のフィールド `init_t` がプロセスの種類です。
|
||||
|
||||
SELinux型ルールを記述する方法は2つあります:
|
||||
|
||||
1. デフォルトの `init_t` にルールを追加する。
|
||||
2. 新しい型 `rustdesk_t` を追加してルールを追加する。
|
||||
|
||||
最初の方法は比較的小さな変更ですが、デフォルトの `init_t` が変更されるため、`init_t` 型を使用する他のサービスに認可を追加することと同等です。**使用は推奨されません。**
|
||||
|
||||
2番目の方法は、ゼロからルールを追加することです。追加する必要があるルールが多く、異なるシステムでは違いがある可能性があります。実際の使用中にいくつかの調整が必要になる場合があります。
|
||||
|
||||
### デフォルト型の使用
|
||||
|
||||
RustDeskサービスのデフォルト型は `init_t` で、これは[SELinuxのコンテキスト継承ルール](https://wiki.gentoo.org/wiki/SELinux/Tutorials/How_does_a_process_get_into_a_certain_context)によって決定されます。
|
||||
|
||||
**注意**:デフォルト型を変更すると、他のサービスのポリシーも変更される可能性があります。この方法は慎重に使用してください!
|
||||
|
||||
ルールファイル `rustdesk.te` を編集します:
|
||||
|
||||
```text
|
||||
module rustdesk 1.0;
|
||||
|
||||
require {
|
||||
type event_device_t;
|
||||
type xserver_t;
|
||||
type xserver_port_t;
|
||||
type sudo_exec_t;
|
||||
type init_t;
|
||||
type ephemeral_port_t;
|
||||
type user_tmp_t;
|
||||
type user_fonts_cache_t;
|
||||
type pulseaudio_home_t;
|
||||
type session_dbusd_tmp_t;
|
||||
type unconfined_dbusd_t;
|
||||
class process execmem;
|
||||
class file { open read create write execute execute_no_trans map setattr lock link unlink };
|
||||
class unix_stream_socket connectto;
|
||||
class tcp_socket name_connect;
|
||||
class dir { add_name remove_name };
|
||||
class sock_file write;
|
||||
class chr_file { open read write } ;
|
||||
}
|
||||
|
||||
#============= init_t ==============
|
||||
allow init_t xserver_t:unix_stream_socket connectto;
|
||||
allow init_t sudo_exec_t:file { open read execute execute_no_trans };
|
||||
allow init_t user_tmp_t:file { open write setattr };
|
||||
allow init_t self:process execmem;
|
||||
allow init_t user_fonts_cache_t:dir { add_name remove_name };
|
||||
allow init_t user_fonts_cache_t:file { read write create open link lock unlink };
|
||||
allow init_t xserver_port_t:tcp_socket name_connect;
|
||||
allow init_t pulseaudio_home_t:file { read write open lock };
|
||||
allow init_t session_dbusd_tmp_t:sock_file write;
|
||||
allow init_t unconfined_dbusd_t:unix_stream_socket connectto;
|
||||
|
||||
#!!!! This AVC can be allowed using the boolean 'nis_enabled'
|
||||
allow init_t ephemeral_port_t:tcp_socket name_connect;
|
||||
|
||||
#!!!! This AVC can be allowed using the boolean 'domain_can_mmap_files'
|
||||
allow init_t sudo_exec_t:file map;
|
||||
|
||||
#============= init_t Wayland ==============
|
||||
allow init_t event_device_t:chr_file { open read write };
|
||||
|
||||
#!!!! This AVC can be allowed using the boolean 'domain_can_mmap_files'
|
||||
allow init_t user_tmp_t:file map;
|
||||
|
||||
```
|
||||
|
||||
実行:
|
||||
|
||||
```sh
|
||||
$ checkmodule -M -m -o rustdesk.mod rustdesk.te && semodule_package -o rustdesk.pp -m rustdesk.mod && sudo semodule -i rustdesk.pp
|
||||
$ sudo semodule -l | grep rustdesk
|
||||
```
|
||||
|
||||
### 型 `rustdesk_t` の作成
|
||||
|
||||
1. 新しいディレクトリを作成:`mkdir rustdesk-selinux-1.0`。
|
||||
2. SELinuxポリシーファイルを作成:`touch Makefile rustdesk.te rustdesk.fc rustdesk.if`。
|
||||
|
||||
```text
|
||||
.
|
||||
├── Makefile
|
||||
├── rustdesk.fc
|
||||
├── rustdesk.if
|
||||
└── rustdesk.te
|
||||
```
|
||||
|
||||
`rustdesk.te` はメインのポリシーファイルです。
|
||||
この例では、このファイルは主に3つの部分から構成されています:
|
||||
|
||||
1. GitHubのselinux-policyリポジトリの[`init.te`](https://github.com/fedora-selinux/selinux-policy/blob/rawhide/policy/modules/system/init.te)。
|
||||
2. 監査ログ、`grep rustdesk /var/log/audit/audit.log | audit2allow -a -M test`。
|
||||
3. テストシステムの `init_t` ポリシー、`sesearch -A | grep 'allow init_t ' | sed 's/allow init_t /allow rustdesk_t /g'`。
|
||||
|
||||
一部のポリシーは重複しており、一部は冗長ですが、`rustdesk_t` で動作するため問題ありません。
|
||||
|
||||
**SELinuxポリシーファイルの複雑さと詳細な技術的内容のため、簡潔性のため完全な技術設定内容はここでは省略されています。完全な設定については英語版を参照してください。**
|
||||
|
||||
## SELinuxポリシーの自動生成(sepolicy)
|
||||
|
||||
```sh
|
||||
$ # 依存関係をインストール
|
||||
$ sudo dnf install -y rpm rpm-build binutils
|
||||
$ # ポリシーを生成
|
||||
$ sepolicy generate --init /usr/lib/rustdesk/rustdesk
|
||||
$ tree
|
||||
.
|
||||
├── rustdesk.fc
|
||||
├── rustdesk.if
|
||||
├── rustdesk_selinux.spec
|
||||
├── rustdesk.sh
|
||||
└── rustdesk.te
|
||||
$ # rustdesk.teを編集
|
||||
$
|
||||
$
|
||||
$ # rpmパッケージrustdesk_selinux-1.0-1.fc38.src.rpmを生成
|
||||
$ sudo ./rustdesk.sh
|
||||
$ # パッケージをインストール
|
||||
$ sudo dnf install -y rustdesk_selinux-1.0-1.fc38.src.rpm
|
||||
$ # サービスを再起動
|
||||
$ sudo systemctl restart rustdesk
|
||||
```
|
||||
|
||||
### 反復的なポリシーの追加
|
||||
|
||||
```sh
|
||||
$ cd /tmp
|
||||
$ grep rustdesk_t /var/log/audit/audit.log | audit2allow -a -M rustdesk_tmp
|
||||
$ cd <rustdesk-selinux-1.0>
|
||||
$ # rustdesk_tmp.teをrustdesk.teにマージ
|
||||
$ make clean && make && sudo make install-policy
|
||||
```
|
||||
|
||||
## 参考文献
|
||||
|
||||
- [SELinux/Tutorials](https://wiki.gentoo.org/wiki/SELinux/Tutorials)
|
||||
- [SELinux Policy module installation](https://fedoraproject.org/wiki/SELinux/IndependentPolicy#SELinux_Policy_module_installation)
|
||||
- [How to create SELinux custom policy rpm package](https://lukas-vrabec.com/index.php/2015/07/07/how-to-create-selinux-custom-policy-rpm-package/)
|
||||
@@ -1,178 +0,0 @@
|
||||
---
|
||||
title: SELinux
|
||||
weight: 100
|
||||
---
|
||||
|
||||
Algumas distribuições (como Fedora) habilitam SELinux por padrão, o que fará com que o serviço RustDesk falhe ao iniciar e executar normalmente.
|
||||
|
||||
Você pode executar `sestatus` no terminal para verificar se o SELinux está habilitado.
|
||||
|
||||
Dependendo se está habilitado ou não, você pode ver duas saídas diferentes como a seguir:
|
||||
|
||||
```sh
|
||||
# Habilitado
|
||||
SELinux status: enabled
|
||||
...
|
||||
|
||||
# Desabilitado
|
||||
SELinux status: disabled
|
||||
...
|
||||
```
|
||||
|
||||
## Adicionar Políticas SELinux
|
||||
|
||||
Para uma introdução ao SELinux, consulte [SELinux/Tutorials](https://wiki.gentoo.org/wiki/SELinux/Tutorials).
|
||||
|
||||
Aqui usamos o Fedora 38 como exemplo para introduzir como adicionar políticas SELinux.
|
||||
|
||||
```sh
|
||||
sudo dnf install selinux-policy-devel make
|
||||
```
|
||||
|
||||
Adicionar políticas SELinux requer determinar o tipo de serviço, que está no contexto de segurança do processo.
|
||||
|
||||
```sh
|
||||
$ ps -eZ | grep rustdesk
|
||||
system_u:system_r:init_t:s0 80439 ? 00:00:02 rustdesk
|
||||
```
|
||||
|
||||
`system_u:system_r:init_t:s0` é o contexto de segurança do processo RustDesk, onde o terceiro campo `init_t` é o tipo do processo.
|
||||
|
||||
Existem duas maneiras de escrever regras de tipo SELinux:
|
||||
|
||||
1. Adicionar regras ao `init_t` padrão.
|
||||
2. Adicionar um novo tipo `rustdesk_t` e adicionar regras.
|
||||
|
||||
O primeiro método tem modificações relativamente menores, mas porque o `init_t` padrão é alterado, é equivalente a adicionar autorização a outros serviços usando o tipo `init_t`. **Não recomendado para uso.**
|
||||
|
||||
O segundo método é adicionar regras do zero. Haverá muitas regras que precisam ser adicionadas, e diferentes sistemas podem ter diferenças. Pode ser necessário fazer alguns ajustes durante o uso real.
|
||||
|
||||
### Usar o Tipo Padrão
|
||||
|
||||
O tipo padrão do serviço RustDesk é `init_t`, que é determinado pelas [regras de herança de contexto do SELinux](https://wiki.gentoo.org/wiki/SELinux/Tutorials/How_does_a_process_get_into_a_certain_context).
|
||||
|
||||
**Cuidado**: Modificar o tipo padrão significa que as políticas de outros serviços também podem mudar. Use este método com cuidado!
|
||||
|
||||
Edite o arquivo de regras `rustdesk.te`:
|
||||
|
||||
```text
|
||||
module rustdesk 1.0;
|
||||
|
||||
require {
|
||||
type event_device_t;
|
||||
type xserver_t;
|
||||
type xserver_port_t;
|
||||
type sudo_exec_t;
|
||||
type init_t;
|
||||
type ephemeral_port_t;
|
||||
type user_tmp_t;
|
||||
type user_fonts_cache_t;
|
||||
type pulseaudio_home_t;
|
||||
type session_dbusd_tmp_t;
|
||||
type unconfined_dbusd_t;
|
||||
class process execmem;
|
||||
class file { open read create write execute execute_no_trans map setattr lock link unlink };
|
||||
class unix_stream_socket connectto;
|
||||
class tcp_socket name_connect;
|
||||
class dir { add_name remove_name };
|
||||
class sock_file write;
|
||||
class chr_file { open read write } ;
|
||||
}
|
||||
|
||||
#============= init_t ==============
|
||||
allow init_t xserver_t:unix_stream_socket connectto;
|
||||
allow init_t sudo_exec_t:file { open read execute execute_no_trans };
|
||||
allow init_t user_tmp_t:file { open write setattr };
|
||||
allow init_t self:process execmem;
|
||||
allow init_t user_fonts_cache_t:dir { add_name remove_name };
|
||||
allow init_t user_fonts_cache_t:file { read write create open link lock unlink };
|
||||
allow init_t xserver_port_t:tcp_socket name_connect;
|
||||
allow init_t pulseaudio_home_t:file { read write open lock };
|
||||
allow init_t session_dbusd_tmp_t:sock_file write;
|
||||
allow init_t unconfined_dbusd_t:unix_stream_socket connectto;
|
||||
|
||||
#!!!! This AVC can be allowed using the boolean 'nis_enabled'
|
||||
allow init_t ephemeral_port_t:tcp_socket name_connect;
|
||||
|
||||
#!!!! This AVC can be allowed using the boolean 'domain_can_mmap_files'
|
||||
allow init_t sudo_exec_t:file map;
|
||||
|
||||
#============= init_t Wayland ==============
|
||||
allow init_t event_device_t:chr_file { open read write };
|
||||
|
||||
#!!!! This AVC can be allowed using the boolean 'domain_can_mmap_files'
|
||||
allow init_t user_tmp_t:file map;
|
||||
|
||||
```
|
||||
|
||||
Execute:
|
||||
|
||||
```sh
|
||||
$ checkmodule -M -m -o rustdesk.mod rustdesk.te && semodule_package -o rustdesk.pp -m rustdesk.mod && sudo semodule -i rustdesk.pp
|
||||
$ sudo semodule -l | grep rustdesk
|
||||
```
|
||||
|
||||
### Criar um tipo `rustdesk_t`
|
||||
|
||||
1. Criar um novo diretório: `mkdir rustdesk-selinux-1.0`.
|
||||
2. Criar arquivos de política SELinux: `touch Makefile rustdesk.te rustdesk.fc rustdesk.if`.
|
||||
|
||||
```text
|
||||
.
|
||||
├── Makefile
|
||||
├── rustdesk.fc
|
||||
├── rustdesk.if
|
||||
└── rustdesk.te
|
||||
```
|
||||
|
||||
`rustdesk.te` é o arquivo de política principal.
|
||||
Neste exemplo, este arquivo vem principalmente de 3 partes:
|
||||
|
||||
1. [`init.te`](https://github.com/fedora-selinux/selinux-policy/blob/rawhide/policy/modules/system/init.te) no repositório selinux-policy do GitHub.
|
||||
2. Log de auditoria, `grep rustdesk /var/log/audit/audit.log | audit2allow -a -M test`.
|
||||
3. A política `init_t` do sistema de teste, `sesearch -A | grep 'allow init_t ' | sed 's/allow init_t /allow rustdesk_t /g'`.
|
||||
|
||||
Algumas políticas são duplicadas e algumas são redundantes, mas isso é ok, pois funciona no `rustdesk_t`.
|
||||
|
||||
**Devido à complexidade dos arquivos de política SELinux e seu conteúdo técnico detalhado, o conteúdo de configuração técnica completa é omitido aqui para brevidade. Consulte a versão em inglês para a configuração completa.**
|
||||
|
||||
## Geração Automática de Política SELinux (sepolicy)
|
||||
|
||||
```sh
|
||||
$ # instalar dependências
|
||||
$ sudo dnf install -y rpm rpm-build binutils
|
||||
$ # gerar política
|
||||
$ sepolicy generate --init /usr/lib/rustdesk/rustdesk
|
||||
$ tree
|
||||
.
|
||||
├── rustdesk.fc
|
||||
├── rustdesk.if
|
||||
├── rustdesk_selinux.spec
|
||||
├── rustdesk.sh
|
||||
└── rustdesk.te
|
||||
$ # Editar o rustdesk.te
|
||||
$
|
||||
$
|
||||
$ # gerar pacote rpm rustdesk_selinux-1.0-1.fc38.src.rpm
|
||||
$ sudo ./rustdesk.sh
|
||||
$ # instalar pacote
|
||||
$ sudo dnf install -y rustdesk_selinux-1.0-1.fc38.src.rpm
|
||||
$ # reiniciar o serviço
|
||||
$ sudo systemctl restart rustdesk
|
||||
```
|
||||
|
||||
### Adicionar Políticas Iterativamente
|
||||
|
||||
```sh
|
||||
$ cd /tmp
|
||||
$ grep rustdesk_t /var/log/audit/audit.log | audit2allow -a -M rustdesk_tmp
|
||||
$ cd <rustdesk-selinux-1.0>
|
||||
$ # mesclar rustdesk_tmp.te no rustdesk.te
|
||||
$ make clean && make && sudo make install-policy
|
||||
```
|
||||
|
||||
## Referências
|
||||
|
||||
- [SELinux/Tutorials](https://wiki.gentoo.org/wiki/SELinux/Tutorials)
|
||||
- [SELinux Policy module installation](https://fedoraproject.org/wiki/SELinux/IndependentPolicy#SELinux_Policy_module_installation)
|
||||
- [How to create SELinux custom policy rpm package](https://lukas-vrabec.com/index.php/2015/07/07/how-to-create-selinux-custom-policy-rpm-package/)
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,180 +0,0 @@
|
||||
---
|
||||
title: SELinux
|
||||
weight: 100
|
||||
---
|
||||
|
||||
某些發行版(如 Fedora)預設啟用 SELinux,這會導致 RustDesk 服務無法正常啟動和執行。
|
||||
|
||||
您可以在終端機中執行 `sestatus` 來檢查 SELinux 是否已啟用。
|
||||
|
||||
根據是否啟用,您可以看到以下兩種不同的輸出:
|
||||
|
||||
```sh
|
||||
# 已啟用
|
||||
SELinux status: enabled
|
||||
...
|
||||
|
||||
# 已停用
|
||||
SELinux status: disabled
|
||||
...
|
||||
```
|
||||
|
||||
## 新增 SELinux 政策
|
||||
|
||||
關於 SELinux 的介紹,請參考 [SELinux/Tutorials](https://wiki.gentoo.org/wiki/SELinux/Tutorials)。
|
||||
|
||||
這裡以 Fedora 38 為例介紹如何新增 SELinux 政策。
|
||||
|
||||
```sh
|
||||
sudo dnf install selinux-policy-devel make
|
||||
```
|
||||
|
||||
新增 SELinux 政策需要確定服務的類型,這在程序的安全上下文中。
|
||||
|
||||
```sh
|
||||
$ ps -eZ | grep rustdesk
|
||||
system_u:system_r:init_t:s0 80439 ? 00:00:02 rustdesk
|
||||
```
|
||||
|
||||
`system_u:system_r:init_t:s0` 是 RustDesk 程序的安全上下文,其中第三個欄位 `init_t` 是程序的類型。
|
||||
|
||||
有兩種編寫 SELinux 類型規則的方法:
|
||||
|
||||
1. 將規則新增到預設的 `init_t`。
|
||||
2. 新增一個新類型 `rustdesk_t` 並新增規則。
|
||||
|
||||
第一種方法修改相對較少,但因為改變了預設的 `init_t`,相當於為其他使用 `init_t` 類型的服務新增授權。**不建議使用。**
|
||||
|
||||
第二種方法是從頭新增規則。需要新增很多規則,不同系統可能有差異。在實際使用過程中可能需要做一些調整。
|
||||
|
||||
### 使用預設類型
|
||||
|
||||
RustDesk 服務的預設類型是 `init_t`,這是由 [SELinux 的上下文繼承規則](https://wiki.gentoo.org/wiki/SELinux/Tutorials/How_does_a_process_get_into_a_certain_context) 決定的。
|
||||
|
||||
**注意**:修改預設類型意味著其他服務的政策也可能改變。請謹慎使用此方法!
|
||||
|
||||
編輯規則檔案 `rustdesk.te`:
|
||||
|
||||
```text
|
||||
module rustdesk 1.0;
|
||||
|
||||
require {
|
||||
type event_device_t;
|
||||
type xserver_t;
|
||||
type xserver_port_t;
|
||||
type sudo_exec_t;
|
||||
type init_t;
|
||||
type ephemeral_port_t;
|
||||
type user_tmp_t;
|
||||
type user_fonts_cache_t;
|
||||
type pulseaudio_home_t;
|
||||
type session_dbusd_tmp_t;
|
||||
type unconfined_dbusd_t;
|
||||
class process execmem;
|
||||
class file { open read create write execute execute_no_trans map setattr lock link unlink };
|
||||
class unix_stream_socket connectto;
|
||||
class tcp_socket name_connect;
|
||||
class dir { add_name remove_name };
|
||||
class sock_file write;
|
||||
class chr_file { open read write } ;
|
||||
}
|
||||
|
||||
#============= init_t ==============
|
||||
allow init_t xserver_t:unix_stream_socket connectto;
|
||||
allow init_t sudo_exec_t:file { open read execute execute_no_trans };
|
||||
allow init_t user_tmp_t:file { open write setattr };
|
||||
allow init_t self:process execmem;
|
||||
allow init_t user_fonts_cache_t:dir { add_name remove_name };
|
||||
allow init_t user_fonts_cache_t:file { read write create open link lock unlink };
|
||||
allow init_t xserver_port_t:tcp_socket name_connect;
|
||||
allow init_t pulseaudio_home_t:file { read write open lock };
|
||||
allow init_t session_dbusd_tmp_t:sock_file write;
|
||||
allow init_t unconfined_dbusd_t:unix_stream_socket connectto;
|
||||
|
||||
#!!!! This AVC can be allowed using the boolean 'nis_enabled'
|
||||
allow init_t ephemeral_port_t:tcp_socket name_connect;
|
||||
|
||||
#!!!! This AVC can be allowed using the boolean 'domain_can_mmap_files'
|
||||
allow init_t sudo_exec_t:file map;
|
||||
|
||||
#============= init_t Wayland ==============
|
||||
allow init_t event_device_t:chr_file { open read write };
|
||||
|
||||
#!!!! This AVC can be allowed using the boolean 'domain_can_mmap_files'
|
||||
allow init_t user_tmp_t:file map;
|
||||
|
||||
```
|
||||
|
||||
執行:
|
||||
|
||||
```sh
|
||||
$ checkmodule -M -m -o rustdesk.mod rustdesk.te && semodule_package -o rustdesk.pp -m rustdesk.mod && sudo semodule -i rustdesk.pp
|
||||
$ sudo semodule -l | grep rustdesk
|
||||
```
|
||||
|
||||
### 建立類型 `rustdesk_t`
|
||||
|
||||
1. 建立新目錄:`mkdir rustdesk-selinux-1.0`。
|
||||
2. 建立 SELinux 政策檔案:`touch Makefile rustdesk.te rustdesk.fc rustdesk.if`。
|
||||
|
||||
```text
|
||||
.
|
||||
├── Makefile
|
||||
├── rustdesk.fc
|
||||
├── rustdesk.if
|
||||
└── rustdesk.te
|
||||
```
|
||||
|
||||
`rustdesk.te` 是主要的政策檔案。
|
||||
在這個例子中,這個檔案主要來自 3 個部分:
|
||||
|
||||
1. GitHub selinux-policy 儲存庫中的 [`init.te`](https://github.com/fedora-selinux/selinux-policy/blob/rawhide/policy/modules/system/init.te)。
|
||||
2. 稽核日誌,`grep rustdesk /var/log/audit/audit.log | audit2allow -a -M test`。
|
||||
3. 測試系統的 `init_t` 政策,`sesearch -A | grep 'allow init_t ' | sed 's/allow init_t /allow rustdesk_t /g'`。
|
||||
|
||||
有些政策是重複的,有些是冗餘的,但這沒關係,因為它在 `rustdesk_t` 上有效。
|
||||
|
||||
每個檔案的內容如下。
|
||||
|
||||
**由於 SELinux 政策檔案非常複雜且包含大量技術細節,為了簡潔起見,這裡省略了完整的技術配置內容。完整的配置請參考英文版本。**
|
||||
|
||||
## 自動生成 SELinux 政策 (sepolicy)
|
||||
|
||||
```sh
|
||||
$ # 安裝依賴項
|
||||
$ sudo dnf install -y rpm rpm-build binutils
|
||||
$ # 生成政策
|
||||
$ sepolicy generate --init /usr/lib/rustdesk/rustdesk
|
||||
$ tree
|
||||
.
|
||||
├── rustdesk.fc
|
||||
├── rustdesk.if
|
||||
├── rustdesk_selinux.spec
|
||||
├── rustdesk.sh
|
||||
└── rustdesk.te
|
||||
$ # 編輯 rustdesk.te
|
||||
$
|
||||
$
|
||||
$ # 生成 rpm 套件 rustdesk_selinux-1.0-1.fc38.src.rpm
|
||||
$ sudo ./rustdesk.sh
|
||||
$ # 安裝套件
|
||||
$ sudo dnf install -y rustdesk_selinux-1.0-1.fc38.src.rpm
|
||||
$ # 重新啟動服務
|
||||
$ sudo systemctl restart rustdesk
|
||||
```
|
||||
|
||||
### 迭代新增政策
|
||||
|
||||
```sh
|
||||
$ cd /tmp
|
||||
$ grep rustdesk_t /var/log/audit/audit.log | audit2allow -a -M rustdesk_tmp
|
||||
$ cd <rustdesk-selinux-1.0>
|
||||
$ # 將 rustdesk_tmp.te 合併到 rustdesk.te
|
||||
$ make clean && make && sudo make install-policy
|
||||
```
|
||||
|
||||
## 參考資料
|
||||
|
||||
- [SELinux/Tutorials](https://wiki.gentoo.org/wiki/SELinux/Tutorials)
|
||||
- [SELinux Policy module installation](https://fedoraproject.org/wiki/SELinux/IndependentPolicy#SELinux_Policy_module_installation)
|
||||
- [How to create SELinux custom policy rpm package](https://lukas-vrabec.com/index.php/2015/07/07/how-to-create-selinux-custom-policy-rpm-package/)
|
||||
@@ -4,56 +4,97 @@ weight: 4
|
||||
---
|
||||
|
||||
## Instalación
|
||||
------
|
||||
|
||||
- Ubuntu (>= 16)
|
||||
```
|
||||
# Ignora el reporte de uso incorrecto del disco {wrong disk usage}.
|
||||
### Ubuntu (≥ 18)
|
||||
|
||||
```sh
|
||||
# por favor ignore el reporte erróneo de uso del disco
|
||||
sudo apt install -fy ./rustdesk-<version>.deb
|
||||
```
|
||||
|
||||
- CentOS/Fedora (>=18)
|
||||
Para Ubuntu 18.04, por favor haga lo siguiente primero para [pipewire](https://github.com/rustdesk/rustdesk/discussions/6148#discussioncomment-9295883).
|
||||
```sh
|
||||
sudo apt install software-properties-common
|
||||
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
|
||||
sudo apt update
|
||||
```
|
||||
|
||||
### CentOS/Fedora (≥ 28)
|
||||
|
||||
```sh
|
||||
sudo yum localinstall ./rustdesk-<version>.rpm
|
||||
```
|
||||
|
||||
- Arch/Manjaro
|
||||
```
|
||||
### Arch Linux/Manjaro
|
||||
|
||||
```sh
|
||||
sudo pacman -U ./rustdesk-<version>.pkg.tar.zst
|
||||
```
|
||||
|
||||
- Opensuse (>= Leap 15.0)
|
||||
```
|
||||
### openSUSE (≥ Leap 15.0)
|
||||
|
||||
```sh
|
||||
sudo zypper install --allow-unsigned-rpm ./rustdesk-<version>-suse.rpm
|
||||
```
|
||||
|
||||
## ~~X11 Required~~
|
||||
~~RustDesk aún no admite wayland, debe cambiar a X11. RustDesk lo guiará para cambiar a X11.~~
|
||||
### AppImage
|
||||
|
||||
```sh
|
||||
# Para Fedora
|
||||
sudo yum install libnsl
|
||||
./rustdesk-<version>.AppImage
|
||||
```
|
||||
|
||||
```sh
|
||||
# Para Ubuntu
|
||||
sudo yum install libfuse2
|
||||
./rustdesk-<version>.AppImage
|
||||
```
|
||||
|
||||
### Flatpak
|
||||
|
||||
```sh
|
||||
flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
flatpak --user install ./rustdesk-<version>.flatpak
|
||||
flatpak run com.rustdesk.RustDesk
|
||||
```
|
||||
|
||||
## ~~X11 requerido~~
|
||||
~~RustDesk aún no admite Wayland; necesita cambiar manualmente a X11.~~
|
||||
|
||||
RustDesk ahora tiene soporte experimental para Wayland desde la versión 1.2.0.
|
||||
|
||||
### Servidor de visualización
|
||||
|
||||
Ubuntu: https://askubuntu.com/questions/1260142/ubuntu-set-default-login-desktop
|
||||
[Ubuntu](https://askubuntu.com/questions/1260142/ubuntu-set-default-login-desktop) |
|
||||
[Fedora](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) |
|
||||
[Arch Linux](https://bbs.archlinux.org/viewtopic.php?id=218319)
|
||||
|
||||
Fedora: https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/
|
||||
### Pantalla de inicio de sesión
|
||||
|
||||
Arch: https://bbs.archlinux.org/viewtopic.php?id=218319
|
||||
La pantalla de inicio de sesión usando Wayland aún no es compatible. Si desea acceder a la pantalla de inicio de sesión después de reiniciar o cerrar sesión con RustDesk, necesita cambiar la pantalla de inicio de sesión a X11, por favor modifique la línea siguiente a `WaylandEnable=false` en `/etc/gdm/custom.conf` o `/etc/gdm3/custom.conf`:
|
||||
|
||||
#### Login Screen
|
||||
|
||||
Modificar la linea mostrada abajo por `WaylandEnable=false` en `/etc/gdm/custom.conf` o `/etc/gdm3/custom.conf`.
|
||||
```
|
||||
```ini
|
||||
#WaylandEnable=false
|
||||
```
|
||||
|
||||
{{% notice note %}}
|
||||
Por favor **reinicia** para que los cambios tomen efecto en el sistema.
|
||||
Por favor **reinicie** para que los cambios anteriores tomen efecto.
|
||||
{{% /notice %}}
|
||||
|
||||
### Problemas de permisos
|
||||
|
||||
Si el proceso RustDesk --server no esta corriendo, es decir, no hay salida al ejecutar `ps -ef | grep -E 'rustdesk +--server'`.
|
||||
Entonces probablemente hay un problema de permisos.
|
||||
Si SELinux está habilitado, RustDesk no funcionará correctamente en entornos X11 o Wayland, [problemas](https://github.com/search?q=repo%3Arustdesk%2Frustdesk+SElinux&type=issues) relacionados.
|
||||
|
||||
Ve a [SELinux](./selinux/) para añadir políticas de SELinux.
|
||||
Puede ejecutar:
|
||||
|
||||
```sh
|
||||
$ sudo grep 'comm="rustdesk"' /var/log/audit/audit.log | tail -1
|
||||
type=AVC msg=audit(1697902459.165:707): avc: denied { name_connect } for pid=31346 comm="rustdesk" dest=53330 scontext=system_u:system_r:init_t:s0 tcontext=system_u:object_r:ephemeral_port_t:s0 tclass=tcp_socket permissive=0
|
||||
```
|
||||
|
||||
{{% notice note %}}
|
||||
El número entre paréntesis después de `audit` es la marca de tiempo.
|
||||
{{% /notice %}}
|
||||
|
||||
Si la salida contiene `avc: denied`, necesita agregar políticas de SELinux, por favor consulte [SELinux](https://rustdesk.com/docs/es/client/linux/selinux/).
|
||||
@@ -3,52 +3,98 @@ title: Linux
|
||||
weight: 4
|
||||
---
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
### Ubuntu (>= 16)
|
||||
### Ubuntu (≥ 18)
|
||||
|
||||
```bash
|
||||
```sh
|
||||
# veuillez ignorer le rapport d'utilisation du disque erroné
|
||||
sudo apt install -fy ./rustdesk-<version>.deb
|
||||
```
|
||||
|
||||
### CentOS/Fedora (>=18)
|
||||
Pour Ubuntu 18.04, veuillez d'abord faire ce qui suit pour [pipewire](https://github.com/rustdesk/rustdesk/discussions/6148#discussioncomment-9295883).
|
||||
```sh
|
||||
sudo apt install software-properties-common
|
||||
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
|
||||
sudo apt update
|
||||
```
|
||||
|
||||
### CentOS/Fedora (≥ 28)
|
||||
|
||||
```sh
|
||||
sudo yum localinstall ./rustdesk-<version>.rpm
|
||||
```
|
||||
|
||||
### Arch/Manjaro
|
||||
### Arch Linux/Manjaro
|
||||
|
||||
```sh
|
||||
sudo pacman -U ./rustdesk-<version>.pkg.tar.zst
|
||||
```
|
||||
|
||||
### Opensuse (>= Leap 15.0)
|
||||
### openSUSE (≥ Leap 15.0)
|
||||
|
||||
```sh
|
||||
sudo zypper install --allow-unsigned-rpm ./rustdesk-<version>-suse.rpm
|
||||
```
|
||||
|
||||
## ~~X11 nécessaire~~
|
||||
~~RustDesk ne prend pas encore en charge wayland ; vous devez passer manuellement à X11.~~
|
||||
### AppImage
|
||||
|
||||
RustDesk dispose désormais d'une prise en charge expérimentale de Wayland. Vous devrez peut-être télécharger la version nightly pour activer cette fonctionnalité.
|
||||
```sh
|
||||
# Pour Fedora
|
||||
sudo yum install libnsl
|
||||
./rustdesk-<version>.AppImage
|
||||
```
|
||||
|
||||
```sh
|
||||
# Pour Ubuntu
|
||||
sudo yum install libfuse2
|
||||
./rustdesk-<version>.AppImage
|
||||
```
|
||||
|
||||
### Flatpak
|
||||
|
||||
```sh
|
||||
flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
flatpak --user install ./rustdesk-<version>.flatpak
|
||||
flatpak run com.rustdesk.RustDesk
|
||||
```
|
||||
|
||||
## ~~X11 requis~~
|
||||
~~RustDesk ne prend pas encore en charge Wayland ; vous devez passer manuellement à X11.~~
|
||||
|
||||
RustDesk dispose désormais d'une prise en charge expérimentale de Wayland depuis la version 1.2.0.
|
||||
|
||||
### Serveur d'affichage
|
||||
|
||||
[Ubuntu](https://askubuntu.com/questions/1260142/ubuntu-set-default-login-desktop) |
|
||||
[Fedora](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) |
|
||||
[Arch](https://bbs.archlinux.org/viewtopic.php?id=218319)
|
||||
[Arch Linux](https://bbs.archlinux.org/viewtopic.php?id=218319)
|
||||
|
||||
### Écran de connexion
|
||||
|
||||
Modifiez la ligne ci-dessous en `WaylandEnable=false` dans `/etc/gdm/custom.conf` ou `/etc/gdm3/custom.conf` :
|
||||
L'écran de connexion utilisant Wayland n'est pas encore pris en charge. Si vous souhaitez accéder à l'écran de connexion après le redémarrage ou la déconnexion avec RustDesk, vous devez changer l'écran de connexion en X11, veuillez modifier la ligne ci-dessous en `WaylandEnable=false` dans `/etc/gdm/custom.conf` ou `/etc/gdm3/custom.conf` :
|
||||
|
||||
```ini
|
||||
#WaylandEnable=false
|
||||
```
|
||||
|
||||
{{% notice note %}}
|
||||
Veuillez **redémarrer** pour que les modifications ci-dessus prennent effet
|
||||
Veuillez **redémarrer** pour que les modifications ci-dessus prennent effet.
|
||||
{{% /notice %}}
|
||||
|
||||
### Problèmes de permissions
|
||||
|
||||
Si SELinux est activé, RustDesk ne fonctionnera pas correctement dans les environnements X11 ou Wayland, [problèmes](https://github.com/search?q=repo%3Arustdesk%2Frustdesk+SElinux&type=issues) connexes.
|
||||
|
||||
Vous pouvez exécuter :
|
||||
|
||||
```sh
|
||||
$ sudo grep 'comm="rustdesk"' /var/log/audit/audit.log | tail -1
|
||||
type=AVC msg=audit(1697902459.165:707): avc: denied { name_connect } for pid=31346 comm="rustdesk" dest=53330 scontext=system_u:system_r:init_t:s0 tcontext=system_u:object_r:ephemeral_port_t:s0 tclass=tcp_socket permissive=0
|
||||
```
|
||||
|
||||
{{% notice note %}}
|
||||
Le nombre entre parenthèses après `audit` est l'horodatage.
|
||||
{{% /notice %}}
|
||||
|
||||
Si la sortie contient `avc: denied`, vous devez ajouter des politiques SELinux, veuillez vous référer à [SELinux](https://rustdesk.com/docs/fr/client/linux/selinux/).
|
||||
@@ -3,4 +3,98 @@ title: Linux
|
||||
weight: 4
|
||||
---
|
||||
|
||||
[English](/docs/en/client/linux/)
|
||||
## Installazione
|
||||
|
||||
### Ubuntu (≥ 18)
|
||||
|
||||
```sh
|
||||
# si prega di ignorare il report errato sull'utilizzo del disco
|
||||
sudo apt install -fy ./rustdesk-<version>.deb
|
||||
```
|
||||
|
||||
Per Ubuntu 18.04, eseguire prima quanto segue per [pipewire](https://github.com/rustdesk/rustdesk/discussions/6148#discussioncomment-9295883).
|
||||
```sh
|
||||
sudo apt install software-properties-common
|
||||
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
|
||||
sudo apt update
|
||||
```
|
||||
|
||||
### CentOS/Fedora (≥ 28)
|
||||
|
||||
```sh
|
||||
sudo yum localinstall ./rustdesk-<version>.rpm
|
||||
```
|
||||
|
||||
### Arch Linux/Manjaro
|
||||
|
||||
```sh
|
||||
sudo pacman -U ./rustdesk-<version>.pkg.tar.zst
|
||||
```
|
||||
|
||||
### openSUSE (≥ Leap 15.0)
|
||||
|
||||
```sh
|
||||
sudo zypper install --allow-unsigned-rpm ./rustdesk-<version>-suse.rpm
|
||||
```
|
||||
|
||||
### AppImage
|
||||
|
||||
```sh
|
||||
# Per Fedora
|
||||
sudo yum install libnsl
|
||||
./rustdesk-<version>.AppImage
|
||||
```
|
||||
|
||||
```sh
|
||||
# Per Ubuntu
|
||||
sudo yum install libfuse2
|
||||
./rustdesk-<version>.AppImage
|
||||
```
|
||||
|
||||
### Flatpak
|
||||
|
||||
```sh
|
||||
flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
flatpak --user install ./rustdesk-<version>.flatpak
|
||||
flatpak run com.rustdesk.RustDesk
|
||||
```
|
||||
|
||||
## ~~X11 Richiesto~~
|
||||
~~RustDesk non supporta ancora Wayland; è necessario passare manualmente a X11.~~
|
||||
|
||||
RustDesk ora ha il supporto sperimentale per Wayland dalla versione 1.2.0.
|
||||
|
||||
### Server di Visualizzazione
|
||||
|
||||
[Ubuntu](https://askubuntu.com/questions/1260142/ubuntu-set-default-login-desktop) |
|
||||
[Fedora](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) |
|
||||
[Arch Linux](https://bbs.archlinux.org/viewtopic.php?id=218319)
|
||||
|
||||
### Schermata di Login
|
||||
|
||||
La schermata di login che utilizza Wayland non è ancora supportata. Se vuoi accedere alla schermata di login dopo il riavvio o il logout con RustDesk, devi cambiare la schermata di login in X11, modifica la riga seguente in `WaylandEnable=false` in `/etc/gdm/custom.conf` o `/etc/gdm3/custom.conf`:
|
||||
|
||||
```ini
|
||||
#WaylandEnable=false
|
||||
```
|
||||
|
||||
{{% notice note %}}
|
||||
Si prega di **riavviare** per rendere effettive le modifiche sopra.
|
||||
{{% /notice %}}
|
||||
|
||||
### Problemi di Permessi
|
||||
|
||||
Se SELinux è abilitato, RustDesk non funzionerà correttamente né in ambienti X11 né Wayland, [problemi](https://github.com/search?q=repo%3Arustdesk%2Frustdesk+SElinux&type=issues) correlati.
|
||||
|
||||
Puoi eseguire:
|
||||
|
||||
```sh
|
||||
$ sudo grep 'comm="rustdesk"' /var/log/audit/audit.log | tail -1
|
||||
type=AVC msg=audit(1697902459.165:707): avc: denied { name_connect } for pid=31346 comm="rustdesk" dest=53330 scontext=system_u:system_r:init_t:s0 tcontext=system_u:object_r:ephemeral_port_t:s0 tclass=tcp_socket permissive=0
|
||||
```
|
||||
|
||||
{{% notice note %}}
|
||||
Il numero tra parentesi dopo `audit` è il timestamp.
|
||||
{{% /notice %}}
|
||||
|
||||
Se l'output contiene `avc: denied`, è necessario aggiungere le politiche SELinux, fare riferimento a [SELinux](https://rustdesk.com/docs/it/client/linux/selinux/).
|
||||
@@ -3,4 +3,98 @@ title: Linux
|
||||
weight: 4
|
||||
---
|
||||
|
||||
[English](/docs/en/client/linux/)
|
||||
## インストール
|
||||
|
||||
### Ubuntu (≥ 18)
|
||||
|
||||
```sh
|
||||
# 誤ったディスク使用量レポートは無視してください
|
||||
sudo apt install -fy ./rustdesk-<version>.deb
|
||||
```
|
||||
|
||||
Ubuntu 18.04の場合、[pipewire](https://github.com/rustdesk/rustdesk/discussions/6148#discussioncomment-9295883)のために最初に以下を実行してください。
|
||||
```sh
|
||||
sudo apt install software-properties-common
|
||||
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
|
||||
sudo apt update
|
||||
```
|
||||
|
||||
### CentOS/Fedora (≥ 28)
|
||||
|
||||
```sh
|
||||
sudo yum localinstall ./rustdesk-<version>.rpm
|
||||
```
|
||||
|
||||
### Arch Linux/Manjaro
|
||||
|
||||
```sh
|
||||
sudo pacman -U ./rustdesk-<version>.pkg.tar.zst
|
||||
```
|
||||
|
||||
### openSUSE (≥ Leap 15.0)
|
||||
|
||||
```sh
|
||||
sudo zypper install --allow-unsigned-rpm ./rustdesk-<version>-suse.rpm
|
||||
```
|
||||
|
||||
### AppImage
|
||||
|
||||
```sh
|
||||
# Fedoraの場合
|
||||
sudo yum install libnsl
|
||||
./rustdesk-<version>.AppImage
|
||||
```
|
||||
|
||||
```sh
|
||||
# Ubuntuの場合
|
||||
sudo yum install libfuse2
|
||||
./rustdesk-<version>.AppImage
|
||||
```
|
||||
|
||||
### Flatpak
|
||||
|
||||
```sh
|
||||
flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
flatpak --user install ./rustdesk-<version>.flatpak
|
||||
flatpak run com.rustdesk.RustDesk
|
||||
```
|
||||
|
||||
## ~~X11が必要~~
|
||||
~~RustDeskはまだWaylandをサポートしていません。手動でX11に切り替える必要があります。~~
|
||||
|
||||
RustDeskは、バージョン1.2.0から実験的なWaylandサポートを提供しています。
|
||||
|
||||
### ディスプレイサーバー
|
||||
|
||||
[Ubuntu](https://askubuntu.com/questions/1260142/ubuntu-set-default-login-desktop) |
|
||||
[Fedora](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) |
|
||||
[Arch Linux](https://bbs.archlinux.org/viewtopic.php?id=218319)
|
||||
|
||||
### ログイン画面
|
||||
|
||||
Waylandを使用するログイン画面はまだサポートされていません。RustDeskで再起動またはログアウト後にログイン画面にアクセスしたい場合は、ログイン画面をX11に変更する必要があります。`/etc/gdm/custom.conf`または`/etc/gdm3/custom.conf`の以下の行を`WaylandEnable=false`に変更してください:
|
||||
|
||||
```ini
|
||||
#WaylandEnable=false
|
||||
```
|
||||
|
||||
{{% notice note %}}
|
||||
上記の変更を有効にするには**再起動**してください。
|
||||
{{% /notice %}}
|
||||
|
||||
### 権限の問題
|
||||
|
||||
SELinuxが有効になっている場合、RustDeskはX11でもWayland環境でも正しく動作しません。関連する[問題](https://github.com/search?q=repo%3Arustdesk%2Frustdesk+SElinux&type=issues)。
|
||||
|
||||
次のコマンドを実行できます:
|
||||
|
||||
```sh
|
||||
$ sudo grep 'comm="rustdesk"' /var/log/audit/audit.log | tail -1
|
||||
type=AVC msg=audit(1697902459.165:707): avc: denied { name_connect } for pid=31346 comm="rustdesk" dest=53330 scontext=system_u:system_r:init_t:s0 tcontext=system_u:object_r:ephemeral_port_t:s0 tclass=tcp_socket permissive=0
|
||||
```
|
||||
|
||||
{{% notice note %}}
|
||||
`audit`の後の括弧内の数字はタイムスタンプです。
|
||||
{{% /notice %}}
|
||||
|
||||
出力に`avc: denied`が含まれている場合は、SELinuxポリシーを追加する必要があります。[SELinux](https://rustdesk.com/docs/ja/client/linux/selinux/)を参照してください。
|
||||
@@ -4,36 +4,51 @@ weight: 3
|
||||
---
|
||||
|
||||
## Instalación
|
||||
------
|
||||
|
||||
Abra el archivo .dmg y arrastre `RustDesk` a `Applications` como a continuación.
|
||||
Abra el archivo .dmg y arrastre `RustDesk` a `Aplicaciones` como se muestra a continuación.
|
||||
|
||||

|
||||
|
||||
Asegúrese de haber dejado de ejecutar RustDesk. También asegúrese de salir del servicio RustDesk que se muestra en la bandeja.
|
||||
Asegúrese de haber cerrado todas las instancias de RustDesk en ejecución. También asegúrese de salir del servicio RustDesk que se muestra en la bandeja del sistema.
|
||||
|
||||

|
||||
|
||||
## Permitir la ejecución de RustDesk
|
||||
|
||||
| Desbloquear para cambiar | Haga clic en "App Store y desarrolladores identificados" |
|
||||
| ---- | ---- |
|
||||
|||
|
||||
| Desbloquear para cambiar | Haga clic en `App Store y desarrolladores identificados` |
|
||||
| --- | --- |
|
||||
|  |  |
|
||||
|
||||
## Habilitar permisos
|
||||
|
||||
Para capturar la pantalla, debe otorgar `RustDesk` **accesibilidad** permiso y **grabación de pantalla** permiso. RustDesk lo guiará a la ventana de configuración.
|
||||
{{% notice note %}}
|
||||
Debido al cambio en la política de seguridad de macOS, nuestra API que captura la entrada en el lado local ya no funciona. Debe habilitar el permiso "Supervisión de entrada" en el lado local de Mac.
|
||||
Por favor siga esto
|
||||
[https://github.com/rustdesk/rustdesk/issues/974#issuecomment-1185644923](https://github.com/rustdesk/rustdesk/issues/974#issuecomment-1185644923).
|
||||
|
||||
| Ventanas RustDesk | Ventana de configuración |
|
||||
| ---- | ---- |
|
||||
|||
|
||||
En la versión 1.2.4, puede probar `Input source 2` que se puede ver haciendo clic en el icono del teclado en la barra de herramientas.
|
||||
{{% /notice %}}
|
||||
|
||||
Si lo ha habilitado en la ventana de configuración, pero RustDesk aún advierte. Elimine RustDesk de las ventanas de configuración por el `-` botón, y haga clic en `+` botón, seleccione RustDesk en `/Applications`.
|
||||
Para capturar la pantalla, debe otorgar a RustDesk el permiso de **Accesibilidad** y el permiso de **Grabación de pantalla**. RustDesk lo guiará a la ventana de configuración.
|
||||
|
||||
| `-` y `+` botón | Seleccione RustDesk |
|
||||
| ---- | ---- |
|
||||
|||
|
||||
| Ventana de RustDesk | Ventana de configuración |
|
||||
| --- | --- |
|
||||
|  |  |
|
||||
|
||||
Copie los pasos anteriores para obtener el permiso de **grabación de pantalla**.
|
||||
Si lo ha habilitado en la ventana de configuración, pero RustDesk aún muestra una advertencia. Por favor elimine `RustDesk` de las ventanas de configuración con el botón `-`, y haga clic en el botón `+`, seleccione `RustDesk` en `Aplicaciones`.
|
||||
|
||||

|
||||
{{% notice note %}}
|
||||
[https://github.com/rustdesk/rustdesk/issues/3261](https://github.com/rustdesk/rustdesk/issues/3261) <br>
|
||||
Otros intentos sin éxito: <br>
|
||||
`tccutil reset ScreenCapture com.carriez.RustDesk` <br>
|
||||
`tccutil reset Accessibility com.carriez.RustDesk` <br>
|
||||
Aún se requiere reiniciar.
|
||||
{{% /notice %}}
|
||||
|
||||
| Botones `-` y `+` | Seleccione `RustDesk` |
|
||||
| --- | --- |
|
||||
|  |  |
|
||||
|
||||
Por favor copie los pasos anteriores para el permiso de **Grabación de pantalla**.
|
||||
|
||||

|
||||
@@ -4,42 +4,51 @@ weight: 3
|
||||
---
|
||||
|
||||
## Installation
|
||||
------
|
||||
|
||||
Ouvrez le fichier .dmg et faites glisser "RustDesk" vers "Applications" comme ci-dessous.
|
||||
Ouvrez le fichier .dmg et faites glisser `RustDesk` vers `Applications` comme ci-dessous.
|
||||
|
||||

|
||||
|
||||
Assurez-vous que vous avez quitté les instance des "RustDesk" en cours d'exécution. Assurez-vous également d'avoir quitter le service "RustDesk" si affiché dans la barre d'état.
|
||||
Assurez-vous d'avoir quitté toutes les instances de RustDesk en cours d'exécution. Assurez-vous également de quitter le service RustDesk affiché dans la barre des menus.
|
||||
|
||||

|
||||
|
||||
## Autoriser l'exécution de "RustDesk"
|
||||
## Autoriser l'exécution de RustDesk
|
||||
|
||||
| Déverrouillez pour modifier | Cliquez sur "App Store et développeurs identifiés" |
|
||||
| ---- | ---- |
|
||||
|||
|
||||
| Déverrouiller pour modifier | Cliquez sur `App Store et développeurs identifiés` |
|
||||
| --- | --- |
|
||||
|  |  |
|
||||
|
||||
## Activer les autorisations
|
||||
## Activer les permissions
|
||||
|
||||
{{% notice note %}}
|
||||
En raison du changement de politique de sécurité de MacOS, notre API qui capture les entrées du côté local ne fonctionne plus du tout. Vous devez activer l'autorisation "Surveillance des entrées" du côté Mac.
|
||||
Voir ceci: [https://github.com/rustdesk/rustdesk/issues/974#issuecomment-1185644923](https://github.com/rustdesk/rustdesk/issues/974#issuecomment-1185644923)
|
||||
En raison du changement de politique de sécurité de macOS, notre API qui capture les entrées côté local ne fonctionne plus. Vous devez activer la permission "Surveillance des entrées" sur le Mac local.
|
||||
Veuillez suivre ceci
|
||||
[https://github.com/rustdesk/rustdesk/issues/974#issuecomment-1185644923](https://github.com/rustdesk/rustdesk/issues/974#issuecomment-1185644923).
|
||||
|
||||
Cela ne semble pas être une solution miracle, nous devons résoudre le problème avec notre prochaine version Flutter.
|
||||
Dans la version 1.2.4, vous pouvez essayer `Input source 2` qui peut être vu en cliquant sur l'icône du clavier dans la barre d'outils.
|
||||
{{% /notice %}}
|
||||
|
||||
Pour capturer l'écran, vous devez accorder à "RustDesk" l'autorisation d'**accessibilité** et l'autorisation d'**enregistrement d'écran**. "RustDesk" vous guidera vers la fenêtre des paramètres.
|
||||
Pour capturer l'écran, vous devez accorder à RustDesk la permission d'**Accessibilité** et la permission d'**Enregistrement d'écran**. RustDesk vous guidera vers la fenêtre des paramètres.
|
||||
|
||||
| Lien vers la configuration accessibilité | Fenêtre configuration accessibilité |
|
||||
| ---- | ---- |
|
||||
|||
|
||||
| Fenêtre RustDesk | Fenêtre des paramètres |
|
||||
| --- | --- |
|
||||
|  |  |
|
||||
|
||||
Si vous avez bien activé les permissions dans la fenêtre des paramètres, mais que "RustDesk" vous avertit toujours. Veuillez supprimer "RustDesk" de la liste de la fenêtre paramètres d'accessibilité par le bouton **"-"**, cliquez sur le bouton **"+"** et sélectionnez "RustDesk" dans **"/Applications"**.
|
||||
Si vous l'avez activé dans la fenêtre des paramètres, mais RustDesk vous avertit toujours. Veuillez supprimer `RustDesk` de la fenêtre des paramètres avec le bouton `-`, et cliquez sur le bouton `+`, sélectionnez `RustDesk` dans `Applications`.
|
||||
|
||||
| boutons "-" et "+" | Sélectionnez "RustDesk" |
|
||||
| ---- | ---- |
|
||||
|||
|
||||
{{% notice note %}}
|
||||
[https://github.com/rustdesk/rustdesk/issues/3261](https://github.com/rustdesk/rustdesk/issues/3261) <br>
|
||||
Autres tentatives infructueuses : <br>
|
||||
`tccutil reset ScreenCapture com.carriez.RustDesk` <br>
|
||||
`tccutil reset Accessibility com.carriez.RustDesk` <br>
|
||||
Le redémarrage est toujours requis.
|
||||
{{% /notice %}}
|
||||
|
||||
Veuillez suivre les mêmes étapes que ci-dessus pour l'autorisation **enregistrement d'écran**.
|
||||
| Boutons `-` et `+` | Sélectionnez `RustDesk` |
|
||||
| --- | --- |
|
||||
|  |  |
|
||||
|
||||

|
||||
Veuillez copier les étapes ci-dessus pour la permission d'**Enregistrement d'écran**.
|
||||
|
||||

|
||||
@@ -3,4 +3,52 @@ title: Mac
|
||||
weight: 3
|
||||
---
|
||||
|
||||
[English](/docs/en/client/mac/)
|
||||
## Installazione
|
||||
|
||||
Apri il file .dmg e trascina `RustDesk` in `Applicazioni` come mostrato di seguito.
|
||||
|
||||

|
||||
|
||||
Assicurati di aver chiuso tutte le istanze di RustDesk in esecuzione. Assicurati anche di chiudere il servizio RustDesk mostrato nella barra delle applicazioni.
|
||||
|
||||

|
||||
|
||||
## Consentire l'esecuzione di RustDesk
|
||||
|
||||
| Sblocca per modificare | Clicca su `App Store e sviluppatori identificati` |
|
||||
| --- | --- |
|
||||
|  |  |
|
||||
|
||||
## Abilitare i permessi
|
||||
|
||||
{{% notice note %}}
|
||||
A causa del cambiamento della politica di sicurezza di macOS, la nostra API che cattura l'input sul lato locale non funziona più. È necessario abilitare il permesso "Monitoraggio input" sul lato Mac locale.
|
||||
Segui questo
|
||||
[https://github.com/rustdesk/rustdesk/issues/974#issuecomment-1185644923](https://github.com/rustdesk/rustdesk/issues/974#issuecomment-1185644923).
|
||||
|
||||
Nella versione 1.2.4, puoi provare `Input source 2` che può essere visualizzato cliccando sull'icona della tastiera nella barra degli strumenti.
|
||||
{{% /notice %}}
|
||||
|
||||
Per catturare lo schermo, devi concedere a RustDesk il permesso di **Accessibilità** e il permesso di **Registrazione schermo**. RustDesk ti guiderà alla finestra delle impostazioni.
|
||||
|
||||
| Finestra RustDesk | Finestra impostazioni |
|
||||
| --- | --- |
|
||||
|  |  |
|
||||
|
||||
Se l'hai abilitato nella finestra delle impostazioni, ma RustDesk continua ad avvisare. Rimuovi `RustDesk` dalla finestra delle impostazioni con il pulsante `-`, e clicca sul pulsante `+`, seleziona `RustDesk` in `Applicazioni`.
|
||||
|
||||
{{% notice note %}}
|
||||
[https://github.com/rustdesk/rustdesk/issues/3261](https://github.com/rustdesk/rustdesk/issues/3261) <br>
|
||||
Altri tentativi inutili: <br>
|
||||
`tccutil reset ScreenCapture com.carriez.RustDesk` <br>
|
||||
`tccutil reset Accessibility com.carriez.RustDesk` <br>
|
||||
È comunque richiesto il riavvio.
|
||||
{{% /notice %}}
|
||||
|
||||
| Pulsanti `-` e `+` | Seleziona `RustDesk` |
|
||||
| --- | --- |
|
||||
|  |  |
|
||||
|
||||
Ripeti i passaggi sopra per il permesso di **Registrazione schermo**.
|
||||
|
||||

|
||||
@@ -3,4 +3,52 @@ title: Mac
|
||||
weight: 3
|
||||
---
|
||||
|
||||
[English](/docs/en/client/mac/)
|
||||
## インストール
|
||||
|
||||
.dmgファイルを開き、以下のように`RustDesk`を`アプリケーション`にドラッグします。
|
||||
|
||||

|
||||
|
||||
実行中のすべてのRustDeskを終了したことを確認してください。また、トレイに表示されているRustDeskサービスも終了してください。
|
||||
|
||||

|
||||
|
||||
## RustDeskの実行を許可する
|
||||
|
||||
| ロックを解除して変更 | `App Storeと確認済みの開発者からのアプリケーションを許可`をクリック |
|
||||
| --- | --- |
|
||||
|  |  |
|
||||
|
||||
## 権限を有効にする
|
||||
|
||||
{{% notice note %}}
|
||||
macOSのセキュリティポリシーの変更により、ローカル側で入力をキャプチャする私たちのAPIが機能しなくなりました。ローカルMac側で「入力監視」権限を有効にする必要があります。
|
||||
こちらに従ってください
|
||||
[https://github.com/rustdesk/rustdesk/issues/974#issuecomment-1185644923](https://github.com/rustdesk/rustdesk/issues/974#issuecomment-1185644923)。
|
||||
|
||||
バージョン1.2.4では、ツールバーのキーボードアイコンをクリックすることで表示される`Input source 2`を試すことができます。
|
||||
{{% /notice %}}
|
||||
|
||||
画面をキャプチャするには、RustDeskに**アクセシビリティ**権限と**画面収録**権限を付与する必要があります。RustDeskが設定ウィンドウに案内します。
|
||||
|
||||
| RustDeskウィンドウ | 設定ウィンドウ |
|
||||
| --- | --- |
|
||||
|  |  |
|
||||
|
||||
設定ウィンドウで有効にしたにもかかわらず、RustDeskがまだ警告を表示する場合。設定ウィンドウから`-`ボタンで`RustDesk`を削除し、`+`ボタンをクリックして、`アプリケーション`から`RustDesk`を選択してください。
|
||||
|
||||
{{% notice note %}}
|
||||
[https://github.com/rustdesk/rustdesk/issues/3261](https://github.com/rustdesk/rustdesk/issues/3261) <br>
|
||||
その他の無力な試み: <br>
|
||||
`tccutil reset ScreenCapture com.carriez.RustDesk` <br>
|
||||
`tccutil reset Accessibility com.carriez.RustDesk` <br>
|
||||
それでも再起動が必要です。
|
||||
{{% /notice %}}
|
||||
|
||||
| `-`と`+`ボタン | `RustDesk`を選択 |
|
||||
| --- | --- |
|
||||
|  |  |
|
||||
|
||||
**画面収録**権限についても上記の手順を繰り返してください。
|
||||
|
||||

|
||||
@@ -4,7 +4,6 @@ weight: 3
|
||||
---
|
||||
|
||||
## 安装
|
||||
------
|
||||
|
||||
打开 .dmg 文件并将 `RustDesk` 拖到 `应用程序`,如下所示。
|
||||
|
||||
@@ -23,26 +22,33 @@ weight: 3
|
||||
## 启用权限
|
||||
|
||||
{{% notice note %}}
|
||||
Due to MacOS security policy change, our api which captures input on local side does not work any
|
||||
more. You have to enable "Input Monitoring" permission on local Mac side.
|
||||
Please follow this
|
||||
[https://github.com/rustdesk/rustdesk/issues/974#issuecomment-1185644923](https://github.com/rustdesk/rustdesk/issues/974#issuecomment-1185644923)
|
||||
由于 macOS 安全策略的更改,我们在本地端捕获输入的 API 不再工作。您必须在本地 Mac 端启用"输入监控"权限。
|
||||
请按照此说明操作:
|
||||
[https://github.com/rustdesk/rustdesk/issues/974#issuecomment-1185644923](https://github.com/rustdesk/rustdesk/issues/974#issuecomment-1185644923)。
|
||||
|
||||
It seems no quick fix, we need to fix together with our Flutter version.
|
||||
在版本 1.2.4 中,您可以尝试使用 `输入源 2`,点击工具栏上的键盘图标即可看到。
|
||||
{{% /notice %}}
|
||||
|
||||
为了获得捕获屏幕的能力,您需要授予 `RustDesk` **辅助功能** 权限和 **屏幕录制** 权限。 RustDesk 将引导您进入设置窗口。
|
||||
|
||||
| RustDesk 窗口 |设置窗口 |
|
||||
| ---- | ---- |
|
||||
|||
|
||||
|||
|
||||
|
||||
如果您在设置窗口中启用了它,但 RustDesk 仍然会发出警告。请通过 `-` 按钮从设置窗口中删除 RustDesk,然后单击 `+` 按钮,在 `/Applications` 中选择 RustDesk。
|
||||
如果您在设置窗口中启用了它,但 RustDesk 仍然会发出警告。请通过 `-` 按钮从设置窗口中删除 `RustDesk`,然后单击 `+` 按钮,在 `应用程序` 中选择 `RustDesk`。
|
||||
|
||||
{{% notice note %}}
|
||||
[https://github.com/rustdesk/rustdesk/issues/3261](https://github.com/rustdesk/rustdesk/issues/3261) <br>
|
||||
其他无奈的尝试: <br>
|
||||
`tccutil reset ScreenCapture com.carriez.RustDesk` <br>
|
||||
`tccutil reset Accessibility com.carriez.RustDesk` <br>
|
||||
仍然需要重启。
|
||||
{{% /notice %}}
|
||||
|
||||
| `-` 和 `+` 按钮 |选择 RustDesk |
|
||||
| ---- | ---- |
|
||||
|||
|
||||
|||
|
||||
|
||||
请按照上面相似步骤设置*屏幕录制**权限。
|
||||
请按照上面相似步骤设置**屏幕录制**权限。
|
||||
|
||||

|
||||

|
||||
|
||||
@@ -4,7 +4,6 @@ weight: 3
|
||||
---
|
||||
|
||||
## 安裝
|
||||
------
|
||||
|
||||
打開 .dmg 檔案並將 `RustDesk` 拖到 `應用程式`,如下所示。
|
||||
|
||||
@@ -23,26 +22,33 @@ weight: 3
|
||||
## 啟用權限
|
||||
|
||||
{{% notice note %}}
|
||||
MacOS 的安全政策更動,導致我們擷取本機端輸入的 API 失效。您必須在本機 Mac 端啟用 "輸入監測" 權限。
|
||||
由於 macOS 安全政策的更改,我們在本機端擷取輸入的 API 不再工作。您必須在本機 Mac 端啟用「輸入監控」權限。
|
||||
請按照此說明操作:
|
||||
[https://github.com/rustdesk/rustdesk/issues/974#issuecomment-1185644923](https://github.com/rustdesk/rustdesk/issues/974#issuecomment-1185644923)。
|
||||
|
||||
請遵照
|
||||
[https://github.com/rustdesk/rustdesk/issues/974#issuecomment-1185644923](https://github.com/rustdesk/rustdesk/issues/974#issuecomment-1185644923)
|
||||
|
||||
It seems no quick fix, we need to fix together with our Flutter version.
|
||||
在版本 1.2.4 中,您可以嘗試使用 `輸入源 2`,點擊工具列上的鍵盤圖示即可看到。
|
||||
{{% /notice %}}
|
||||
|
||||
若要擷取畫面,您需要授予 `RustDesk` **輔助功能**權限和**畫面錄製**權限。RustDesk 將引導您進入設定視窗。
|
||||
|
||||
| RustDesk 視窗 | 設定視窗 |
|
||||
| ---- | ---- |
|
||||
|||
|
||||
|||
|
||||
|
||||
如果您在設置視窗中啟用了它,但 RustDesk 仍然發出警告。請通過 `-` 按鈕從設置視窗中刪除 RustDesk,然後單擊 `+` 按鈕,在 `/Applications` 中選擇 RustDesk。
|
||||
如果您在設定視窗中啟用了它,但 RustDesk 仍然發出警告。請通過 `-` 按鈕從設定視窗中刪除 `RustDesk`,然後單擊 `+` 按鈕,在 `應用程式` 中選擇 `RustDesk`。
|
||||
|
||||
{{% notice note %}}
|
||||
[https://github.com/rustdesk/rustdesk/issues/3261](https://github.com/rustdesk/rustdesk/issues/3261) <br>
|
||||
其他無奈的嘗試: <br>
|
||||
`tccutil reset ScreenCapture com.carriez.RustDesk` <br>
|
||||
`tccutil reset Accessibility com.carriez.RustDesk` <br>
|
||||
仍然需要重啟。
|
||||
{{% /notice %}}
|
||||
|
||||
| `-` 和 `+` 按鈕 | 選擇 RustDesk |
|
||||
| ---- | ---- |
|
||||
|||
|
||||
|||
|
||||
|
||||
請按照上面相似步驟設置**畫面錄製**權限。
|
||||
請按照上面相似步驟設定**畫面錄製**權限。
|
||||
|
||||

|
||||

|
||||
|
||||
@@ -24,7 +24,7 @@ Die kontrollierte Seite kann direkt auf `Akzeptieren und Erhöhen` klicken, wenn
|
||||
|
||||
| Verbinden | Verbunden |
|
||||
| :---: | :---: |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
## Anfrage der Erhöhung auf der Steuerungsseite
|
||||
|
||||
@@ -32,9 +32,9 @@ Nach der Auswahl von `Erhöhte Rechte anfordern` aus dem Aktionsmenü wird das f
|
||||
|
||||
| Menü | Dialog |
|
||||
| :---: | :---: |
|
||||
|  |  |
|
||||
|  |  |
|
||||
| **Warten** | **Erfolg** |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
## Wie Sie wählen
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ The controlled end can directly click `Accept and Elevate` when connecting, or c
|
||||
|
||||
| Connecting | Connected |
|
||||
| :---: | :---: |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
## Request elevation at the control end
|
||||
|
||||
@@ -32,9 +32,9 @@ After selecting `Request Elevation` from the action menu, the following dialog b
|
||||
|
||||
| Menu | Dialog |
|
||||
| :---: | :---: |
|
||||
|  |  |
|
||||
|  |  |
|
||||
| **Wait** | **Success** |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
## How to Choose
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ El lado controlado puede hacer click en `Aceptar y Elevar` cuando se este conect
|
||||
|
||||
| Conectando | Conectado |
|
||||
| :---: | :---: |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
## Pide la elevación de permisos del lado controlador
|
||||
|
||||
@@ -33,9 +33,9 @@ Después de seleccionar en el menu de acción `Solicitar Elevación`, la siguien
|
||||
|
||||
| Menu | Dialogo |
|
||||
| :---: | :---: |
|
||||
|  |  |
|
||||
|  |  |
|
||||
| **Wait** | **Success** |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
## How to Choose
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ Le côté contrôlé peut directement cliquer sur `Accepter et Élever` lors de
|
||||
|
||||
| Connexion | Connecté |
|
||||
| :---: | :---: |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
## Demander l'élévation au niveau du côté contrôleur
|
||||
|
||||
@@ -32,9 +32,9 @@ Après avoir sélectionné `Demander l'élévation` dans le menu d'action, la bo
|
||||
|
||||
| Menu | Dialogue |
|
||||
| :---: | :---: |
|
||||
|  |  |
|
||||
|  |  |
|
||||
| **Attendre** | **Succès** |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
## Comment choisir
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ Il lato controllato può fare clic direttamente su `Accetta ed Eleva` durante la
|
||||
|
||||
| Connessione | Connesso |
|
||||
| :---: | :---: |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
## Richiedere elevazione dal lato controllore
|
||||
|
||||
@@ -32,9 +32,9 @@ Dopo aver selezionato `Richiedi Elevazione` dal menu azioni, apparirà la seguen
|
||||
|
||||
| Menu | Dialogo |
|
||||
| :---: | :---: |
|
||||
|  |  |
|
||||
|  |  |
|
||||
| **Attesa** | **Successo** |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
## Come Scegliere
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ Windowsポータブルプログラムには管理者権限がないため、以
|
||||
|
||||
| 接続中 | 接続済み |
|
||||
| :---: | :---: |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
## 制御側で昇格を要求
|
||||
|
||||
@@ -32,9 +32,9 @@ Windowsポータブルプログラムには管理者権限がないため、以
|
||||
|
||||
| メニュー | ダイアログ |
|
||||
| :---: | :---: |
|
||||
|  |  |
|
||||
|  |  |
|
||||
| **待機** | **成功** |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
## 選択方法
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ O lado controlado pode clicar diretamente em `Aceitar e Elevar` ao conectar, ou
|
||||
|
||||
| Conectando | Conectado |
|
||||
| :---: | :---: |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
## Solicitar elevação no lado de controle
|
||||
|
||||
@@ -32,9 +32,9 @@ Após selecionar `Solicitar Elevação` no menu de ação, a seguinte caixa de d
|
||||
|
||||
| Menu | Diálogo |
|
||||
| :---: | :---: |
|
||||
|  |  |
|
||||
|  |  |
|
||||
| **Aguardar** | **Sucesso** |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
## Como Escolher
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ weight: 49
|
||||
|
||||
| 正在连接 | 已连接 |
|
||||
| :--------------------------------------: | :--------------------------------------: |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
## 控制端主动提权
|
||||
|
||||
@@ -32,9 +32,9 @@ weight: 49
|
||||
|
||||
| 菜单 | 对话框 |
|
||||
| :--------------------------------------: | :--------------------------------------: |
|
||||
|  |  |
|
||||
|  |  |
|
||||
| **等待** | **成功** |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
## 如何选择
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ Windows 便攜式程式沒有管理員權限,這可能導致以下問題:
|
||||
|
||||
| 連線中 | 已連線 |
|
||||
| :---: | :---: |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
## 在控制端請求提權
|
||||
|
||||
@@ -32,9 +32,9 @@ Windows 便攜式程式沒有管理員權限,這可能導致以下問題:
|
||||
|
||||
| 選單 | 對話方塊 |
|
||||
| :---: | :---: |
|
||||
|  |  |
|
||||
|  |  |
|
||||
| **等待** | **成功** |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
## 如何選擇
|
||||
|
||||
|
||||
Reference in New Issue
Block a user