У меня есть рабочий сценарий удара, который запускает снимок easyvpn с рабочего файла конфигурации. Я хочу запустить этот скрипт на начальной загрузке так, чтобы мое основное устройство человечности автосоединилось с моим vpn на начальной загрузке.
Мой Сценарий Bash в/home/alexlanganke/:
#!/bin/bash
echo "easy-openvpn.connect-server /home/alexlanganke/vpnconfig.ovpn" | bash
Этот файл естественно является сделанным исполняемым файлом и был протестирован успешно самостоятельно.
Мой systemd Сервисный файл в/etc/systemd/system/:
[Unit]
Description=VPN Autostart
[Service]
ExecStart=/home/alexlanganke/autostart_vpn.sh
[Install]
WantedBy=multi-user.target
Сервис Systemd был запущен и включен. Вы случайно видите то, что я делаю неправильно или пропускаю?
journalctl-u вывод:
Mar 27 16:50:14 localhost.localdomain autostart_vpn.sh[1373]: bash: line 1: easy-openvpn.connect-server: command not found
Смотрит на меня, как будто команда easyvpn, как известно, не колотит, когда выполнено через systemd. Неправильный путь?
Проблема возникает, потому что SystemD выполняется как корень. Упомянутая выше команда easyvpn не известна в масштабе всей системы.
Путь может быть исправлен путем изменения команды удара на:
#!/bin/bash
echo "snap run easy-openvpn.connect-server /home/alexlanganke/vpnconfig.ovpn" | bash
Найденный Решением с лучшим объяснением здесь: Как выполнить команду в поспешном пакете
В terminal
ввести nm-connection-editor
, откройте проводной профиль / профиль беспроводного соединения, где Вы хотите использовать VPN и отредактировать следующее... изменяющееся "default_openvpn" к пути/имени Вашего openvpn сценария соединения...