InitX

Publicado por Joao Garcia 21/08/2004

[ Hits: 4.653 ]

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

Script para ripar faixas de CDs e codificar para .ogg

Programas windows em gerenciadores simples

Versão 0.2: Integrar/Sincronizar Firefox/Thunderbird com o KDE

getdnsrouter

Monta Pen-Drive Windows no Linux


  

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