Executar comandos na inicialização

1

Estou seguindo este tutorial sobre como usar acelerômetro de um celular .

Para funcionar corretamente, você precisa executar três comandos na inicialização toda vez ...

rfkill unblock bluetooth
killall bluetoothd
hciconfig hci0 up

Existe uma maneira de fazer isso com um script na inicialização, em vez de fazer isso manualmente?

    
por Matthew Jackaon 26.08.2016 / 02:47

2 respostas

1

A maioria dos sistemas carregará automaticamente /etc/rc.local na inicialização quando estiver presente, então você só precisa colocar seus comandos lá e isso deve funcionar.

Você deve se certificar de que é executável pelo root, mas provavelmente já é.

    
por 26.08.2016 / 03:00
0

Se o seu sistema usa o systemd, você pode escrever um serviço que execute o comando uma vez, na inicialização do sistema.

Primeiro, crie um arquivo /opt/scripts/configure-bluetooth.sh e coloque seus comandos em:

#!/bin/bash
rfkill unblock bluetooth
killall bluetoothd
hciconfig hci0 up

E torne o arquivo executável: chmod +x /opt/scripts/configure-bluetooth.sh

A criação de uma nova unidade de serviço: /etc/systemd/system/configure-bluetooth.service que contém:

[Unit]
Description=Configure bluetooth

[Service]
Type=oneshot
ExecStart=/opt/scripts/configure-bluetooth.sh

[Install]
WantedBy=multi-user.target

Agora você deve executar systemctl daemon-reload para que o systemd detecte o novo serviço. Para testá-lo, execute systemctl start configure-bluetooth.service .

Quando tiver certeza de que funciona, você poderá ativá-lo na inicialização com: systemctl enable configure-bluetooth.service

    
por 26.08.2016 / 12:10

Tags