Estou atingindo um problema pelo qual o X impede que processos criem janelas, dizendo algo como o seguinte ~/.xsession-errors
:
cannot open display: :0.0
Maximum number of clients reached
Pesquisando, há muitos exemplos de pessoas enfrentando esse problema e, às vezes, as pessoas identificam qual programa eles estão executando usando todos os slots do cliente. Veja, por exemplo, LP 70872 (Firefox), LP 263211 (gnome-screensaver).
Pelo que vale, eu corro o gnome-terminal, o thunderbird, o chromium-browser, a empatia, o tomboy e a caixa virtual quase o tempo todo, além das coisas normais que você obtém com a área de trabalho do GNOME e, ocasionalmente, outros pedaços.
No entanto, minha pergunta não é "qual dos meus programas está causando esse problema", mas sim, como alguém pode diagnosticar esse problema?
Nos erros acima (e outros), relatórios de fórum, etc., são sugeridas várias ferramentas:
xlsclients
- lista os aplicativos clientes para a exibição em questão, mas acho que não corresponde a 'X clients'xrestop
- uma ferramenta de recursos X de estilo superior, uma linha por cliente X. Muitos clientes '', não mostrados naxlsclients
saídaxwininfo -root -children
lista objetos da janela X
Pelo que pude entender, o problema pode não ser muitos clientes, mas recursos mantidos no servidor X para clientes que há muito se desanexam. Mas também parece que você não pode (facilmente?) Relacionar os recursos do X ao cliente deles. Pode-se diagnosticar efetivamente esse problema depois que ele começa a ocorrer ou é uma abordagem tediosa de dividir e conquistar para os aplicativos em que executo a única abordagem aberta para mim?
Atualização de janeiro de 2011: Acho que resolvi esse problema. Para o benefício de qualquer um que se deparasse com isso, o nautilus e / ou o compiz ou algo nessa cadeia de software estava falhando devido a um papel de parede que eu tinha. Eu tinha escolhido um arquivo XML como meu papel de parede, que definia uma galeria rotativa de imagens. Foi feito à mão, mas com base em /usr/share/backgrounds/contest/background-1.xml ou similar. Desativando o papel de parede e eu não tive um acidente desde então.
Não estou marcando isso como respondido ainda, já que o problema específico real não era minha pergunta, mas como diagnosticá-lo. Infelizmente, isso foi principalmente tentativa e erro, o que é péssimo.
xrestop
saída? O que as três primeiras linhas dizem a você? Quanta memória / memória de vídeo você possui na máquina?xrestop
não inicia - ele também reclama "Número máximo de clientes atingidos"! -> incapaz de abrir a tela.Respostas:
Eu consegui resolver esse "impasse", onde nenhuma das x-tools funcionava, pois elas também precisam se conectar ao servidor X, usando o
lsof -U
que lista os processos que estão usando arquivos de soquete.Neste exemplo, foi um script de inicialização incorreto que gerou novos processos "badproc" fora dos limites.
Exemplo de saída de
lsof -U
:fonte
lsof -U | wc -l
pode ser útil.Tenho a mesma pergunta, porque acho que esse problema é significativo para quem não reinicia o computador com frequência. Uma coisa que eu realmente gostei no UNIX / Linux / Ubuntu ao longo dos anos é que posso executar meu laptop de forma confiável por meses sem reinicializar (apenas suspender), exceto quando instalo um novo kernel. Desde a atualização para o "conjunto" que é o Maverick (Ubuntu 10.10), eu encontrei isso e só posso executar por uma semana.
Também tentei o 'xrestop'; interrompeu os efeitos da janela do compiz (que retardaram o vazamento de recursos), mas ainda não conseguiram descobrir por que isso está acontecendo. É quase como estar de volta em uma máquina WinXP ... :-(
Então sim! Melhores ferramentas de depuração X seriam boas. Um problema com o 'xrestop' é que ele também requer recursos; portanto, uma vez que você atinja o muro, ele não funcionará.
Como uma dica para outras pessoas que ficam presas com isso (por exemplo: ao sair do modo de espera e aguardar a janela de senha que nunca aparecerá porque não há recursos para criá-lo), alterne para um terminal de buffer de quadro e vice-versa (Ctrl-Alt- F1, depois Ctrl-Alt-F7) parece liberar alguns dos recursos críticos.
Doug
fonte
IndexError: list index out of range
porque algumas linhas tem nãoPath
nanetstat -an --unix
saída.O Chromium / Chrome tem alguns problemas conhecidos que resultam nessa mensagem de erro. Você usa a extensão Lastpass?
ref: http://www.ngohaibac.com/how-to-solve-maximum-number-of-clients-reached-gtk-warning-cannot-open-display-in-ubuntu-9-10-64-bit/
fonte
Eu faço:
lsof -U
e observo muitas instâncias de VLC.Para resolver meu problema, eu executo:
fonte
lsof -U
mostra um grande número de instâncias do xcape.kill xcape
resolva o problema.Agora posso usar o rofi e o tor-browser novamente.
fonte
Estava enfrentando o mesmo problema com o openoffice, por causa da memória (RAM),
tente fechar todos os terminais (incluindo aplicativos), se isso não funcionou
sudo reboot now
fonte