Каково различие между системой с consolekit и той без нее?

Вы получили бы сообщение об ошибке при выполнении apt-add-repository если тот пакет установлен, но команда не найдена.

Сначала проверьте если /usr/bin/apt-add-repository существует или можно работать:

dpkg -L python-software-properties | xargs ls -d > /dev/null

видеть если любой файл от python-software-properties отсутствуют.

Если там файлы, пропускающие попытку:

sudo apt-get install --reinstall python-software-properties

(можно выполнить это без первого тестирования также).

Если /usr/bin/apt-add-repository существует, затем удостоверьтесь, что это - исполняемый файл и /usr/bin находится в Вашей переменной окружения PATH.

7
13.04.2017, 15:36
1 ответ

Он позволяет переключать пользователей без выхода из системы [многие пользователи могут входить в систему на одном и том же оборудовании одновременно с одним активным пользователем].

Я полагаю, что консольный комплект предоставил механизм, позволяющий приложениям определять, какой пользователь активен , т.е. сидит перед компьютером. Это отличается от переключателя su user следующим образом:

  • На вашем компьютере на одно место назначены мышь, клавиатура, дисплей, микрофон, камера и аудио.
  • Вы садитесь за компьютер и входите в систему через одну виртуальную консоль (VC)/графический менеджер входа (GLM).
  • Вы блокируете сессию, затем уходите.
  • Кто-то другой садится и входит в систему через вторую VC/GLM.
  • Теперь два пользователя входят в систему (две сессии), но только вторая сессия является активной.

Чьи процессы теперь имеют доступ к оборудованию? Вы, конечно, не хотите, чтобы второй пользователь запускал программу записи, которая сохраняет доступ к микрофону/камере/клавиатуре, когда Вы переключаетесь обратно в сеанс.

Хотя я не уверен, что консольный набор отсекает аппаратный доступ от процессов, по крайней мере, это позволяет процессу быть "хорошим гражданином" и освобождать аппаратуру при смене сессии.

Удаленные входы и su

ssh и su - пользователь не подвержены влиянию консольного набора. Консолькит предназначен для управления сеансами на места. Место - это набор физических устройств (мышь, клавиатура, дисплей и т.д.), назначенных на это место. Сессия создается, когда пользователь входит в систему в указанном месте. Сессия может иметь множество сеансов, и консольный пакет отслеживает эти сеансы, и уведомляет процессы (которые слушают) через DBUS, когда сеанс меняется.

Multi-.ограничения на выключение пользователей

Consolekit также может использоваться совместно с policykit для предотвращения выключения системы пользователями, когда открыто несколько сессий (более одного пользователя, вошедшего в систему).

Зачем использовать консолькит?

Для однопользовательской системы консолькит не имеет никакого использования. Если у вас есть семья, совместно использующая один компьютер, то он позволяет каждому войти в систему и переключить пользователей, не выходя из системы и не вмешиваясь в доступ к оборудованию. IIRC, у каждого пользователя также есть свой экземпляр xserver.

Альтернативы

Я не знаю альтернатив консольному комплекту или systemd. Если вам нужна такая функциональность, вы можете рассмотреть возможность форкинга консольного набора

.
6
27.01.2020, 20:18

Теги

Похожие вопросы