
Была установлена последняя версия Ubuntu 17.04, и я не смог запустить команду sudo nautilus, она выдавала ошибку. Затем я поискал в Google и попробовал sudo -E nautilus, и это сработало. В чем разница между ними.
решение1
Thesudo
страница руководстваописывает -E
так:
Указывает политике безопасности, что пользователь хочет сохранить существующие переменные среды. Политика безопасности может вернуть ошибку, если у пользователя нет разрешения на сохранение среды.
Обычно sudo
очищает среду, которую он предоставляет команде, которую он запускает; -E
отключает ее (если пользователю разрешено). Вы можете увидеть разницу, сравнив выходные данные sudo env
и sudo -E env
.
Nautilus требуется ряд переменных среды для поиска нужной ему информации или доступа к другим процессам, с которыми ему нужно взаимодействовать; очистка по умолчанию не позволяет этому работать.