В настоящее время, для всех моих команд, которые требуют корневого доступа, я должен вывести их на командной строке.
Я хотел бы за GUI предложить мне вводить свой пароль, когда sudo требуется, вместо того, чтобы иметь необходимость вывести команды из командной строки.
Там какой-либо путь состоит в том, чтобы включить это? Ранее одна версия рабочего стола Ubuntu имела эту функцию из поля.
Эта версия Ubuntu (что я теперь работаю) я обновил от установки сервера.
Я добавлю, моя учетная запись пользователя уже добавляется к sudo группе. Таким образом я могу выполнить команды такой как sudo gedit
или sudo apt-get
но я не могу установить программное обеспечение в Центре программного обеспечения Ubuntu.
Удобный способ состоит в том, чтобы создать специализированное .desktop
файл или добавить Ваши команды к существующей, спросив Ваш пароль через GUI (gksu). В примере ниже, я добавляю команду для выполнения Gedit и Software Center с sudo полномочиями к средству запуска Gedit. Вы должны будете иметь gksu
установленный для использования этой установки: sudo apt-get install gksu
Копия Gedit .desktop file in
/usr/share/applications / to
~/.local/share/applications':
cp /usr/share/applications/gedit.desktop ~/.local/share/applications/gedit.desktop
и открытый это для редактирования (перетаскивают его на открытое gedit окно)
Ищет строку: Actions=Window; Документ;
Добавляют названия Ваших команд к строке (это не имена, которые Вы будете видеть в своем интерфейсе, только используемый для внутренней ссылки в файле)
Actions=Window;Document;gedit;Ubuntu Software Center;
Добавляют соответствующие разделы у основания файла:
[Desktop Action gedit]
Name=Gedit (with gksu)
Exec=gksudo gedit
OnlyShowIn=Unity;
[Desktop Action Ubuntu Software Center]
Name=Ubuntu Software Center (with gksu)
Exec=gksudo /usr/bin/software-center
OnlyShowIn=Unity;
Близко файл и перетаскивает его на средство запуска
Теперь, можно выполнить gedit и Центр программного обеспечения с sudo полномочиями:
TL; DR: Попытайтесь установить policykit-1
и policykit-1-gnome
пакеты.
Большинство графических утилит системного администрирования в Ubuntu, включая Центр программного обеспечения, может обычно выполняться без sudo
или что-либо вполне как он. Вы просто выполняете их тот же способ, которым Вы запустили любую программу.
Когда это прибывает время для выполнения задачи, требующей полномочий пользователя root, они используют polkit для выполнения необходимых действий. polkit является отдельным механизмом от sudo для разрешения администраторам выполнить действия как корень. Это установлено в настольных системах Ubuntu, но по умолчанию не является частью установок Сервера Ubuntu.
Таким образом нормальное поведение Центра программного обеспечения состоит в том, что можно вызвать его просто как software-center
, это не предложит Вам проходить проверку подлинности в то время, но затем когда Вы скажете этому устанавливать или удалять программное обеспечение, это предложит Вам (графически) проходить проверку подлинности.
Это звучит из Вашего описания как Ваша система, запущенная как система Сервера Ubuntu без GUI, и затем Вы установили GUI. Вероятно, policykit-1 и policykit-1-gnome пакеты не были установлены. Если Вы установите, то polkit, скорее всего, начнет работать на Центр программного обеспечения и другие такие утилиты.
sudo apt-get update
sudo apt-get install policykit-1 policykit-1-gnome
Затем необходимо смочь просто работать:
software-center
(Или выберите Центр программного обеспечения графически как предусмотрено для любой настольной средой, которую Вы установили.)
Если Вы хотите полностью функциональную настольную систему Ubuntu, я рекомендую установить метапакет для любой "разновидности" Ubuntu, в которую Вы хотите повернуть свою систему. В основном, если Вы хотите регулярную настольную систему Ubuntu, устанавливаете рабочий стол человечности.
sudo apt-get update
sudo apt-get install ubuntu-desktop
Это должно заполнить различные разрывы, как не наличие polkit, это идет с установкой более минимального GUI в Вашей системе сервера. С другой стороны, если Вы предпочитаете более минимальный GUI, можно просто установить те polkit пакеты.
Для получения дополнительной информации посмотрите, Как Вы выполняете Сервер Ubuntu с GUI?
sudo
с графической аутентификацией.Если Вы действительно нуждаетесь в командах выполнения как в корне, но получаете графический диалог аутентификации, что Вы ищете, gksudo
(или gksu
). Это обеспечивается gksu пакетом. Это - графический frontend для sudo
.
Обычно gksudo
используется для запуска графических приложений как корня (или некоторый другой пользователь помимо пользователя, запускающего их). Но можно также использовать его для выполнения неграфических команд - если команды могут быть выполнены с sudo
.
Можно работать gksudo
от терминала, но Вы не имеете к. Можно выполнить его от Alt+F2 (команда выполнения) диалоговое окно или вставить его Exec=
строка a .desktop
файл (или любой из других путей Вы запускаете графические программы).
Обратите внимание, что необходимо рассмотреть использование gksudo
запустить графические приложения как корень, даже когда Вы выполняете их от терминала, потому что команды как sudo ...
где ...
графическое приложение, может на самом деле повредить на конфигурации приложения из некорневых пользователей, выполняющих их. (К счастью, это является закрепляемым.) sudo gedit
особенно известно.
Для получения дополнительной информации о проблеме с sudo
для графических приложений и что сделать вместо этого, см.:
man sudo
для -H
и -i
опции. sudo -H ...
и sudo -i ...
не проходите проверку подлинности графически, но как gksudo ...
у них нет проблем плоскости sudo ...
.gksudo
хорошо работает для того, чтобы запустить и графические и неграфические программы. Необходимо, вероятно, использовать это.
Но альтернатива, с помощью polkit вместо sudo
и только работая на неграфические программы, pkexec
.
Например, если Вы работаете pkexec touch /root/foo.txt
, Вам предложат с графическим диалогом аутентификации, и если аутентификация успешно выполняется, touch /root/foo.txt
выполняется, создавая (или обновляясь) foo.txt
в /root
папка.
pkexec
будет использовать неграфическое диалоговое окно, требуя терминала, если это не может создать графическое диалоговое окно. Но это вряд ли произойдет при выполнении его через услугу, предоставленную графической средой оболочки или настольной средой.pkexec
работать только на неграфические программы? На самом деле это также запускает графические программы, но только если polkit был особенно настроен для разрешения его - который обычно не делается. Посмотрите man pkexec
(и восходящая версия, со снимками экрана), этот ответ и тот ответ для некоторых деталей, если Вам интересно.sudo
по сравнению с polkit (некоторые технические детали, только если Вам интересно),Новое gksu
/gksudo
будет использовать polkit вместо sudo
сделать ее работу, хотя эта версия не была широко принята. Я главным образом поднимаю его для рекомендации README
файл в его исходном коде (записанный Gustavo Noronha Silva), который объясняет важные различия между sudo
и polkit. Заключить в кавычки из него кратко:
PolicyKit решает проблему приложения, бывшего нужного в более высоких полномочиях путем предоставления услуг, чтобы позволить пользователям аутентифицировать себя и чтобы приложения проверили информацию об аутентификации и авторизации. Приложение должно быть структурировано способом, что вся привилегированная операция сделана (предпочтительно) маленьким D-автобусным-сообщением, которым управляет непривилегированный код. Все "действия", которые выполняются соответствующие полномочия потребности, которые обрабатываются через Policykit.
4. Почему поддерживают gksu?
Так, это по существу делает gksu ненужный, так как приложения больше не должны работать как привилегированный пользователь, и аутентификация пользователя сделана Подлинным Агентом PolicyKit. Но приложения должны быть пересмотрены для принятия этой новой структуры, и существуют некоторые случаи, в, которых что Вы хотите, действительно что-то, что запускает программы как корень.
Эти проблемы лежат в основе ситуации, я полагаю, что Вы находитесь в:
gksu
/gksudo
.gksudo
в настоящее время в Ubuntu традиционный, который использует sudo
).