Я не использую Unity, поэтому у меня нет удобной кнопки, чтобы щелкнуть, чтобы начать software-center
. Однако иногда полезно искать программное обеспечение, поэтому я запускаю его из командной строки. Тем не менее, тогда я не могу на самом деле установить программное обеспечение через этот интерфейс (без разрешений). Поэтому я попытался sudo software-center
вместо этого, надеясь это исправить. После ввода моего пароля в командной строке, я получаю диалоговое окно с запросом:
Введите пароль для набора ключей по умолчанию, чтобы разблокировать
Что я должен введите здесь, чтобы получить software-center
для запуска от имени root?
Вот еще немного информации. Я использую Enlightenment (E17) в качестве среды моего рабочего стола. Кнопки, которые отображаются на боковой панели в единстве, в E17 не имеют эквивалента, поэтому я запускаю центр программного обеспечения из командной строки. Когда я делаю это, как я, а не root, в момент, когда я пытаюсь что-то установить, появляется сообщение об ошибке, которое гласит:
Authentication Error. Software can't be installed or removed because the authentication service is not available. (org.freedesktop.PolicyKit.Error.Failed: ('system-bus-name', {'name': ':1.96'}): org.debian.apt.install-or-remove-packages
Policykit не работает или, по крайней мере, ничего напоминание этого имени появляется с "ps wux". Так что я думаю, что возникает вопрос, кто-нибудь знает, как заставить его запускаться автоматически при входе в систему?
Спасибо!
Вы не должны запускать software-center как root. Вы должны просто запустить его как своего собственного пользователя. При установке пакета вам будет предложено ввести диалоговое окно policykit с запросом пароля. Разве этого не происходит?
Вместо этого вам нужен pkexec:
pkexec software-center
Таким образом, вы запускаете его из графического интерфейса.
Хорошим вариантом является использование следующих двух команд:
sudo -i #login as root
software-center #run software-center as root
Если вы хотите использовать pkexec software-center
, как @Braiam предложил в его ответ , вы, скорее всего, получите несколько ошибки и команда приводит к дампу ядра (как сказал @gunbert в в этом комментарии ). Правильный способ запустить software-center
как root с использованием pkexec
:
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY software-center
И это нормально, потому что man pkexec
очень ясно в этом смысле:
[...] pkexec will not allow you to run X11 applications as another user since the $DISPLAY and $XAUTHORITY environment variables are not set.[...]
Также см. Почему пользователи никогда не должны использовать обычный sudo для запуска графических приложений?