Подключение проводное или беспроводное?
Проводное.
Главная фишка здесь:
В NM создаётся проводное соединение с autoconnect=false, например Ethernet=1:
$ nmcli c show
NAME UUID TYPE DEVICE
Ethernet=1 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ethernet eth0
Wi-Fi=1 yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy wifi --
для которого в GUI настройке NM снимается маркер
Подключаться автоматически с приоритетом (тот самый autoconnect=false):
# sed -n '1,2p; 5p' /etc/NetworkManager/system-connections/Ethernet\=1.nmconnection
[connection]
id=Ethernet=1
autoconnect=false
Затем через графический настройщик создаётся файл автостарта для вашего DE, в котором прописанная в GUI-автостарта, команда 'nmcli c up Ethernet=1' поднимает соединение:
$ cat ~/.config/autostart/Ethernet=1_up.desktop
[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=Ethernet=1_up
Comment=
Exec=nmcli c up Ethernet=1
OnlyShowIn=XFCE;
RunHook=0
StartupNotify=false
Terminal=false
Hidden=false
Но перед этим, когда соединение сконфигурировано:
- Командой nmcli с down|up, проверить, требует ли в системе на systemd запрос пароля.
- Если требует, то используя пример рулеза выше, поправить его для системной группы xgrp (группа должна существовать) и добавить пользователя в эту группу. С рулезом с безусловным YES, на disconnect|connect, пароль требовать не будет.
Эта рекомендация проверена настройкой проводного соединения в NM с автоконнектом на логине в X-сессию, проверкой в системе p9-xfce-sysv, - всё работает так, как оговорено техусловиями в теме.
Учитывая разрешения для действия, подключение|отключение может выполнять и непривилегированный пользователь:
# sed -n '481p; 512p; 563,568p' /usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy
<action id="org.freedesktop.NetworkManager.network-control">
<description xml:lang="ru">Разрешить контроль сетевых подключений</description>
<defaults>
<allow_any>auth_admin</allow_any>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>