Ответ Руслана работает. Но это оставляет kmail без оконного менеджера. Однако в kmail 5.7.0 в настройках / configure kmail ... / general есть панель «Системный лоток» с флажком «Включение значка в системном трее». Снимите этот флажок и нажав OK, чтобы позволить kmail работать под xfce без проблем. Ура!
Есть вариант, если вы с удовольствием потрудитесь. networkd-dispatcher может помочь вам запустить свои собственные скрипты, чтобы делать то, что вам нужно, и грубо следует за синтаксисом сценариев в /etc/network/.
https://github.com/craftyguy/networkd-dispatcher
Кроме того, это теперь принято в Bionic (18.04) в репозитории «Вселенная»:
https://github.com/craftyguy/networkd-dispatcher
# Install
sudo apt install networkd-dispatcher
# Documentation
man networkd-dispatcher
Я настроил маршрутизатор PPPoE, на котором запущен Ubuntu, используя netplan для обычного интерфейса Ethernet и напрямую используя systemd для интерфейса PPPoE.
Для части PPP я полностью покинул PPPoE-интерфейс из netplan и создал файл /etc/systemd/system/ppp.service следующим образом. ens7 - это мой интерфейс, подключенный к модему PPPoE, который вам нужно будет изменить (каждое событие) в вашем случае. Я также использую детские jumbo frames, установив свой MTU на 1508. Если ваш NIC или ISP не справятся с этим, тогда вы должны удалить эту строку:
[Unit]
BindsTo=sys-subsystem-net-devices-ens7.device
After=sys-subsystem-net-devices-ens7.device
[Service]
ExecStartPre=/sbin/ip link set mtu 1508 dev ens7
ExecStartPre=/sbin/ip link set up dev ens7
ExecStart=/usr/sbin/pppd call provider
Type=forking
SuccessExitStatus=5
PIDFile=/run/ppp-pppoe.pid
[Install]
WantedBy=sys-subsystem-net-devices-ens7.device
Мой /etc/ppp/peers/provider выглядит так , Опять же, ens7 - мой интерфейс PPPoE; вам нужно изменить его на свой собственный ниже, вместе с my_username_with_my_isp. Если ваше оборудование (или интернет-провайдер) не может обрабатывать детские jumbo-кадры, и вы удалили строку mtu выше, а затем измените mtu и mru ниже на 1492. Я также разрешаю ipv6 здесь. Добавьте usepeerdns, если вы хотите использовать DNS-серверы вашего провайдера (вместо их статической настройки).
user my_username_with_my_isp
plugin rp-pppoe.so
ens7
noipdefault
defaultroute
hide-password
lcp-echo-interval 20
lcp-echo-failure 3
noauth
persist
maxfail 0
mtu 1500
mru 1500
noaccomp
default-asyncmap
+ipv6
linkname pppoe
Мой /etc/ppp/chap-secrets выглядит так. Возможно, вам придется использовать /etc/ppp/pap-secrets, если ваш интернет-провайдер не поддерживает CHAP.
* * my_password_with_my_isp
Чтобы собрать все вместе 18.04:
Установите пакет ppp. Создайте / отредактируйте /etc/systemd/system/ppp.service, /etc/ppp/peers/provider и /etc/ppp/chap-secrets, как указано выше. Запустите sudo systemctl daemon-reload, sudo systemctl enable ppp, а затем sudo systemctl start ppp. Используйте systemctl status ppp и просмотрите /var/log/syslog для статуса PPP.Есть вариант, если вы с удовольствием потрудитесь. networkd-dispatcher может помочь вам запустить свои собственные скрипты, чтобы делать то, что вам нужно, и грубо следует за синтаксисом сценариев в /etc/network/.
https://github.com/craftyguy/networkd-dispatcher
Кроме того, это теперь принято в Bionic (18.04) в репозитории «Вселенная»:
https://github.com/craftyguy/networkd-dispatcher
# Install
sudo apt install networkd-dispatcher
# Documentation
man networkd-dispatcher
Я настроил маршрутизатор PPPoE, на котором запущен Ubuntu, используя netplan для обычного интерфейса Ethernet и напрямую используя systemd для интерфейса PPPoE.
Для части PPP я полностью покинул PPPoE-интерфейс из netplan и создал файл /etc/systemd/system/ppp.service следующим образом. ens7 - это мой интерфейс, подключенный к модему PPPoE, который вам нужно будет изменить (каждое событие) в вашем случае. Я также использую детские jumbo frames, установив свой MTU на 1508. Если ваш NIC или ISP не справятся с этим, тогда вы должны удалить эту строку:
[Unit]
BindsTo=sys-subsystem-net-devices-ens7.device
After=sys-subsystem-net-devices-ens7.device
[Service]
ExecStartPre=/sbin/ip link set mtu 1508 dev ens7
ExecStartPre=/sbin/ip link set up dev ens7
ExecStart=/usr/sbin/pppd call provider
Type=forking
SuccessExitStatus=5
PIDFile=/run/ppp-pppoe.pid
[Install]
WantedBy=sys-subsystem-net-devices-ens7.device
Мой /etc/ppp/peers/provider выглядит так , Опять же, ens7 - мой интерфейс PPPoE; вам нужно изменить его на свой собственный ниже, вместе с my_username_with_my_isp. Если ваше оборудование (или интернет-провайдер) не может обрабатывать детские jumbo-кадры, и вы удалили строку mtu выше, а затем измените mtu и mru ниже на 1492. Я также разрешаю ipv6 здесь. Добавьте usepeerdns, если вы хотите использовать DNS-серверы вашего провайдера (вместо их статической настройки).
user my_username_with_my_isp
plugin rp-pppoe.so
ens7
noipdefault
defaultroute
hide-password
lcp-echo-interval 20
lcp-echo-failure 3
noauth
persist
maxfail 0
mtu 1500
mru 1500
noaccomp
default-asyncmap
+ipv6
linkname pppoe
Мой /etc/ppp/chap-secrets выглядит так. Возможно, вам придется использовать /etc/ppp/pap-secrets, если ваш интернет-провайдер не поддерживает CHAP.
* * my_password_with_my_isp
Чтобы собрать все вместе 18.04:
Установите пакет ppp. Создайте / отредактируйте /etc/systemd/system/ppp.service, /etc/ppp/peers/provider и /etc/ppp/chap-secrets, как указано выше. Запустите sudo systemctl daemon-reload, sudo systemctl enable ppp, а затем sudo systemctl start ppp. Используйте systemctl status ppp и просмотрите /var/log/syslog для статуса PPP.