Sistema Contábil: Como rodar o Domínio Web (Thomson Reuters) em qualquer Linux moderno em 2026

480x376

Olá pessoal!

Recentemente passei por uma dor de cabeça que muitos que dependem de sistemas contábeis no Linux já devem ter enfrentado: fazer o plugin do Domínio Web (Thomson Reuters) funcionar. A página de suporte oficial aponta compatibilidade apenas com o finado Ubuntu 20.04, e tentar forçar a instalação do cliente deles (que exige bibliotecas de 32 bits muito antigas) em distros modernas geralmente resulta em quebra de pacotes, erros silenciosos de interface ou falha de renderização.

Depois de muita pesquisa, não encontrei uma solução moderna que fosse realmente plausível e limpa. A resposta mais próxima de algo funcional (mas que não era muito prática para o fluxo de trabalho do dia a dia) foi a que encontrei neste tópico aqui do fórum.

Foi a partir dessa discussão que me veio a ideia definitiva: usar o Distrobox.

A solução consiste em criar um container com o Ubuntu 20.04 especificamente para satisfazer todas as dependências legadas que o sistema pede. Nós configuramos o plugin lá dentro e exportamos o gatilho para o sistema host. Assim, você continua usando o seu navegador nativo e atualizado da sua distro principal, mantendo o seu sistema host totalmente limpo!

Bora lá!


1. Preparando o seu Sistema (Host)

O primeiro passo é instalar o Distrobox e o Podman/Docker no seu sistema principal. Abra o seu terminal e rode o comando correspondente à sua distribuição:

Arch Linux e derivados (CachyOS, Manjaro, EndeavourOS):

sudo pacman -S distrobox podman

Sistemas baseados em Debian/Ubuntu (Mint, Pop!_OS, Zorin):

sudo apt update
sudo apt install distrobox podman

Sistemas baseados em Fedora (Silverblue, Nobara, Bazzite):

sudo dnf install distrobox podman

2. Criando o container com o Ubuntu 20.04

Ainda no terminal do seu sistema principal (host), crie o container:

distrobox create --image ubuntu:20.04 --name dominio-ubuntu

Se você possui uma GPU NVIDIA, utilize o comando abaixo e não deixe de instalar os drivers de video do Passo A, a fim de garantir que a ponte entre os drivers de video do host e os drivers de video do container seja estabelecida.

distrobox create --image ubuntu:20.04 --name dominio-ubuntu --nvidia

A primeira execução vai demorar um pouco pois ele fará o download da imagem e a configuração básica.

Ao final do processo, acesse o container:

distrobox enter dominio-ubuntu

Quando o prompt do terminal mudar, você já estará dentro do Ubuntu. O container terá acesso aos diretórios do seu sistema principal (host). Logo, você terá acesso automaticamente à sua pasta de usuário.


3. Instalando as dependências e o Plugin

Atenção: Todos os passos a partir daqui devem ser executados dentro do terminal do container (dominio-ubuntu).

Passo A: Arquitetura e pacotes base
Ative a arquitetura 32 bits e instale utilitários essenciais (incluindo o unzip para extrair os scripts depois):

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install software-properties-common desktop-file-utils unzip p7zip-full

É recomendável, também, instalar os drivers de video para melhor performance:

sudo apt install libgl1-mesa-dri:i386 libgl1-mesa-glx:i386 libegl1-mesa:i386

E as fontes do Windows:

sudo apt install ttf-mscorefonts-installer

Passo B: Download e extração dos arquivos oficiais
Acesse a página de suporte oficial e baixe estes dois arquivos para a sua pasta Downloads:

  1. O cliente GO-Global: gg-client-linux.deb
  2. O pacote de integração: DominioWebPluginLinux.7z

Nota importante: A página da Thomson Reuters pede para baixar um terceiro arquivo chamado libpng12-linux.zip, mas o link deles está morto. Ignore essa instrução do suporte oficial. Você resolverá a ausência dessa biblioteca de forma nativa e atualizada no Passo C.

Com os arquivos baixados, navegue até a pasta pelo terminal e extraia o pacote 7z:

cd ~/Downloads
7z x DominioWebPluginLinux.7z

Passo C: Adicionar o repositório da libpng12
Essa biblioteca é velha, mas o Domínio exige. Adicione o PPA da comunidade para instalá-la:

sudo add-apt-repository ppa:linuxuprising/libpng12
sudo apt update

Passo D: Instalar o “Kit Visual” de 32 bits
Instale a biblioteca do passo anterior e os pacotes gráficos para evitar que o aplicativo feche sozinho (falha silenciosa):

sudo apt install libpng12-0 libc6:i386 libstdc++6:i386 libice6:i386 libsm6:i386 libxmu6:i386 libxt6:i386

Passo E: Instalar o pacote do Domínio Web
Force a instalação do cliente com o apt passando o caminho do arquivo para garantir que ele resolva qualquer dependência pendente:

sudo apt install ./gg-client-linux.deb

(Se aparecer um aviso sobre Repository is broken / no Size information, ignore e confirme a instalação).

Passo F: Dar permissão e rodar o script oficial
Dê permissão de execução ao script que está dentro da pasta extraída (DominioWebPlugin) no Passo B e rode-o para finalizar os registros do sistema:

cd DominioWebPlugin/
chmod +x InstallDominioWeb.sh
sudo ./InstallDominioWeb.sh

Passo G: Exportar o plugin para o Host
Diga para o seu sistema principal que ele deve usar o plugin instalado dentro do container:

distrobox-export --app dominio-web-plugin-handler

4. Como Usar

Você já pode fechar o terminal e esquecer que esse container existe.

  1. Abra o seu navegador nativo preferido (Chrome, Firefox, Brave, etc.) no seu sistema principal.
  2. Acesse o site do Domínio Web e faça o login normalmente.
  3. Clique no módulo que deseja acessar.
  4. O navegador vai exibir um pop-up ou, dependendo do seu WM ou DE, você verá uma janela de diálogo perguntando algo como: "Escolha um aplicativo para abrir ‘trplugin’ " ou “Abrir xdg-open?”.

  1. Marque a caixinha Definir como aplicativo padrão para abrir arquivos e clique em OK.

O seu sistema host vai se comunicar com o Distrobox silenciosamente e a janela do sistema contábil vai abrir direto na sua área de trabalho, com performance nativa e sem gambiarras no seu sistema principal.

Espero que esse guia poupe algumas horas de dor de cabeça de vocês.

Solução paliativa para usuários do Hyprland (configurações em Lua)

Se você utiliza o Hyprland (especialmente em distribuições como o CachyOS com o Noctalia Shell ou similares), deve notar dois problemas logo de cara:

  1. O navegador não consegue disparar o plugin nativamente e o sistema tenta abrir a loja de aplicativos do GNOME.

  2. Quando a janela finalmente abre, o mouse não clica no lugar certo porque o sistema tenta “ladrilhar” (tilar/tile) uma aplicação XWayland legada que tem classes em branco.

Como solução paliativa para esses problemas, siga estes dois passos rápidos:

Passo A: Ensinando o Hyprland a ler o protocolo trplugin://

Como esses ambientes não usam os mecanismos tradicionais de desktop (como KDE ou GNOME) para associar links magnéticos, precisamos criar essa regra na mão.

  1. Abra o terminal do seu sistema principal (host) e verifique o nome do arquivo .desktop exportado pelo Distrobox:
ls ~/.local/share/applications/ | grep -i dominio

Geralmente o nome será dominio-ubuntu-dominio-web-plugin-handler.desktop.

  1. Crie ou edite o arquivo de associações de arquivos do seu usuário utilizando o seu editor de texto ou código de preferência (vim, nvim, nano, micro, etc.):
nvim ~/.config/mimeapps.list
  1. Adicione o seguinte bloco lá dentro (se a seção [Default Applications] já existir, apenas cole a linha abaixo dela):
[Default Applications]
x-scheme-handler/trplugin=dominio-ubuntu-dominio-web-plugin-handler.desktop

(Salve o arquivo e saia do editor).

  1. Force o sistema a ler a nova configuração rodando o comando:
xdg-mime default dominio-ubuntu-dominio-web-plugin-handler.desktop x-scheme-handler/trplugin
update-desktop-database ~/.local/share/applications/

Passo B: Forçando as janelas a flutuarem

O cliente do Domínio Web (GO-Global/appcontroller) abre suas janelas sem identificação de classe (class), o que deixa o gerenciador de janelas do Hyprland completamente perdido. Para resolver o problema do mouse desalinhado, precisamos forçar todas as janelas desse processo a nascerem em modo flutuante.

Se a sua versão do Hyprland for mais recente, ela já utiliza a sintaxe em Lua para as configurações. Abra o seu arquivo de regras de janela (geralmente em ~/.config/hypr/config/windowrules.lua) e cole o código abaixo bem no topo do arquivo (para garantir prioridade máxima sobre as demais regras):

-- Configurações específicas para o Domínio Web
hl.window_rule({
    match = { title = "Lista de Programas", xwayland = true },
    float = true,
    center = true,
})

hl.window_rule({
    match = { title = "Conectando ...", xwayland = true },
    float = true,
    center = true,
})

-- Regra de segurança para a janela sem título (janela cinza de carregamento)
hl.window_rule({
    match = { title = "negative:^(..+)$", xwayland = true },
    float = true,
    center = true,
})

Se o seu Hyprland ainda usa o formato clássico em .conf, adicione as seguintes linhas no final do seu hyprland.conf:

windowrulev2 = float, xwayland:1, title:^(Lista de Programas)$
windowrulev2 = center, xwayland:1, title:^(Lista de Programas)$
windowrulev2 = float, xwayland:1, title:^(Conectando ...)$
windowrulev2 = center, xwayland:1, title:^(Conectando ...)$
windowrulev2 = float, xwayland:1, title:^$
windowrulev2 = center, xwayland:1, title:^$

Salve o arquivo, recarregue a interface e pronto! O Domínio Web vai abrir centralizado, flutuante e com o mouse respondendo aos cliques em qualquer janela que você abrir.

E por que é uma solução paliativa?

Qualquer tentativa de redimensionar manualmente o tamanho dessas janelas vai gerar dor de cabeça, pois as coordenadas do mouse e da interface vão se perder completamente, obrigando você a forçar o fechamento do appcontroller e abrir tudo novamente.

Se você precisar utilizar alguma janela maximizada das aplicações do Domínio, utilize sempre os controles nativos da própria janela (clicando no botão quadrado de maximizar dela) e evite forçar o redimensionamento ou tentar “tilar” as janelas usando atalhos do Hyprland. Você conseguirá maximizar e desmaximizar (restaurar) a janela normalmente através dos botões nativos, mas alterar o formato arrastando as bordas quebrará a usabilidade.

Caso eu encontre uma solução definitiva ou mais adequada para contornar essa limitação do XWayland legado, atualizo o post por aqui!