Rodando Wine em uma conta de usuário separada
Configuração
Criar uma conta de usuário específica para o Wine
O primeiro passo é criar um novo usuário no sistema, que será usado exclusivamente para executar aplicativos no Wine:
sudo useradd -m -s /bin/bash wineuser
-m
: Cria um diretório home para o usuário.-s /bin/bash
: Define o interpretador de comandos como Bash.
Permitir que o novo usuário acesse o Servidor X (Xorg)
Aplicativos gráficos precisam do servidor X para exibir janelas. Para que o novo usuário (wineuser
) possa usar o X, é necessário adicioná-lo à lista de permissões:
xhost +SI:localuser:wineuser
Esse comando habilita o acesso ao servidor X apenas para o usuário local wineuser
.
Executar aplicativos Wine sob o novo usuário
Agora, você pode executar um programa do Windows no Wine usando o comando:
sudo -u wineuser env HOME=/home/wineuser USER=wineuser USERNAME=wineuser LOGNAME=wineuser wine argumentos
Automatizando com um Script
Para evitar a repetição desses comandos manualmente, você pode criar um script:
#!/bin/sh
xhost +SI:localuser:wineuser
sudo -u wineuser env HOME=/home/wineuser USER=wineuser USERNAME=wineuser LOGNAME=wineuser wine "$@"
Salve esse script como /usr/local/bin/runaswine
.
Torne-o executável:
sudo chmod +x /usr/local/bin/runaswine
Agora, você pode executar aplicativos diretamente:
runaswine "C:\path\to\application.exe"
Configurando o Sudo para Não Pedir Senha
Para evitar ser solicitado uma senha toda vez que usar sudo
, configure o arquivo sudoers:
Abra o editor com o comando:
sudo nano /etc/sudoers
Adicione a linha:
mainuser ALL=(wineuser) NOPASSWD: ALL
Isso permitirá que o usuário principal execute comandos como wineuser
sem fornecer senha.
Recomendações de Segurança Adicionais
-
Configurar o winecfg
- Execute o
winecfg
sob o usuáriowineuser
:sudo -u wineuser winecfg
- Na seção Desktop Integration, remova os mapeamentos de diretórios externos ao diretório
/home/wineuser
.
- Execute o
-
Áudio no Wine com PulseAudio Por padrão, o áudio pode não funcionar. Para resolver isso:
- Configure o PulseAudio para permitir múltiplos usuários compartilharem o mesmo daemon:
- Edite o arquivo de configuração do PulseAudio:
sudo nano /etc/pulse/default.pa
- Adicione a linha:
load-module module-native-protocol-unix auth-anonymous=1
- Edite o arquivo de configuração do PulseAudio:
- Reinicie o PulseAudio:
pulseaudio -k && pulseaudio --start
- Configure o PulseAudio para permitir múltiplos usuários compartilharem o mesmo daemon:
Limitações
- Falta de sandboxing real: Essa abordagem usa permissões do sistema de arquivos para proteger o diretório pessoal. Ferramentas como firejail ou bubblewrap oferecem isolamento mais robusto.
- Necessidade de Xorg com root: Algumas configurações podem requerer permissões especiais, como o uso do Xorg com acesso root, o que pode não ser ideal para todas as distribuições.
- Compatibilidade de áudio limitada: A integração com PulseAudio exige configuração extra, e nem sempre funciona de forma estável.
Referências
https://wiki.archlinux.org/title/Wine#Running_Wine_under_a_separate_user_account