Systemd não pode executar meu script de inicialização

3

Eu dei uma olhada em todas as questões relacionadas ao systemd aqui e não consegui encontrar a resposta, então peço desculpas se de alguma forma eu sinto falta dela.

Eu só quero executar o seguinte script na inicialização, mas parece que deve ser depois que o systemd terminar porque depende da rede e do gui estarem prontos. Eu estou tentando configurar o mousepad para permitir o clique de toque e tentando executar um script connect.sh que me conecta a uma VPN. O script a seguir faz tudo o que deve fazer quando eu o executo manualmente, mas não posso, durante minha vida, descobrir por que ele não será executado na inicialização.

startup.sh:

#! /bin/sh
# /root/Scripts/startup.sh

synclient tapbutton1=1 clickfinger2=3 tapbutton2=3
sleep 2
sh /root/Scripts/connect.sh
sleep 10

conteúdo de connect.sh:

#! /bin/sh
# /root/Scripts/connect.sh


echo "disabling wifi adapter..\n"
ifconfig wlan0 down
sleep 3
macchanger -r wlan0
echo "enabling wifi adapter..\n"
ifconfig wlan0 up
sleep 3
echo "connecting to VPN..\n"
nmcli con up id vpnconnection1
sleep 3
ifconfig
echo "finished\n"

/etc/systemd/system/mystartup.service:

[Unit]
After=network.target

[Service]
ExecStart=/root/Scripts/startup.sh

[Install]
WantedBy=default.target

Eu corro systemctl enable mystartup.service e reinicializo, mas o script claramente não foi executado desde que as alterações não entraram em vigor.

O que estou fazendo de errado?

EDIT: Eu atualizei os scripts para refletir os caminhos absolutos para os locais do script. correu systemctl e reiniciou, mas ainda não está funcionando.

Para mais esclarecimentos, só quero executar esses dois scripts na inicialização. Registrá-los como um serviço não faz sentido para mim, mas tudo o que pesquisei me trouxe até aqui. Dito isso, systemctl --state=failed não mostra mystartup.service listado e service mystartup.service status diz Unit mystartup.service.service could not be found.

    
por nohupt 15.03.2018 / 09:17

1 resposta

1

Estes não pertencem realmente como serviços systemd ...

A configuração do mousepad depende do X sendo executado e precisa ser feito para essa sessão.

A maneira correta de configurar isso é configurá-lo como parte da configuração do X.

Veja aqui para uma maneira de configurar isso.

Em relação à conexão com a VPN, você provavelmente deve configurá-la no NetworkManager, que controla suas conexões e sabe quando sua rede está ativa.

Veja aqui uma forma de ligar um script de dispatcher ao NetworkManager que pode aumentar a VPN quando a rede está ativa.

    
por 22.03.2018 / 08:42