Interfaces QT quebradas

4

Eu encontrei um problema estranho há alguns dias e não tenho ideia do que fazer. Algumas das interfaces dos meus programas parecem estar quebradas recentemente. É um tanto estranho porque não fiz grandes atualizações. Parece-me (embora eu não seja especialista) que todas as interfaces QT estão quebradas (ou seja, VLC, Clementine, Skype). É realmente me incomodando porque eu não posso usar muitos programas. No entanto, a maioria dos programas e o próprio sistema estão funcionando bem.

As interfaces aparecem de alguma forma incompletas, com todos os componentes tendo dimensões erradas, textos não aparecendo e cintilando nas interações do usuário. Eu realmente não tenho ideia de por onde começar e o que pode causar um problema como esse, já que estava funcionando bem por anos.

Estou executando o Ubuntu 14.04 LTS.

Executando alguns dos programas da linha de comando, recebo um aviso gtk Gdk-WARNING **: shmget failed: error 28 . Isso parece ser por causa de algo com segmentos de memória compartilhada. Isso é muito estranho para mim, já que estou usando meu sistema da mesma maneira que sempre usei. Uma pesquisa sobre esse erro trouxe algumas informações confusas. No entanto, não consegui encontrar uma solução ou qualquer informação útil para mim.

Para o skype eu tentei a solução & amp; solução alternativa daqui sem sucesso: Como corrigir problemas gráficos com o Skype, Gdk-WARNING?

EDITAR:

Eu descobri que os aplicativos funcionam bem quando eu tenho uma nova reinicialização. Eles simplesmente param de trabalhar em algum momento ... Então, o Gdk-WARNING da memória compartilhada parece ser o problema. Embora eu não consiga liberar qualquer memória, fechando todos os meus aplicativos em execução. Então, provavelmente, a solução seria encontrar o aplicativo que está bagunçando o espaço de memória compartilhada?

    
por user1171541 10.11.2015 / 17:40

2 respostas

2

A atualização do meu JDK da versão 7 para a 8 resolveu o problema para mim.

sudo apt-get install openjdk-8-jdk 

Se você estiver usando 14.04 ou mais, provavelmente precisará adicionar manualmente um PPA antes de instalá-lo (por exemplo sudo add-apt-repository ppa:openjdk-r/ppa , sem garantia de segurança!)

Em seguida, selecione a nova versão por meio de:

sudo update-alternatives --config java. 

Você pode verificar sua versão do java via:

java -version 

Deve imprimir algo como openjdk version "1.8.0_45-internal"

    
por SmCaterpillar 13.11.2015 / 12:23
3

Eu tive o mesmo problema. Você está certo, a razão é que não há memória compartilhada livre no sistema.

Para descobrir quem está levando toda a memória compartilhada, você pode executar ipcs -m -p . No meu caso, a saída foi algo como:

$ ipcs -m -p

------ Shared Memory Creator/Last-op PIDs --------
shmid      owner      cpid       lpid      
1277952    weekens    3642       3746      
2523137    weekens    4046       4119      
1409026    weekens    3696       3343      
786435     weekens    3203       1310      
1802244    weekens    3887       3919      
1900549    weekens    3899       3343      
1998854    weekens    3906       3343      
2031623    weekens    3872       498       
2326536    weekens    3885       17493     
2228233    weekens    3885       17493     
2261002    weekens    3885       17493     
2424843    weekens    3872       498       
2555916    weekens    3885       17493     
136708109  weekens    3872       498       
2719758    weekens    4176       3343      
2752527    weekens    4176       3343      
2850832    weekens    4573       18066     
2949137    weekens    4155       788       
2981906    weekens    4155       788       
3112979    weekens    4916       4916      
3145748    weekens    4916       4916      
3178517    weekens    4916       4916      
3211286    weekens    4916       4916      
3244055    weekens    4916       4916      
3276824    weekens    4916       4916      
3309593    weekens    4916       4916      
3342362    weekens    4916       4916      
3375131    weekens    4916       4916      
3407900    weekens    4916       4916      
3440669    weekens    4916       4916      
3473438    weekens    4916       4916      
3506207    weekens    4916       4916      
3538976    weekens    4916       4916      
3571745    weekens    4916       4916      
3604514    weekens    4916       4916      
3637283    weekens    4916       4916      
3670052    weekens    4916       4916      
3702821    weekens    4916       4916      
3735590    weekens    4916       4916      
3768359    weekens    4916       4916      
3801128    weekens    4916       4916      
3833897    weekens    4916       4916      
3866666    weekens    4916       4916      
3899435    weekens    4916       4916      
3932204    weekens    4916       4916      
3964973    weekens    4916       4916      
3997742    weekens    4916       4916      
4030511    weekens    4916       4916      
4063280    weekens    4916       4916      
4096049    weekens    4916       4916      
4128818    weekens    4916       4916      
4161587    weekens    4916       4916      
4194356    weekens    4916       4916      
4227125    weekens    4916       4916      
4259894    weekens    4916       4916      
4292663    weekens    4916       4916      
4325432    weekens    4916       4916      
4358201    weekens    4916       4916      
4390970    weekens    4916       4916
.... 4916 PID all the way down

, então o processo com o PID 4916 acabou por consumir toda a memória compartilhada (era o IntelliJ IDEA). Depois de matar esse processo, o problema foi resolvido.

    
por weekens 12.11.2015 / 14:13

Tags