Openbox encerrando ao executar programas GTK+ 3 [Resolvido]

Publicado por Leandro Nkz em 13/12/2013

[ Hits: 5.580 ]

Blog: http://brweatherproject.blogspot.com/

 


Openbox encerrando ao executar programas GTK+ 3 [Resolvido]



Olá, a todos!

Nesta rápida dica, mostrarei como solucionar um bug do Openbox na versão 3.5.0: ele é encerrado quando uma aplicação GTK+ 3 é utilizada.

Assim que migrei para o Slackware Current (64 bits), instalei o Openbox 3.5.0 através do seu SlackBuild. O problema era que, de vez em quando (e do nada), o Xorg/Openbox era encerrado, e voltava para a tela de login.

Isso ocorreu inúmeras vezes, até que eu pude encontrar um padrão: isso só acontecia quando eu estava utilizando programas que utilizam GTK+ 3, como o Evince ou o Audacious. Desse modo, eu pude identificar o seguinte:
  • O bug afeta aplicações que utilizam o GTK+ 3 e o Openbox 3.5.0;
  • Ele só é disparado quando é ativado algum componente na barra de ferramentas (seletor de zoom e numeração de páginas, no caso do Evince, por exemplo);
  • Ele só ocorre quando utiliza-se um tema GTK+ 3 junto com os programas. Ou seja, se você não utiliza nenhum tema GTK+ 3 e os seus programas possuem a aparência "crua", ele não se manifesta.

O bug afeta a versão 3.5.0 do Openbox e já foi solucionado em algumas distribuições:

Como solucionar

Há um patch disponibilizado nos links acima, que soluciona este problema. Basta aplicá-lo, recompilar o Openbox e reinstalá-lo. Para quem utiliza o Slackware, isso pode ser feito no próprio SlackBuild.

Vamos ao passo a passo:

1. Baixe o SlackBuild do Openbox:

wget http://slackbuilds.org/slackbuilds/14.1/desktop/openbox.tar.gz

2. Descompacte-o:

tar xvf openbox.tar.gz

3. Entre na pasta descompactada:

cd openbox

4. Baixe o source do Openbox 3.5.0:

wget http://openbox.org/dist/openbox/openbox-3.5.0.tar.gz

5. Crie o arquivo openbox-patch.patch:

vim openbox-patch.patch

Com o seguinte conteúdo:

--- openbox-3.5.0/openbox/moveresize.c.orig 2011-08-01 21:14:58.000000000 +0100
+++ openbox-3.5.0/openbox/moveresize.c  2012-03-28 20:04:36.100459920 +0100
@@ -326,6 +326,16 @@ void moveresize_end(gboolean cancel)
#endif
     }

+    if (!moveresize_client) {
+        ob_debug("moveresize_end: moveresize_client is NULL!");
+        return;
+    }
+
+    if (!moveresize_in_progress) {
+        ob_debug("moveresize_end: moveresize_in_progress is FALSE!");
+        return;
+    }
+
     /* don't use client_move() here, use the same width/height as
        we've been using during the move, otherwise we get different results
        when moving maximized windows between monitors of different sizes !

Salve e saia.

6. Edite o arquivo openbox.SlackBuild para que ele possa "patchear" o arquivo fonte:

vim openbox.SlackBuild

Após estas linhas (82 e 83):
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION

Adicione:

patch -p1 < $CWD/openbox-patch.patch

Salve e feche.

Este trecho, vai ficar assim:

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
patch -p1 < $CWD/openbox-patch.patch
chown -R root:root

7. Dê permissão de execução ao script:

chmod +x openbox.SlackBuild

8. Execute:

# ./openbox.SlackBuild

9. Reinstale o Openbox:

# upgradepkg --reinstall /tmp/openbox-3.5.0-*_SBo.tgz

10. Reinicie e teste.


Dica também publicada no Mundo GNU.

Até a próxima!

Outras dicas deste autor

Armazenamento em nuvem redundante com Dropbox e Copy

Como inserir o Tux/TuxDebian durante o boot do Debian

Firefox/GIMP - Corrigindo imagens "desbotadas"

Java - Anti-aliasing de fontes em aplicações gráficas

Tint2 com menu do Openbox

Leitura recomendada

Alterando plano de fundo da tela de login do Fedora (GNOME)

Nano com syntax highlighting

Multifuncional HP imprime mas não digitaliza

Instalação do Dspace no Debian

Liberando conexões do terminal service e VNC no firewall

  

Comentários
[1] Comentário enviado por removido em 13/12/2013 - 12:05h

Experimentar o Openbox no Slack, seria um belo convite. :)
Sempre uso ele com Xfce - mais completo.

Favoritado!

[2] Comentário enviado por leandro em 13/12/2013 - 16:49h

Eu já me acostumei ao Openbox. Agora fica difícil largá-lo, rsrs.

Thanks!

[3] Comentário enviado por px em 14/12/2013 - 15:46h

Aqui não achei este bug, e olha que uso openbox desde o início de Slack à Arch (atualmente Arch). Também tenho no pc GTK+ GTK2 GTK3 QT4, isso o que lembro por baixo...

Bom qualquer coisa já tenho uma mini faq aqui rsrs

[4] Comentário enviado por removido em 14/12/2013 - 16:06h

Bug ou compatibilidade? Eis a questão...

Cosa semelhante (acho) ocorre com o Docky no openSUSE (KDE).
Não se consegue fixar aplicativos do KDE nele.

Talvez o Docky não seja multi- D.E. Se é que posso falar assim.

[5] Comentário enviado por leandro em 15/12/2013 - 10:26h


[3] Comentário enviado por px em 14/12/2013 - 15:46h:

Aqui não achei este bug, e olha que uso openbox desde o início de Slack à Arch (atualmente Arch). Também tenho no pc GTK+ GTK2 GTK3 QT4, isso o que lembro por baixo...

Bom qualquer coisa já tenho uma mini faq aqui rsrs


É um bug meio esquisito. Demorei muito para poder identificá-lo. O modo mais fácil de testar é executar um programa GTK+3 e ficar clicando/arrastando o mouse "que nem um louco" na barra de ferramentas. Aqui é certeiro: ele travava na hora, rsrs.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts