# Agente CtrlStation - Linux

## Agente CtrlStation - Linux

O Agente CtrlStation é um daemon de sistema projetado para ambientes que necessitam de monitoramento e gerenciamento remoto de estações de trabalho Linux.

### O que é o Agente CtrlStation?

O Agente é um serviço que roda em segundo plano no computador do usuário e executa as seguintes funções:

- **Monitoramento de Sessão**: Envia notificações para um servidor central quando eventos de sessão ocorrem (Logon, Logout, Bloqueio e Desbloqueio de tela).
- **Comunicação Periódica**: Efetua uma chamada de "heartbeat" a cada 30 segundos para o servidor, informando que a estação está ativa.
- **Execução de Ações Remotas**: Recebe comandos do servidor para executar ações na máquina local, como:
    
    
    - Bloquear a sessão do usuário.
    - Encerrar a sessão do usuário (logoff).
    - Exibir notificações e avisos em formato de popup.

### Como Baixar

A versão mais recente do pacote de instalação (`.deb`) pode ser baixada do link a seguir:

- [https://download.ctrlstation.com/ctrl-station-agent\_1.2.0-1\_amd64.deb](https://download.ctrlstation.com/ctrl-station-agent_1.2.0-1_amd64.deb)

Será solicitado usuário e senha que são fornecidos pela LAB3 ou seu parceiro de revenda.

### Requisitos de Sistema

- **Sistema Operacional**: Ubuntu 20.04 LTS (ou superior) ou Debian 11 (ou superior).
- **Arquitetura**: amd64 (x86\_64).
- **Ambiente Gráfico**: Necessário para a exibição de notificações (ex: GNOME, KDE, XFCE).
- **Conexão de Rede**: Conectividade via porta 443 (HTTPS) com o servidor do CtrlStation

### Instalação via Pacote (`.deb`)

A instalação é simples e deve ser feita através do terminal. O uso do comando `apt` é recomendado pois ele instala automaticamente todas as dependências necessárias.

1. Abra um terminal.
2. Navegue até o diretório onde você baixou o arquivo `.deb`.
3. Execute o comando a seguir, substituindo o nome do arquivo pelo que você baixou:

```bash
sudo apt install ./ctrl-station-agent_1.2.0-1_amd64.deb
```

O terminal solicitará sua senha de administrador. Após a confirmação, o `apt` instalará o agente, suas dependências (como Python e Zenity) e configurará o serviço para iniciar automaticamente.

### Desinstalação

Para remover completamente o Agente CtrlStation do sistema, utilize o seguinte comando no terminal:

```bash
sudo apt remove ctrl-station-agent
```

Isso removerá a aplicação. Se você também desejar remover os arquivos de configuração, utilize o comando `purge`:

```bash
sudo apt purge agente-ctrlstation
```

### Funcionamento e Logs

#### Como Funciona

- O Agente é instalado como um serviço de usuário **global** do `systemd`.
- Isso significa que **uma instância do serviço será iniciada automaticamente para cada usuário que fizer login** no sistema.
- O processo roda com as permissões do próprio usuário, garantindo a segurança e a integração com o ambiente gráfico.
- O arquivo de configuração principal, que contém a URL do servidor e o token de acesso, está localizado em:
    
    <div _ngcontent-ng-c1794923285="" class="code-block ng-tns-c1794923285-925 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwig3ovDoqyPAxUAAAAAHQAAAAAQsgg" decode-data-ved="1" jslog="223238;track:impression,attention;BardVeMetadataKey:[["r_ba5900323b5e9a17","c_73bed1a327371c30",null,"rc_f7481599917205fe",null,null,"pt",null,1,null,null,1,0]]" style="display: block;"><div _ngcontent-ng-c1794923285="" class="formatted-code-block-internal-container ng-tns-c1794923285-925"><div _ngcontent-ng-c1794923285="" class="animated-opacity ng-tns-c1794923285-925"></div></div></div>```bash
    /etc/ctrl-station/config.ini
    ```
    
    <div _ngcontent-ng-c1794923285="" class="code-block ng-tns-c1794923285-925 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwig3ovDoqyPAxUAAAAAHQAAAAAQsgg" decode-data-ved="1" jslog="223238;track:impression,attention;BardVeMetadataKey:[["r_ba5900323b5e9a17","c_73bed1a327371c30",null,"rc_f7481599917205fe",null,null,"pt",null,1,null,null,1,0]]" style="display: block;"><div _ngcontent-ng-c1794923285="" class="formatted-code-block-internal-container ng-tns-c1794923285-925"><div _ngcontent-ng-c1794923285="" class="animated-opacity ng-tns-c1794923285-925"></div></div></div>> **Nota para Administradores:** Após a instalação, este arquivo deve ser editado para inserir as informações corretas do seu ambiente.

#### Verificando a Atividade (Logs)

Para monitorar a atividade do agente ou diagnosticar problemas, você pode visualizar seus logs em tempo real. Como o serviço roda no contexto do usuário, utilize o seguinte comando no terminal do usuário logado:

```bash
journalctl --user -u monitor-daemon.service -f
```