WallpaperID - papel de parede com IP e kernel do usuário

Publicado por Roberto Fettuccia (última atualização em 10/11/2012)

[ Hits: 5.379 ]

Download wallperid.sh

Download wallperid2.1 (versão 2)

Download 1352193200.wallperid.sh (versão 3)




Trabalho com estações Ubuntu, quando preciso conectar com a estação de um usuário e não sei o IP, precisava que o usuário utilizasse o terminal descobri-lo.

Solução: Desenvolvi um script para coletar os dados do equipamento e colocar em um arquivo de imagem, que fica setado como wallpaper na sessão do usuário no Gnome.

TESTADO SOMENTE COM PNG.

Modo de uso:

$ ./script.sh [path da imagem]  [eixo X] [eixo Y] [Tamanho fonte]
  
Exemplo:

$ ./script.sh /home/roberto/wallp.png 10 10 20

Pode ser colocado no rc do usuário em /home/usuário/.bashrc para iniciar automaticamente no login do usuário, ou se tiver vários usuários no terminal gráfico, coloque o caminho do script dentro de /etc/rc.local.

Obs.: Este script só edita um arquivo png já existente e não sobrescreve o arquivo, simplesmente gera outro arquivo com as informações desejadas.

Na próxima versão pretendo automatizar a path do arquivo gerado como papel de parede.

  



Versões atualizadas deste script

Versão 2 - Enviado por Roberto Fettuccia em 29/10/2012

Changelog: Segue uma pequena atualização, agora este script força, no Gnome, a imagem resultante a tornar-se um papel de parede.

Download wallperid2.1


Versão 3 - Enviado por M4iir1c10 em 06/11/2012

Changelog: O que você acha da minha versão (2.2)?

1. Automaticamente cria a pasta .wallid dentro do home do usuário e salva o arquivo ali dentro,;

2. Também mudei a maneira de encontrar a interface da rede, algumas distros precisam do caminho exato para o ifconfig e alguns usuários não tem o /sbin dentro do PATH, então eu estou colocando o caminho completo

3. Estou usando o route para determinar qual interface está ativa, evitando assim confusão com outras interfaces que existem, porém não estão ativas

4. Filtrando a extensão do arquivo para evitar dupla extensão, tipo .jpg.png ou .png.png etc.

Download 1352193200.wallperid.sh


Esconder código-fonte

#!/bin/bash

IMGoriginal=$1 # 
Xscreen=$2 # posição do texto no eixo X dentro da imagem
Yscreen=$3 # posição do texto no eixo Y dentro da imagem
Sfont=$4  # tamanho da fonte
KERNELLOAD="$(uname -r)"
unset interfaces[@]
unset IPX
unset L
unset Xint
Xfailmsg="Sem conexao ativa!"


Xface=(eth0 eth1 eth2 eth3 eth4 ppp0 ppp1 ppp2 wlan0 wlan1 wlan2 wlan3 lo)
total="${#Xface[@]}"

for i in $total
do 
  Xint="${Xface[i]}"
  IPX=""
  echo "$Xface"
  IPX="$(ifconfig $Xint | awk '/: / { gsub(".* ", " ", $1 ) ; print $3}' | cut -f2 -d":" | sed 1q)"
  if ! [ "$IPX" == "" ] || [ "$IPX" == " " ] && [ "$IPX" != "127.0.0.1" ];
  then
      IP="$IPX - Interface :$Xface"
  else 
      if [ "$i" -eq "$total" ] || [ "$IPX" == "127.0.0.1" ];
      then
       IP="$Xfailmsg"
      fi
  fi
done

convert $IMGoriginal -pointsize $Sfont -stroke "yellow" -draw "text $Xscreen,$Yscreen 'Kernell $KERNELLOAD' text $Xscreen, $((Yscreen+2+Sfont)) 'Usuário : $USER' text $Xscreen, $((Yscreen+2+(Sfont*2))) 'Host : $HOSTNAME' text $Xscreen, $((Yscreen+2+(Sfont*3))) 'IP : $IP'" $IMGoriginal.conv.png 


Scripts recomendados

Recriando /dev/null

UNIX - Alerta de espaço em disco via e-mail

Instalador autônomo Zabbix 3.2.1 no CentOS 6

Criação de usuario / gerando senha automatica

Gerenciar usuários com dialog


  

Comentários
[1] Comentário enviado por leandro.paulo em 21/08/2015 - 09:27h

Ótima dica meu amigo, estava procurando algo deste modelo. Testei aqui e funcionou de boa.. muito obrigado... parabéns!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts