Rodar um script na inicialização do ubuntu ou linux mint

1. Rodar um script na inicialização do ubuntu ou linux mint

Gustavo
Nunnes

(usa Ubuntu)

Enviado em 06/05/2014 - 21:35h

Olá, sou novo no fórum.

A pouco tempo comecei a usar linux no meu pc.
Preciso de ajuda para tirar uma dúvida.

estou usando o script abaixo:

#!/bin/bash

hcitool dev | grep hci0 | cut -c7-34 >> /media/dados/mac.txt
lshw -class network | grep serial | cut -c16-33 >> /media/dados/mac.txt

tail -4 /media/dados/mac.txt

echo "desligar ou reiniciar"
read acao

case "$acao" in
"r" )
echo "reiniciando"
reboot
exit 0

;;
"d" )
echo "desligando"
init 0
exit 0
;;
* )

echo "erro"
exit 0
;;
esac
exit 0

____________________________________________________________________________________

O Problema é que antes eu usava apenas as duas linhas de comando acima e o script funcionava. Precisei acrescentar a linha - tail ..... para ver as 4 últimas linhas do arquivo txt.
Agora o programa não roda, somente quando entro na pasta init.d e executo o arquivo lá dentro funciona.
Preciso que o script funciona na inicialização do sistema, leia o mac-address grave no pendrive(media/dados) e depois mostre na tela as 4 últimas linhas do arquivo txt e aguarde digitar "r" ou "d" para desligar ou reiniciar o pc.


Alguém pode me ajudar?

Desde já agradeço.

Att.
Nunnes




  


2. Re: Rodar um script na inicialização do ubuntu ou linux mint

Cleber Mattos
mattos_gru

(usa Debian)

Enviado em 06/05/2014 - 22:04h

Nunnes escreveu:

Olá, sou novo no fórum. ....

..... estou usando o script abaixo:

#!/bin/bash

### BEGIN INIT INFO
# Short-Description: start and stop mac address script
# Description: mac address info
# X-implementor: Nunnes
# Default-Start: 2
# Default-Stop: 0 1 6
# Provides: mac address record
# Required-Start: networking
# Required-Stop:
### END INIT INFO

hcitool dev | grep hci0 | cut -c7-34 >> /media/dados/mac.txt
lshw -class network | grep serial | cut -c16-33 >> /media/dados/mac.txt

tail -4 /media/dados/mac.txt

echo "desligar ou reiniciar"
read acao

case "$acao" in
"r" )
echo "reiniciando"
reboot
exit 0

;;
"d" )
echo "desligando"
init 0
exit 0
;;
* )

echo "erro"
exit 0
;;
esac
exit 0



Att.
Nunnes



Complemente seu script com as linhas acima.

Torne-o executavel, se ainda nao estiver, com:

$ sudo chmod +x /etc/init.d/nomedoscript

Por ultimo, inclua na inicialização automática com:

$ sudo insserv -v nomedoscript

Para tirar da inicialização:

$ sudo insserv -v -r nomedoscript



Use a Força, leia os fontes, leia os manuais!

A Resposta ou a Dica ajudou ou resolveu seu problema? Agradeça e vote na melhor.
O Artigo lhe agradou ou lhe ajudou? De sua nota
O seu Tópico foi resolvido? Marque-o adequadamente.

A Comunidade VOL agradece!

Dell Vostro 1310 wxga mate - Bios A15
Intel Core2 Duo T8300 @ 2.40GHz
8 GB RAM - HDs 250 Gb + 400 Gb Sata II
Intel Mobile GM965/GL960 Graphics Controller
Debian Sid Kernel 3.14.2-1-rt-amd64 x86_64 PREEMPT_RT
Kde 4.12.4-1 - plasma-desktop 4.11.8-1
Debian 7.5 Wheezy Kernel 3.12.9-1~bpo70+1 x86_64
Kernel 3.2.57-3-rt-amd64 x86_64 PREEMPT_RT
Kde 4.8.4-2 - plasma-desktop 4.8.4-6



3. Re: Rodar um script na inicialização do ubuntu ou linux mint

Gustavo
nunnes

(usa Ubuntu)

Enviado em 09/05/2014 - 19:41h

Mattos obrigado pela resposta, mas no ubuntu não deu certo. Eu cheguei a rodar o script, mas ele para numa tela escura.

Para cada tipo de sistema o script deve ser escrito de forma diferente?

Porque no Linux Mint eu fiz o mesmo processo e ele não chega nem a entrar no script. Ele inicializa normalmente como se não tivesse nenhum script.

No Mint eu criei o arquivo dentro da pasta /etc/init.d/script e dei permissão para o arquivo :$ chmod +x script. Na pasta rc.local coloquei a referencia do arquivo antes do exit 0 exp.: /etc/init.d/script

exit 0







4. Re: Rodar um script na inicialização do ubuntu ou linux mint

Cleber Mattos
mattos_gru

(usa Debian)

Enviado em 09/05/2014 - 20:05h

Oi!

poste aí o resultado (todas as linhas) do comando:


$ sudo insserv -v nomedoscript

posta o script completo tambem, com a inclusão que indiquei.




5. Re: Rodar um script na inicialização do ubuntu ou linux mint

Cleber Mattos
mattos_gru

(usa Debian)

Enviado em 09/05/2014 - 20:19h

... voce esta usando esse comando para pegar o MAC da sua placa bluetooth, correto ?

Eu estou usando bluetooth agora, veja o resultado no meu note:

cleber@mattos:~$ hcitool dev | grep hci0
hci0 00:21:86:AB:04:61

cleber@mattos:~$ hcitool dev | grep hci0 | cut -c7-34
00:21:86:AB:04:61

Para pegar o MAC do Bluetooth na inicialização o script deve rodar ""depois"" da ativação do bluetooth, portanto ainda esta incompleto, voce deve alterar para:

#!/bin/bash

### BEGIN INIT INFO
# Short-Description: start and stop mac address script
# Description: mac address info
# X-implementor: Nunnes
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Provides: mac address record
# Required-Start: networking bluetooth bootlogs
# Required-Stop:
### END INIT INFO

hcitool dev | grep hci0 | cut ... etc....etc



6. Re: Rodar um script na inicialização do ubuntu ou linux mint

Cleber Mattos
mattos_gru

(usa Debian)

Enviado em 09/05/2014 - 20:25h

nunnes escreveu:

Mattos obrigado pela resposta, mas no ubuntu não deu certo. Eu cheguei a rodar o script, mas ele para numa tela escura.

Para cada tipo de sistema o script deve ser escrito de forma diferente?

Porque no Linux Mint eu fiz o mesmo processo e ele não chega nem a entrar no script. Ele inicializa normalmente como se não tivesse nenhum script.

No Mint eu criei o arquivo dentro da pasta /etc/init.d/script e dei permissão para o arquivo :$ chmod +x script. Na pasta rc.local coloquei a referencia do arquivo antes do exit 0 exp.: /etc/init.d/script

exit 0



A inicialização do Mint é igual a do Debian, do Ubuntu não sei se mudaram, pois ele era uma cópia do Debian, acredito que seja igual.

Aos Colegas Ubunteiros: Ubuntu usa scripts no /etc/init.d/ como o Debian ou a Canonical mudou isso??




7. Re: Rodar um script na inicialização do ubuntu ou linux mint

Gustavo
nunnes

(usa Ubuntu)

Enviado em 09/05/2014 - 22:18h

Mattos antes de postar o que vc me pediu. O boot está parando nesta mensagem:

Begin: Running /scripts/init-bottom ... done.
[ 12.262654] Adding 1542140k swap on /dev/sdb6. Priority:-1 extents:1 across:


- Quando aperto o botão power aparece a seguinte mensagem:
acpid: exiting

despois roda o script normalmente do jeito que eu queria.

O problema é ele sempre para na mensagem acima e eu tenho que ficar apertando o power para ele continuar e rodar o script.

Obs.: O linux que estou usando é o Ubuntu 13.10 instalado dentro de um pendrive.


8. Re: Rodar um script na inicialização do ubuntu ou linux mint

Cleber Mattos
mattos_gru

(usa Debian)

Enviado em 09/05/2014 - 22:33h

... entao desativa a parte de execução do script com cerquilha indicadas como abaixo:


#!/bin/bash

### BEGIN INIT INFO
# Short-Description: start and stop mac address script
# Description: mac address info
# X-implementor: Nunnes
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Provides: mac address record
# Required-Start: networking bluetooth bootlogs
# Required-Stop:
### END INIT INFO

hcitool dev | grep hci0 | cut -c7-34 >> /media/dados/mac.txt
lshw -class network | grep serial | cut -c16-33 >> /media/dados/mac.txt

tail -4 /media/dados/mac.txt

########## desativa a partir daqui ======>>>
### echo "desligar ou reiniciar"
### read acao

### case "$acao" in
### "r" )
### echo "reiniciando"
### reboot
### exit 0

### ;;
### "d" )
### echo "desligando"
### init 0
### exit 0
### ;;
### * )

### echo "erro"
### exit 0
### ;;
### esac
### exit 0

deixe o arquivo mac.txt em branco, reboot e ve se ele grava os MACS no arquivo.

Depois, vá ativando 1 sessão do seu script por vez e reboot a cada vez para descobrir onde ele esta parando - quando digo sessão, quero dizer, 1ro a "iniciar e desligar",
depois a "case acao reiniciando",
depois a "desligando"
e por ultimo a "erro"

Limpe o arquivo mac.txt antes de cada novo reboot.




9. Re: Rodar um script na inicialização do ubuntu ou linux mint

Cleber Mattos
mattos_gru

(usa Debian)

Enviado em 09/05/2014 - 22:38h

..... experimente trocar tail -4 /media/.../mac.txt

por

cat /media/.../mac.txt



10. Re: Rodar um script na inicialização do ubuntu ou linux mint

Gustavo
nunnes

(usa Ubuntu)

Enviado em 09/05/2014 - 22:53h

Quando eu desativei o "desligar... etc..." o script foi até o fim e parou no login, mas não me mostrou as últimas 4 linhas. Ele gravou o mac corretamente, mas preciso que no fim da gravação do arquivo ele me mostre sempre na tela as 4 ultimas linhas, por isso coloquei o comando tail -4.




11. Re: Rodar um script na inicialização do ubuntu ou linux mint

Cleber Mattos
mattos_gru

(usa Debian)

Enviado em 09/05/2014 - 23:00h

Se vc me permite, vou copiar o script aqui para mim e testar, porem preciso saber:

qual a finalidade de voce ter os MACS na tela?

o seu login para em modo texto e nao abre nenhuma interface grafica?

exemplo:

NomeDistro GNU/Linux NomeMaquina tty1
mattos login:




12. Re: Rodar um script na inicialização do ubuntu ou linux mint

Cleber Mattos
mattos_gru

(usa Debian)

Enviado em 09/05/2014 - 23:01h


O que esse read acao faz ? é outro script ?




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts