Resolvendo problemas de login Gnome overquota.

Durante a semana passada fiquei tentando resolver um problema em um dos clientes que usa LTSP com Gnome e sistema de cota de disco para os usuários. O fato é que o Gnome não consegue efetuar login quando o usuário está acima da sua cota, e não avisa nada, apenas não loga e reinicia o X.

Depois de muito pesquisar e apenas encontrar que é necessário efetuar login em um terminal texto (tipo o failsafe), decidi que a melhor alternativa era fazer uma alteração no Xsession para ser possível a inicialização de uma sessão do Nautilus para que o usuário possa apagar seus arquivos dispensáveis e efetuar o login.

A solução é simples, mas não havia sido documentada ainda. Portanto, decidi documentá-la aqui. Todas as alterações devem ser feitas no servidor LTSP.

Posted by Hµ63Z on

Durante a semana passada fiquei tentando resolver um problema em um dos clientes que usa LTSP com Gnome e sistema de cota de disco para os usuários. O fato é que o Gnome não consegue efetuar login quando o usuário está acima da sua cota, e não avisa nada, apenas não loga e reinicia o X.

Depois de muito pesquisar e apenas encontrar que é necessário efetuar login em um terminal texto (tipo o failsafe), decidi que a melhor alternativa era fazer uma alteração no Xsession para ser possível a inicialização de uma sessão do Nautilus para que o usuário possa apagar seus arquivos dispensáveis e efetuar o login.

A solução é simples, mas não havia sido documentada ainda. Portanto, decidi documentá-la aqui. Todas as alterações devem ser feitas no servidor LTSP.

Softwares necessários

Para a solução funcionar como documentado aqui, são necessários os softwares a seguir. Claro que tu podes usar esse documento como base para a sua solução própria, usando outro frontend de quota.

  • xdialog
  • awk
  • quota
  • quotatools

Em sistemas baseados em /Debian/, pode ser usado o comando abaixo:

# aptitude install xdialog awk quota quotatools

Após ter instalado os softwares, é necessária uma pequena alteração no script /etc/gdm/Xsession

Alteração no script /etc/gdm/Xsession

As linhas abaixo devem ser incluídas no script /etc/gdm/Xsession, junto à linha 136 (ou próximo a ela). Verifique que a linha fica logo abaixo de um if usado para iniciar a sessão failsafe.

## Check quota! (by Luiz Guaraldo softwarelivre@gmail.com>)
overquota=`quota -v|grep “*”|wc -l`
if [ $overquota = 1 ]; then
    quotatmp=”`quota -v|tail -n1|awk {‘print $2’}|cut -d “*” -f1`”
    quotaused=”`echo “$quotatmp/1024”|bc`”
    quotalimit=”`quota -v|tail -n1|awk {‘print $3’/1024}|bc`”
    diferance=`echo $quotaused-$quotalimit|bc`
    Xdialog —title “ATENÇÃO” —no-close —left —button-style icon /
    —wrap —msgbox “ATENÇÃO:
     Você excedeu sua cota de disco.
     Antes que você inicie uma sessao é necessário que você /
        apague alguns arquivos de seu diretório pessoal.
     Sua cota em disco é de $quotalimit MB, mas você esta /
        usando $quotaused MB.
     Apague $diferance MB de arquivos do seu diretório pessoal /
        e tente novamente.
     Lembre-se que os arquivos de seu perfil pessoal do /
        Windows (Área de Trabalho, Meus documentos, etc) /
        também são contabilizados em sua cota.
     Essa operação também pode ser feita através do Windows.
     No final da execução, clique em \“Arquivo \” e /
        \“Fechar Janela\”.” 25 80
    nautilus —no-desktop —geometry=800×600+0+0 —browser
    rm -rf ~/.Trash
fi

Finalizando

Pronto! Quando um usuário acima da cota tentar logar, em vez de entrar o Gnome, entrará uma mensagem informando que ele está acima da cota e, em seguida, uma sessão do Nautilus para ele apagar os arquivos. Ao finalizar a execução do Nautilus o servidor X será reiniciado para que ele possa logar novamente.


Comentários

Não existem comentários para este artigo.

Opiniões

Digite seu comentário abaixo. Os campos marcados * são necessários. Você deve visualizar o seu comentário antes de finalizar a postagem.

    



Comentários

Não existem comentários para este artigo.

Opiniões

Digite seu comentário abaixo. Os campos marcados * são necessários. Você deve visualizar o seu comentário antes de finalizar a postagem.

    




Comentários

Não existem comentários para este artigo.

Opiniões

Digite seu comentário abaixo. Os campos marcados * são necessários. Você deve visualizar o seu comentário antes de finalizar a postagem.