> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/cli/es/guias/understand/platforms.md).

# Devolutions CLI en Windows, macOS y Linux

Qué cambia en Devolutions CLI entre Windows, macOS y Linux, es decir el inicio de sesión, la protección de archivos, las carpetas y el proceso en segundo plano.

Devolutions CLI tiene los **mismos comandos, opciones y referencias en cada plataforma**. Un script que ejecuta `devo secret run` en un portátil Windows se ejecuta igual en un agente de compilación Linux. Lo que cambia es cómo Devolutions CLI usa cada sistema operativo: cómo protege los archivos que escribe, dónde guarda las sesiones de inicio de sesión y cómo su proceso en segundo plano habla con `devo`.

## Qué es diferente en cada plataforma

<table><thead><tr><th width="190">TEMA</th><th>WINDOWS</th><th>MACOS</th><th>LINUX</th></tr></thead><tbody><tr><td><strong>Archivo de comando</strong></td><td><code>devo.exe</code></td><td><code>devo</code></td><td><code>devo</code></td></tr><tr><td><strong>Arquitecturas</strong></td><td>x64, Arm64</td><td>x64, Arm64</td><td>x64, Arm64</td></tr><tr><td><strong>Autenticación de Windows</strong> (<code>devo login --windows-auth</code>)</td><td>Disponible, con Devolutions Server.</td><td>No disponible: <code>devo login</code> se detiene con <code>invalidParameterValue</code>.</td><td>No disponible: <code>devo login</code> se detiene con <code>invalidParameterValue</code>.</td></tr><tr><td><strong>Sesiones de inicio de sesión en el navegador</strong> (<code>--oauth</code>)</td><td>Cifrado con su cuenta de usuario de Windows, en archivos de la carpeta de configuración de Devolutions CLI.</td><td>En el Llavero.</td><td>En el Secret Service, a través de la biblioteca <code>libsecret</code>. Sin esa biblioteca, el inicio de sesión en el navegador se detiene con <code>cloudOAuthSecureStoreRequired</code> o <code>serverOAuthSecureStoreRequired</code>. Si la biblioteca no puede almacenar la sesión, se detiene con <code>cloudOAuthStorageFailed</code> o <code>serverOAuthStorageFailed</code>.</td></tr><tr><td><strong>Archivos que contienen un secreto</strong> (<code>--out-file</code> de <code>devo secret read</code>, <code>get</code> y <code>inject</code>)</td><td>Reglas de acceso que solo permiten su cuenta, el grupo Administrators y la cuenta del sistema.</td><td>Legible y modificable solo por su cuenta.</td><td>Legible y modificable solo por su cuenta.</td></tr><tr><td><strong>Clave privada desde <code>devo generate ssh-key</code></strong></td><td>Devolutions CLI no cambia los permisos del archivo.</td><td>Legible y modificable solo por su cuenta.</td><td>Legible y modificable solo por su cuenta.</td></tr><tr><td><strong>Protección de la carpeta de configuración</strong> (contextos, archivos de sesión de inicio de sesión, preferencia de telemetría)</td><td>Cuando Devolutions CLI registra su proceso en segundo plano, da a la carpeta reglas de acceso que solo permiten su cuenta y la cuenta del sistema. Los archivos creados en la carpeta las heredan.</td><td>Cuando Devolutions CLI registra su proceso en segundo plano, la carpeta pasa a ser accesible solo para su cuenta. Los archivos de contexto y la preferencia de telemetría también son legibles y modificables solo por su cuenta.</td><td>Cuando Devolutions CLI registra su proceso en segundo plano, la carpeta pasa a ser accesible solo para su cuenta. Los archivos de contexto y la preferencia de telemetría también son legibles y modificables solo por su cuenta.</td></tr><tr><td><strong>Archivo <code>devo config export</code></strong></td><td>Devolutions CLI no cambia los permisos del archivo.</td><td>Legible y modificable solo por su cuenta.</td><td>Legible y modificable solo por su cuenta.</td></tr><tr><td><strong>Proceso en segundo plano: canal local</strong></td><td>Una canalización con nombre, con reglas de acceso para su cuenta y la cuenta del sistema. Si Windows rechaza esas reglas, la canalización usa la seguridad predeterminada.</td><td>Un archivo de socket en la carpeta temporal, legible y modificable solo por su cuenta.</td><td>Un archivo de socket en la carpeta temporal, legible y modificable solo por su cuenta.</td></tr><tr><td><strong>Proceso en segundo plano: sus propios archivos</strong> (registro y bloqueos)</td><td>Reglas de acceso que solo permiten su cuenta y la cuenta del sistema.</td><td>Solo su cuenta.</td><td>Solo su cuenta.</td></tr><tr><td><strong>Proceso en segundo plano: cómo se inicia</strong></td><td>Como un proceso oculto, sin ventana.</td><td>A través de <code>/bin/sh</code>, con su entrada y su salida desconectadas de su terminal.</td><td>A través de <code>/bin/sh</code>, con su entrada y su salida desconectadas de su terminal.</td></tr><tr><td><strong>Ubicación de la carpeta de configuración</strong></td><td colspan="3"><code>Devolutions/CLI</code> en la carpeta de datos de aplicación locales de su usuario, o <code>.devolutions/cli</code> en su carpeta de inicio si no hay carpeta de datos de aplicación locales. <code>DEVO_CLI_CONFIG_HOME</code> la sustituye en cada plataforma.</td></tr><tr><td><strong>Rutas de carpeta</strong> (carpetas de configuración y de perfil)</td><td>Devolutions CLI los compara sin distinguir mayúsculas.</td><td>Devolutions CLI los compara distinguiendo mayúsculas.</td><td>Devolutions CLI los compara distinguiendo mayúsculas.</td></tr><tr><td><strong>Reivindicación SecretSpec, para su usuario</strong></td><td><code>SecretSpec\providers.d</code> en su carpeta de datos de aplicación móviles</td><td><code>~/Library/Application Support/SecretSpec/providers.d</code></td><td><code>$XDG_CONFIG_HOME/secretspec/providers.d</code>, o <code>~/.config/secretspec/providers.d</code> cuando <code>XDG_CONFIG_HOME</code> no está definida o no es una ruta absoluta</td></tr><tr><td><strong>Reivindicación SecretSpec, con <code>--system</code></strong></td><td><code>SecretSpec\providers.d</code> en la carpeta de datos de aplicación de todo el equipo</td><td><code>/Library/Application Support/SecretSpec/providers.d</code></td><td><code>/etc/secretspec/providers.d</code></td></tr></tbody></table>

## Lo mismo en cada plataforma

* **Shells para `devo secret shell`.** `--shell bash` y `--shell pwsh` (o `powershell`) funcionan en Windows, macOS y Linux. Elija el shell en el que ejecuta el script, no el sistema operativo. Consulte [Usar secretos en el shell actual](/cli/es/guias/secrets/current-shell.md).
* **Inicio de sesión en el navegador.** `devo login --oauth` pide al sistema operativo que abra la dirección en un navegador, y siempre imprime también la dirección. Si no se abre ningún navegador, copie la dirección. En un ordenador sin navegador, añada `--use-device-code` con Devolutions Server, o inicie sesión en Devolutions Cloud con una clave de aplicación. Consulte [Iniciar sesión en Devolutions Cloud](/cli/es/guias/connect/devolutions-cloud.md).
* **Variables de entorno.** Cada variable funciona del mismo modo en cada plataforma. Consulte [Variables de entorno](/cli/es/referencia/environment-variables.md).

## Qué significa esto para usted

**La autenticación de Windows necesita Windows.** En macOS y Linux, inicie sesión en Devolutions Server con un navegador, una clave de API o un nombre de usuario y una contraseña. Un contexto creado con `--windows-auth` no funciona en otra plataforma, aunque comparta la carpeta de configuración: los comandos se detienen con `windowsAuthenticationUnsupported`. Consulte [Iniciar sesión en Devolutions Server](/cli/es/guias/connect/devolutions-server.md).

**En Linux, el inicio de sesión en el navegador necesita el Secret Service.** Devolutions CLI nunca escribe una sesión de inicio de sesión en el navegador en un archivo de texto sin formato. Cuando el Secret Service no está disponible, por ejemplo en algunos agentes de compilación, inicie sesión con un secreto de aplicación o una clave de API. Consulte [Iniciar sesión desde una canalización de CI](/cli/es/para-devops-y-administradores/automate/ci-sign-in.md).

**Los archivos con un secreto son privados, pero siguen en texto sin formato.** Devolutions CLI restringe quién puede abrir lo que escribe con `--out-file`, en cada plataforma. En Windows, los miembros del grupo Administrators pueden abrirlo de todos modos. El valor de dentro está en texto sin formato: elimine el archivo cuando haya terminado. Consulte [Qué permanece oculto y qué no](/cli/es/guias/understand/security-model.md).

**En Windows, proteja usted mismo sus claves privadas SSH.** `devo generate ssh-key` no restringe el archivo de la clave privada en Windows. Escríbalo en una carpeta que solo usted pueda abrir, no en una carpeta compartida. Consulte [Generar contraseñas y claves SSH](/cli/es/guias/generate.md).

**En macOS y Linux, los nombres de carpeta deben coincidir exactamente.** Devolutions CLI trata dos grafías como `Profiles` y `profiles` como dos carpetas distintas, cada una con su propio proceso en segundo plano. Use la misma grafía en `RDM_CONFIG_PATH`, `DEVO_CLI_CONFIG_HOME` y `--sqlite` en todas partes.

**En macOS y Linux, el proceso en segundo plano necesita una ruta corta de carpeta temporal.** Su archivo de socket está en la carpeta temporal. Si esa ruta es muy larga, Devolutions CLI no puede crear el socket y el proceso en segundo plano no se inicia. Consulte [El proceso en segundo plano no se inicia](/cli/es/ayuda/troubleshooting/daemon-wont-start.md).

## Siguiente

* [Install Devolutions CLI](/cli/es/referencia/installation.md)
* [What data Devolutions CLI sends](/cli/es/guias/understand/privacy.md)
* [Use Devolutions CLI with SecretSpec](/cli/es/guias/secrets/secretspec.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/cli/es/guias/understand/platforms.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
