Без разъяснений, просто в три строки
Извольте.
Можешь истязать себя с nano. Мне роднее Midnight commander.
Создаешь скрипт (например с именем usercon):
#!/bin/sh
case ${USER} in
user1) nmcli con down "Проводное соединение 2"
nmcli con up "Проводное соединение 1"
;;
user2) nmcli con down "Проводное соединение 1"
nmcli con up "Проводное соединение 2"
;;
*) ;;
esac
Где, user1, user2 заменить на конкретные имена пользователей.
Запускаешь в терминале, чтобы проверить работоспособность. Если работает, то встает вопрос, где его поместить.
В принципе можно это код поместить в файлы .bashrc в профиле каждого пользователя. Неудобство, если придется править, то править в кааждом файле.
Предлагаю поместить в /usr/local/bin. Один файл для всех.
Создаешь десктоп-файл (например с именем usercon.desktop):
[Desktop Entry]
Name=User connection
Exec=usercon
Type=Application
Icon=nm-device-wired
X-GNOME-Autostart-enabled=true
X-GNOME-Autostart-Delay=20
Для начала, можно поместить его на рабочем столе. Кликаешь по нему. Должен сработать скрипт.
Если все работает, то можно поместить десктоп-файл в автозапуск, т.е. в каталог ~/.config/autostart каждого пользователя.
В десктоп-файле строка:
X-GNOME-Autostart-Delay=20
задает задержку до запуска в секундах. В некоторых DE задержка может не срабатывать. В этом случае можно изменить строку "Exec=" на такую:
Exec=sh -c 'sleep 20; usercon'
У меня нет столько пользователей, чтобы проверить все досканально, а добавлять пользователя не охота. И нет столько проводных соединений. Но с одним пользователем и WIFI-соединениями все сработало.
При желании в скрипте можешь манипулировать не соединениями, а интерфейсами. Можно добавить любое число пользователей и прочий сервис.
Если не будет отключать "чужое соединение", то придется замочиться с sudoers.