Deslogar v2.0

Esse é meu primeiro post e vou mostrar uma nova ferramenta que estou criando para ser utilizada no Berimbau Linux

Na verdade já utilizamos um chamado de killprocess (em breve no sourceForge) criado pela nossa equipe, mas resolvi criar uma nova por causa da sua manutenção e simplicidade no código.

O quê o Deslogar v2.0 faz:

  1. Lista todos os usuários que estão logados no sistema. No nosso caso, serão mostradas apenas os usuários das estações LTSP.
  2. Permite selecionar vários usuários e deslogá-los

Dependência de pacotes:

  1. Zenity
  2. Slay

Utilizei Shell Script + Zenity e a tela é essa aí:

Deslogar v2.0

O seu código original é esse:

#!/bin/bash

## Ferramenta criada pela Equipe de Desenvolvimento – PISD – Programa de Inclusao Socio-Digital do Estado da Bahia.
## Desloga os usuarios das estações LTSP
## Arquivo criado em 13/11/2007

##
# Pegando valor do ID
ID=$(cat /etc/idconf)

if [ -z $ID ]; then
# Se nao encontrar ID aparece essa mensagem de erro.
zenity –error –title “ERRO” –text “ID não encontrado, por isso o programa não será executado.\nEntre em contato com a Central de Atendimentos.”
else
DESLOGAR=$(zenity –list –multiple –print-column=2 –width=400 –height=400 –title “Deslogar v2.0” –text “Selecione o(s) usuario(s) que deseja deslogar:” –column “Estacao” $(w -h | grep ${ID}E | egrep -v ‘(pts|admin|admintec|root)’ | awk ‘{print $3″ “$1}’ | sort -n) –column “Usuario”)

if [ ! -z $DESLOGAR ]; then
slay $(echo $DESLOGAR | tr ‘|’ ” “)
fi
fi

Pode selecionar um, vários ou todos os usuários:

Deslogar v2.0

Lembrando que pra utilizar o Deslogar v2.0 é preciso ter privilégio de root ;)

Mas pra quem usa LTSP e deseja utilizar essa ferramenta, pode utilizar esse código:

#!/bin/bash

## Ferramenta criada por Ataliba Neto – ataliba”ARROBA”atalibaneto.com.br
## Desloga os usuarios conectados no sistema
## Depende dos pacotes: Zenity e Slay
## Arquivo criado em Wed, 14 Nov 2007 15:43:35 -0300

DESLOGAR=$(zenity –list –multiple –print-column=2 –width=400 –height=400 –title “Deslogar v2.0” –text “Selecione o(s) usuario(s) que deseja deslogar:” –column “Estacao” $(w -h | awk ‘{print $3″ “$1}’ | sort -n) –column “Usuario”)

if [ ! -z $DESLOGAR ]; then
slay $(echo $DESLOGAR | tr ‘|’ ” “)

fi

Só que esse código não é 100% funcional, pois utilizei o comando ‘w’ do Linux para listar os usuários, e esse comando possui uma problema. Ele só lista os oito primeiros caracteres dos usuários, ou seja, se o usuário for ‘atalibaneto’ ele só vai listar ‘ataliban’ e o Deslogar v2.0 não vai funcionar. Pra isso vou usar o comando ‘finger’ que lista o nome do usuário completo, mas ainda não terminei.

Por enquanto é só ;)

Anúncios

3 comentários em “Deslogar v2.0

  1. Ficou lindo, show de bola o seu Blog… parabéns!
    Conseguindo anexar imagens?

    Olha, esse deslogar parece massa; se tiver um .deb dele para o Etch eu quero.

    abraços,

    .ValessioBrito

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s