Центр программного обеспечения не может установить или удалить программное обеспечение

У меня Ubuntu 12.10, и когда я пытаюсь установить новое программное обеспечение с помощью центра программного обеспечения, происходит сбой со следующим сообщением об ошибке:

Authentication Error
Software cannot be installed or removed because the authentication service is not
available.(org.freedesktop.PolicyKit.Error.Failed:("system-bus-name",
{name:1.475}).org.debian.apt.install-or-remove-packages

Это новая проблема, которой у меня не было раньше! Какие-либо предложения?

2 ответа

Этот случай проблемы может быть вызван ошибкой; Я рекомендую рассматривать это как ошибку в PolicyKit.

Однако эта проблема может возникать с ошибкой или без нее, например, вследствие ручного изменения конфигурации PolicyKit (или удаления). Таким образом, он заслуживает ответа здесь.

Это происходит потому, что служба PolicyKit не работает. Вот несколько способов исправить это:

Убедитесь, что установлены необходимые пакеты PolicyKit.

Откройте терминал (Ctrl + Alt + T) и запустите:

sudo apt-get update && sudo apt-get install policykit-1 policykit-1-gnome

Затем перезагрузите компьютер и посмотрите, исправлена ​​ли проблема. (Выход из системы и повторный вход могут решить эту проблему.)

Запустите Центр программного обеспечения с gksu / gksudo вместо PolicyKit.

Если это не сработает, вы все равно можете запустить Центр программного обеспечения, обойдя проблему. PolicyKit - это один из способов, которым авторизованный пользователь (обычно администратор) может выполнять действия как rootв обычно настраиваемой системе Ubuntu, но это не единственный способ. sudo это другой.

Для графических программ, запуск их с sudo напрямую часто будет работать (как в ответе Томаса). Но это не рекомендуется, в первую очередь потому, что это может привести к тому, что файлы конфигурации пользователя без полномочий root станут собственностью root.

  • Для графических программ, которые не хранят файлы конфигурации в домашнем каталоге пользователя, это не имеет значения. Но большинство делают, и Центр программного обеспечения не является исключением. (Оно использует ~/.config/software-center, где ~ это ваш домашний каталог.)

Поэтому вместо него рекомендуется использовать неграфический интерфейс: gksu / gksudo или (если вы используете Kubuntu) kdesudo,

Итак, нажмите Alt + F2 и запустите:

gksu software-center

Работающий софт-центр ГКСУ в Unity

(Это работает во всех средах рабочего стола, не только в Unity, хотя, конечно, в других оно выглядит иначе.)

Затем вам будет предложено ввести пароль. Введите его, и Центр программного обеспечения будет работать как root,

Обратите внимание, что это немного отличается от того, как обычно работает Центр программного обеспечения. Обычно он запускается как обычный пользователь и использует PolicyKit для выполнения действий от имени пользователя root именно тогда, когда это необходимо. Было бы нетривиально заставить его использовать gksu / gksudo или же kdesudo сделать это.

Но работает как root обычно работает нормально и не вызывает проблем.

Другие графические утилиты могут быть запущены как root с графическим sudo внешние интерфейсы тоже.

Сама проблема, похоже, не связана конкретно с Центром программного обеспечения - любая программа, использующая PolicyKit, потерпит неудачу. Некоторые, как users-admin, не может быть успешно запущен как root, Но большинство может. Вот как это сделать для некоторых часто используемых утилит:

  • Источники программного обеспечения - gksu software-properties-gtk
    (В Кубунту: kdesudo software-propertiies-kde)

  • Software Updater (называемый Update Manager до 12.10) - gksu update-manager
    (Если вы просто хотите установить обновления как обычно, вы можете сделать это, не становясь пользователем root вообще, так как есть отдельная служба, которая позволяет это.)

  • Системные настройки... - gksu gnome-control-center

Это было только потому, что вы пропустили запуск policykit. Запустите gnome-session-properties, выберите PolicyKit и снова войдите в систему.

Другие вопросы по тегам