Автор Тема: Как отключить автоматическое подключение к интернету до входа пользователя?  (Прочитано 3500 раз)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Подключение проводное или беспроводное?
Проводное.

Главная фишка здесь:

В 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>

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Применение OnlyShowIn в файле автостарта в разных DE
(на случай, если GUI-настройщика автостарта команды нет)
Спецификация:

Extensions to the desktop entry format
(см. секцию Examples of using Categories and OnlyShowIn)
https://specifications.freedesktop.org/menu-spec/latest/ar01s03.html

B. Registered OnlyShowIn Environments
https://specifications.freedesktop.org/menu-spec/latest/apb.html

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Перемещать desktop-файл автостарта команды в каталог
# find /etc/ -type d -name "*autostart*" | grep xdg
/etc/xdg/autostart

имеет смысл, если в системе зарегистрировано несколько пользователей. В этом случае, desktop-файл автостарта будет отрабатывать глобально для всех пользователей.

Также в случае необходимости см. Hidden:
https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html

Оффлайн genand1947

  • Давно тут
  • **
  • Сообщений: 225
Какой командой можно назначить автоматический вход в систему другого пользователя?
 

dango_

  • Гость
Какой командой можно назначить автоматический вход в систему другого пользователя?
Через GUI. "Центр управления системой" - "Локальные учетные записи" - Слева выбираем пользователя - Справа ставим галочку "Автоматический вход в систему".
Через командную строку тоже можно. Надо знать какой дисплейный менеджер и соответственно править его конфигурационный файл.

Оффлайн genand1947

  • Давно тут
  • **
  • Сообщений: 225
Нужно через командную строку. АльтОбразование 10.0. Настройки - по умолчанию.

dango_

  • Гость
В помощь: Автоматический вход
Посмотрите функции пакета autologin-sh-functions
Возможно, это то, что вам надо.