InitX

Publicado por Joao Garcia 21/08/2004

[ Hits: 4.669 ]

Download Initconf




Script para configurar os serviços que
serão inicializados no boot do
Slackware, serve para o slack 9.1 e
pro 10 (testado nos 2). Interface em
dialog. Simples e funcional.

  



Esconder código-fonte

#!/bin/sh
# Configurador de boot para Slackware 9.1 InitX
# Joao Garcia Ferreira Campos
# jgfcampos@yahoo.co.uk
# ultima alteracao 06, Marco de 2004
DIALOG=${DIALOG=dialog}
tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$
trap "rm -f $tempfile" 0 1 2 5 15
######## Funcoes
## Funcoes de chmod
#
execut()
{
$DIALOG --backtitle "InitX" --clear \
        --title "Deixa de executar no boot" \
        --yesno "Este servico e executavel, deseja torna-lo nao-executavel?" 20 40

case $? in
  0)
    chmod -x $FILE ; $DIALOG --backtitle "InitX_pre_alpha" --clear \
                            --title "Feito!" \
                            --msgbox "Servico removido do boot do sistema com susseco. \
                            " 20 40 ; configrcd ;;
  1)
    configrcd;;
  255)
    echo "Saida por ESC.";;
esac
return
}
#
#
noexecut()
{
$DIALOG --backtitle "InitX" --clear \
        --title "Passa a executar no boot" \
        --yesno "Este servico nao e executavel, deseja torna-lo executavel?" 20 40

case $? in
  0)
    chmod +x $FILE ; $DIALOG --backtitle "InitX" --clear \
                            --title "Feito!" \
                            --msgbox "Servico adicionado ao boot do sistema com susseco. \
                            " 20 40 ; configrcd ;;
  1)
    configrcd;;
  255)
    echo "Saida por ESC.";;
esac
return
}
#
chmodf()
{
if [ -x $FILE ] ; then
    execut
elif [ -e $FILE ] ; then
    noexecut
else
    echo "nao encontrado"
fi
return
}
## Fim das funcoes de chmod+
## Funcao de Ver config do rc.d
verconfigrcd()
{
ls -lah /etc/rc.d/ | grep -v x | fmt -s > /var/tmp/init.tmp
sed s/-rw-r--r--/servico/g /var/tmp/init.tmp /var/tmp/initx.tmp > /var/tmp/initx.tmp
$DIALOG --backtitle "InitX" --clear \
        --title "Servicos *NAO* inicializados no boot:" \
        --msgbox "`tail +2  /var/tmp/initx.tmp`" 30 70
        rm -rf /var/tmp/init*
ls -lah /etc/rc.d/ | fmt -s > /var/tmp/init.tmp
sed s/-rw-r--r--/servico/g /var/tmp/init.tmp /var/tmp/initx.tmp > /var/tmp/initx.tmp
grep -v servico /var/tmp/initx.tmp > /var/tmp/initx2.tmp
sed s/-rwxr-xr-x/servico/g /var/tmp/initx2.tmp /var/tmp/initx3.tmp > /var/tmp/initx3.tmp
$DIALOG --backtitle "InitX" --clear \
        --title "Servicos inicializados no boot:" \
        --msgbox "`tail +7  /var/tmp/initx3.tmp`" 30 70
        rm -rf /var/tmp/init*
principal
return
}
## Fim da funcao Ver config do rc.d
############################################################################
############################################################################
## Funcao de Config do rc.d
configrcd()
{
FILE=`$DIALOG --backtitle "InitX" --clear \
              --stdout --title "Digite o nome do servico" \
              --fselect /etc/rc.d/rc. 14 48`

case $? in
   0)
      chmodf;;
   1)
      principal;;
   255)
      echo "Saida por ESC";;
esac
return
}
## Fim da funcao de Config do rc.d
############################################################################
############################################################################
## Funcao para tomada de decisao do menu principal
menu()
{
if [ $choice = 1 ] ; then
    configrcd
elif [ $choice = 2 ] ; then
    verconfigrcd
else
    echo "Nao foi posivel executar modulo de menu"
fi
return
}
## Fin da funcao de decisao do menu principal
############################################################################
############################################################################

############################################################################
########## Programa
## Corpo do programa
principal()
{
$DIALOG --backtitle "InitX" --clear \
        --title "InitX" \
        --menu "Ola, este e o InitX, um sistema de \n\
configuracao de servicos inicialisados no boot do Slackware 9.1. \n\
Ele deve se comportar bem, mas se o seu computador \n\
derreter,explodir ou nao funcionar nunca mais eu \n\
nao vou ter responsabilidade nenhuma. \n\
:^)\n\n\
          Escolha uma das opcoes:" 20 45 2 \
        "1" "Configurar o rc.d" \
        "2" "Ver configuracoes do rc.d" 2> $tempfile

retval=$?

choice=`cat $tempfile`

case $retval in
  0)
    menu ;;
  1)
    echo "Cancelado.";;
  255)
    echo "Saida por ESC.";;
esac
return
}
## Fim do corpo do programa
######
############################################################################
############################################################################
## EXECUCAO!
principal

Scripts recomendados

Conexão e Desconexão ADSL automáticas no Slackware

Criador de playlist

Shell Script para Linux HOWTOs

Removendo lixo do sistema

Import com timer


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts