Запуск софт-центра из командной строки от имени пользователя root

Я не использую 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". Так что я думаю, что возникает вопрос, кто-нибудь знает, как заставить его запускаться автоматически при входе в систему?

Спасибо!

4
задан 10 January 2014 в 19:15

3 ответа

Вы не должны запускать software-center как root. Вы должны просто запустить его как своего собственного пользователя. При установке пакета вам будет предложено ввести диалоговое окно policykit с запросом пароля. Разве этого не происходит?

0
ответ дан 10 January 2014 в 19:15

Вместо этого вам нужен pkexec:

pkexec software-center

Таким образом, вы запускаете его из графического интерфейса.

0
ответ дан 10 January 2014 в 19:15

Хорошим вариантом является использование следующих двух команд:

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 для запуска графических приложений?

0
ответ дан 10 January 2014 в 19:15

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

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