Aplicativos travam ao tentar abrir tela pelo gerenciador de arquivos Nemo

Fala pessoal, blz?

Utilizo o Ubuntu Budgie 22.04 no meu pc hà 2 anos e recentemente comecei a ter problemas com o nemo ao rodar alguns aplicativos, como por exemplo o Mega e o emulador PCSX2. Os aplicativos estão funcionando normalmente, porém ao clicar nas opções de seleção de diretórios para fazer upload de arquivos ou abrir jogos no emulador (é aberta uma janela de seleção no nemo) acaba ocorrendo o travamento dos mesmos.

Pesquisando na internet encontrei estas opções de ajustes para tentar resolver este problema do nemo:

  1. Abrir o arquivo de configuração:
    nano ~/.profile
  2. Adicionei a linha ao final do arquivo para unificar as telas de diálogo:
    export GTK_USE_PORTAL=1
  3. Verificar se as associações MIME estão corretas rodando:
    xdg-mime default nemo.desktop inode/directory application/x-gnome-saved-search

Fiz estas alterações e ainda continuo com o problema de travamento dos aplicativos.

Uma coisa que percebi é que estes aplicativos que acabam travando foram feitos em QT. Será que pode ser algum problema de compatibilidade com GTK?

Pelo que você descreveu, eu não acho que o problema seja exatamente o Nemo, mas sim a janela de seleção de arquivos (File Chooser) utilizada pelas aplicações Qt.

O Mega e o PCSX2 são aplicações Qt, enquanto o Ubuntu Budgie utiliza GTK. Dependendo da versão do Qt, do tema e da configuração do xdg-desktop-portal, podem ocorrer travamentos justamente quando a aplicação tenta abrir o diálogo de seleção de arquivos.

Eu faria alguns testes para isolar a causa.

Primeiro, verifique qual backend do portal está em execução:

systemctl --user status xdg-desktop-portal
systemctl --user status xdg-desktop-portal-gtk
systemctl --user status xdg-desktop-portal-gnome

Depois veja se existe alguma mensagem de erro quando o aplicativo trava:

journalctl --user -f

ou execute o aplicativo pelo terminal e observe a saída:

mega-sync

ou

pcsx2

Outra coisa que vale conferir é se o problema acontece apenas com o Nemo ou com qualquer diálogo de seleção de arquivos. Um teste simples é trocar temporariamente o gerenciador padrão:

xdg-mime default org.gnome.Nautilus.desktop inode/directory

Se o travamento desaparecer, o problema pode estar na integração entre o Nemo e o FileChooser utilizado pelo Qt.

Também confira qual versão do Qt está sendo utilizada:

qmake --version

ou

qtpaths --version

Dependendo do caso, também vale testar desabilitando o portal apenas para verificar se ele está envolvido:

unset GTK_USE_PORTAL

ou iniciar a aplicação com:

GTK_USE_PORTAL=0 pcsx2

Se funcionar normalmente, provavelmente o problema está na integração entre Qt, GTK e o xdg-desktop-portal, e não no Nemo em si.

Uma última pergunta: esse comportamento começou após alguma atualização recente do sistema? Pergunto porque o Ubuntu 22.04 recebeu diversas atualizações do stack GTK e do xdg-desktop-portal, e já vi casos semelhantes aparecerem depois dessas atualizações.

Opa @thespation !

Acredito que seja o File Chooser mesmo. Fiz os testes que vc sugeriu, mas ainda continuo com o problema.

Verifiquei que tenho dois backends do portal em execução.

xdg-desktop-portal

xdg-desktop-portal-gtk

Tentei executar o journalctl quando o mega ou o pcsx2 travam, mas não tenho mensagens de erro.

O mesmo acontece quando executo direto pelo terminal. Os dois programas travam, mas não aparecem mensagens de erro no terminal.

Fiz a verificação de versões do qmake e do qpaths, mas só aparece informação sobre a versão do qmake:

Testei executar o megasync e o pcsx2 com o comando GTK_USE_PORTAL=0, mas ainda travam na seleção de pastas.

Agora estou testando instalar o Nautilus pra ver se o erro é só com o Nemo mesmo.

Legal, esses testes já eliminaram algumas possibilidades.

Pelas saídas que você enviou, dá para concluir que:

  • O xdg-desktop-portal está funcionando normalmente.
  • O backend GTK também está ativo.
  • O problema não parece estar relacionado ao GTK_USE_PORTAL, já que com GTK_USE_PORTAL=0 o travamento continua.
  • Também é interessante notar que nem o terminal nem o journalctl registram erros, o que indica que a aplicação não está encerrando com falha, apenas fica bloqueada aguardando alguma chamada.

Agora eu partiria para outro caminho de investigação.

Primeiro, veja qual File Dialog o Qt está tentando utilizar:

echo $QT_QPA_PLATFORMTHEME
echo $QT_STYLE_OVERRIDE

Se alguma dessas variáveis estiver definida, pode estar interferindo no comportamento do Qt.

Também seria interessante listar os pacotes Qt instalados:

dpkg -l | grep -Ei "qt5|qt6|portal|gtk"

Outro teste que pode ajudar bastante é forçar o Qt a utilizar o diálogo nativo dele, sem integração com GTK:

QT_QPA_PLATFORMTHEME=qt5ct pcsx2

ou

QT_QPA_PLATFORMTHEME="" pcsx2

Se dessa forma o seletor de arquivos abrir normalmente, fica praticamente confirmado que o problema está na integração do Qt com o ambiente GTK.

Outra ferramenta que pode dar uma pista é o strace. Execute:

strace -f -o pcsx2.log pcsx2

Depois provoque o travamento, encerre a aplicação e veja as últimas linhas:

tail -50 pcsx2.log

Isso normalmente mostra em qual chamada de sistema o processo ficou bloqueado.

Sobre o Nautilus, acho que é o melhor teste neste momento. Se o problema desaparecer apenas trocando o gerenciador de arquivos padrão, o Nemo passa a ser o principal suspeito.

Caso continue travando até com o Nautilus, eu começaria a investigar alguma regressão da biblioteca GTK3/Qt no Ubuntu Budgie 22.04, porque aí o problema deixa de ser específico do Nemo.

Entendi. Fiz a instalação do Nautilus, mas não teve muito efeito (só deu uma zoada no meu desktop que agora não bloqueia mais a sessão kkk)

Verifiquei as variáveis de File Dialog do Qt e aqui não estão definidas:

Listando os pacotes Qt que estão instalados, tenho pacotes do Qt5, Portal e Gtk:

Tentei forçar o Qt para abrir os dois programas usando os comandos QT_QPA_PLATFORMTHEME=qt5ct pcsx2 e QT_QPA_PLATFORMTHEME=“” pcsx2, mas não teve efeito.

Usei o comando strace para gerar o arquivo de logs para verificar o que aparece quando trava e tive esse resultado:

Aparentemente não tem informação de erro.

Acho que o problema é no próprio Ubuntu. Não sei se vale a pena voltar para versões anteriores das bibliotecas ou se compensa atualizar de vez pra versão 26.04.

Pelas informações, eu descartaria praticamente todas as causas mais comuns:

  • O problema com xdg-desktop-portal;
  • Não depende das variáveis QT_QPA_PLATFORMTHEME nem QT_STYLE_OVERRIDE;
  • Testou em outro gestor de arquivos;
  • O Qt 5 está instalado corretamente.

O que mais me chamou atenção foi o strace.

Apesar de não aparecer nenhum erro explícito, as últimas linhas mostram várias chamadas como:

futex(...)
...
ETIMEDOUT
...
poll(...)

Isso normalmente indica que a aplicação ficou bloqueada esperando alguma sincronização entre threads (deadlock), e não que ela sofreu um crash propriamente dito.

Outro detalhe interessante é a mistura de versões dos componentes.

Você está no Ubuntu Budgie 22.04, porém vejo pacotes como:

libgtk-4-1 4.12.5
xdg-desktop-portal 1.18.4-1ubuntu2.24.04.2

Esses pacotes são bem mais recentes do que a base original do 22.04. Dependendo da forma como o sistema foi atualizado (ESM, PPAs ou backports), pode existir alguma regressão na integração entre Qt e GTK.

Antes de pensar em reinstalar ou atualizar para outra versão do Ubuntu, eu faria mais dois testes.

Primeiro, verificar se o problema acontece em um usuário novo:

sudo adduser testeqt

Depois faça login nesse usuário e execute o PCSX2 ou o Mega.

Se funcionar normalmente, provavelmente o problema está em alguma configuração do seu usuário (~/.config, temas, plugins etc.).

Caso continue travando até no usuário novo, eu faria um teste iniciando uma sessão GNOME padrão (ou até uma Live USB do Ubuntu 24.04/26.04) e executaria exatamente os mesmos programas.

Se eles funcionarem normalmente em outro ambiente gráfico, aí praticamente fica confirmado que o problema está na interação entre o Budgie 22.04 e algum componente do stack gráfico, e não nas aplicações em si.

Sobre atualizar para o Ubuntu 26.04, eu não faria isso apenas para tentar corrigir esse problema. Primeiro vale confirmar se ele realmente está relacionado ao ambiente atual. Caso seja uma regressão específica do Budgie 22.04, uma atualização pode resolver, mas também pode introduzir outras variáveis. Eu tentaria fechar esse diagnóstico antes.

???

Tem firewall?

Já tentou desabilitar para ver se o erro continua?

Outra opçao, sem efeitos gráficos

megasync --nogfx

Veja se o erro persiste

Oi @swatquest ! Fiz o teste de execução sem efeitos gráficos, mas ainda continuo com o mesmo erro.

Vou fazer o teste do @thespation de executar por um novo usuário.

Fiz a criação do usuário novo e os aplicativos funcionaram normalmente por lá!

Então o problema seria o diretório de configurações do meu usuário (~/.config)? Teria alguma forma de “resetar” as configurações?

Tenta apagar somente a pasta cache

Boa notícia (mesmo não parecendo) rs

Como funcionou no novo usuário, deu uma boa pista.

Mas eu não sairia apagando toda a pasta ~/.config, porque você perderia configurações de praticamente todos os programas.

Eu faria isso de forma gradual.

Primeiro, faça um backup:

mkdir -p ~/backup-config
cp -a ~/.config ~/backup-config/

Pode começar renomeando apenas algumas configurações mais relacionadas:

mv ~/.config/gtk-3.0 ~/.config/gtk-3.0.bak
mv ~/.config/QtProject ~/.config/QtProject.bak
mv ~/.config/qt5ct ~/.config/qt5ct.bak
mv ~/.config/dconf ~/.config/dconf.bak

A ideia é descobrir o que está causando.

Faça logout/login e teste novamente.

Se continuar igual, o próximo passo seria limpar alguns caches:

mv ~/.cache ~/.cache.bak
mv ~/.local/share ~/.local/share.bak

Obs.: Isso não apaga seus documentos, apenas configurações e dados locais das aplicações. Alguns programas vão recriar essas pastas automaticamente na próxima execução.

Se depois de renomear uma dessas pastas o problema desaparecer, você pode restaurar as outras e descobrir exatamente qual configuração estava causando o conflito.

Eu seguiria por esse caminho porque agora já sabemos que o sistema está saudável. O objetivo passa a ser identificar qual configuração do seu perfil está provocando o travamento, sem precisar reinstalar o Ubuntu nem atualizar a distribuição.

Verifiquei aqui que não tenho a pasta ~/.config/qt5ct no meu usuário.

Fiz o backup e renomeei as pastas ~/.config/gtk-3.0, ~/.config/dconf e o arquivo ~/.config/QtProject.conf.

Reiniciei o PC e o Megasync e o PCSX2 voltaram a abrir o File Chooser! :+1::+1:

Aproveitei e testei de voltar com o backup das pastas ~/.config/gtk-3.0 e ~/.config/dconf e os dois programas continuaram funcionando. Acredito que o problema então era no arquivo ~/.config/QtProject.conf

Vou fazer o último teste agora de desinstalar o Nautilus e ver se vai afetar o File Chooser do Nemo.

Ok. Se funcionou coloque como resolvido.

Consegui desinstalar o Nautilus normalmente usando o comando sudo apt remove nautilus e não afetou o File Chooser.

E sobre o problema que estava tendo de não conseguir bloquear a tela, consegui resolver desinstalando o gnome-shell-comom com o comando sudo apt purge gnome-shell-common.

Muito obrigado pela ajuda @thespation e @swatquest!