Как мне запустить Nautilus от имени пользователя root?

50

У меня проблема с Наутилусом в Ubuntu 12.04 LTS.

Когда я запускаю команду gksu nautilus /, появляется окно запроса пароля, и я набираю свой пароль суперпользователя, затем поле пароля исчезает, а Nautilus не открывается.

Когда я пытаюсь открыть Nautilus как обычный пользователь с помощью команды nautilus, папка открывается.

Когда я пытаюсь в терминале

$ sudo nautilus

Я получил следующую ошибку

$ sudo nautilus /

** (nautilus:8523): WARNING **: Command line `dbus-launch --autolaunch=2c8ce9b7da2257c2609b749700000007 --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.\n Could not parse arguments: Cannot open display:

Как я могу исправить эту ошибку?

Фо лебедь
источник
Вы также можете попробовать установить nemo (браузер файлов linux mint), который имеет опцию «открыть как корень».
sudo su nautilus это тоже сработало для меня, при условии, что вы установили свой пароль root и
вошли

Ответы:

43

Пытаться:

gksudo nautilus

Затем введите свой пароль, как при использовании sudo.

Страница руководства Gksudo: http://linux.die.net/man/1/gksudo

jaywink
источник
да, я ввожу свой пароль, но окно папок не открывается.
Фо лебедь
1
Я использую Ubuntu 12.04 LTS 2 недели назад, и я буду в порядке команды gksu nautilus. и вчера я сталкиваюсь с этой проблемой, набираю команду "gksu nautilus /" и набираю свой пароль. окно папки не открывается .. поэтому я не могу отредактировать какой-либо файл в корне.
Pho Swan
как насчет: "DISPLAY =: 0 gksudo nautilus" или режим отладки "gksudo -d nautilus"
jaywink
7
Gksudo не работает для Ubuntu 17 и позже!
Ань Ти Динь
Ответ @elomage работал на 19.10.
Bmello
35

Как запустить GeditИ Nautilusкак администратор с pkexecвместо gksuилиgksudo

Метод GVfs протестирован в Ubuntu 18.04

Используйте административный сервер GVfs, просто добавьте admin://в начало полный путь к предпочитаемому каталогу.

Откройте Nautilus обычным способом и нажмите Ctrl+, Lчтобы разрешить ввод в адресной строке, а затем введите, например, admin:///usr/чтобы открыть /usr/каталог.

Введите пароль администратора при появлении запроса, и вы увидите что-то вроде этого:

введите описание изображения здесь

В этот момент при нажатии на папки с замками откроются права администратора.

Вы можете пометить папку, которая открыта с admin:///префиксом. Когда вы нажмете на такую ​​закладку позже, вам может быть снова предложено ввести пароль администратора.

В качестве альтернативы из терминала откройте nautilus с аргументом admin:///usr/:

nautilus admin:///usr/

открыть каталог / usr / от имени пользователя root в Nautilus.

Редактирование текстовых файлов с правами администратора

Если в Nautilus, открытом таким образом, щелкнуть текстовый файл, требующий прав администратора, вам снова будет предложено ввести пароль, прежде чем он откроется в редакторе по умолчанию, таком как Gedit .

Если вы используете Ubuntu 17.10

Следующий метод не работает с Wayland по умолчанию. Есть несколько обходных путей. Самый простой - не использовать Wayland. Как вы переключаетесь с Wayland обратно на Xorg в Ubuntu 17.10? Другие альтернативы описаны в разделе Почему gksu / gksudo или запуск графического приложения с sudo работают с Wayland?

Ubuntu по умолчанию вернется к Xorg в 18.04 LTS, и тогда обходные пути не понадобятся.

Оригинальный ответ

Источник: WebUpd8

gksuне обновлялся с 2009 года и больше не рекомендуется . Фактически, Ubuntu больше не поставляется с gksu по умолчанию (хотя он может быть установлен для многих из вас, потому что некоторые приложения все еще зависят от него), и в какой-то момент он может быть даже полностью удален.

Nautilus adminдобавляет файлы PolicyKit для Nautilus и Gedit, и это позволяет открыть файл или папку из Nautilus как root с помощью PolicyKit:

Чтобы установить Nautilus Adminв Ubuntu, откройте терминал, нажав Ctrl+ Alt+, Tи используйте следующую команду:

sudo apt-get install nautilus-admin

А для перезапуска Nautilus используйте одну из следующих команд:

nautilus -q или же killall nautilus

После этого, когда вы щелкнете правой кнопкой мыши по папке, вы увидите:

введите описание изображения здесь

Если вы щелкните правой кнопкой мыши на текстовом файле, редактируемом Gedit, вы увидите:

введите описание изображения здесь

Затем вам будет предложено ввести пароль:

введите описание изображения здесь

Связанный вопрос: «Открыть в терминале» не работает на Nautilus от имени root

Наконец, установка nautilus-adminтакже позволяет открыть nautilus от имени пользователя root из командной строки. Используйте следующую команду вместо gksuили gksudo:

pkexec nautilus 

открыть наутилус как root.

Надеюсь это поможет

user68186
источник
К сведению, после установки nautilus-adminи запуска $ nautilus -qон генерирует 5 сообщений об ошибках в Ubuntu 16.04.3 с ядром 4.14.19, первое из которых(nautilus:14964): GLib-GIO-CRITICAL **: g_dbus_interface_skeleton_unexport: assertion 'interface_->priv->connections != NULL' failed
WinEunuuchs2Unix
@ WinEunuuchs2Unix Я получаю те же 5 сообщений об ошибках. Я удалил nautius-adminи все еще получаю эти ошибки. , Поэтому я не могу проверить, вызваны ли ошибки nautilus-admin. С другой стороны, killall anutilus убивает его без каких-либо ошибок. наконец, я получаю другую ошибку в Ubuntu 17.04.
user68186
Я должен отметить, adminработает отлично.
WinEunuuchs2Unix
Когда я нажимаю Open as Administratorна папку, он спрашивает пароль, а затем ничего не происходит (Ubuntu 17.10 Gnome). Есть ли способ это исправить?
Павел
Используйте X.org, а не Wayland.
user68186
15

При открытии Nautilus с правами суперпользователя лучше всего использовать команду

gksudo

если ваша корневая учетная запись не разблокирована, и в этом случае Ubuntu препятствует этому.

Причина "gk" заключается в том, что sudoсам по себе не выполняет необходимые действия автоматически для правильного запуска графических приложений от имени другого пользователя.

Однако, например, если вы работаете в системе KDE, такой как Kubuntu, вы можете выполнить команду

kdesudo

ps Не оставляйте свое корневое окно Nautilus открытым, когда вы его не используете, а затем забудьте об этом, поскольку использование окна, о котором вы не знаете, является ли root плохой идеей.

Для получения дополнительной информации см. Справочную страницу Ubuntu gksudo здесь .

philipballew
источник
К сожалению, не работает в Ubuntu 17.10:Failed to run nautilus as user root. Unable to copy the user's Xauthorization file.
Павел
устарел в 18.04.
somethis
Ответ @elomage работал на 19.10.
Bmello
10

Если вы обнаружите, что часто открываете nautilus от имени пользователя root, я бы порекомендовал добавить эту опцию в контекстное меню в Unity: (она использует ту же команду, что и верхний ответ gksu nautilus).

Вам нужно будет отредактировать *.desktopфайл, чтобы добавить пункт меню, и у вас есть два варианта:

  • /usr/share/applications/nautilus.desktop (требует прав root для редактирования) - опция меню будет добавлена ​​для всех пользователей. Обратите внимание, что вам может потребоваться повторно отредактировать этот файл, добавив параметр, если происходит обновление для Nautilus, которое перезаписывает ваши изменения.
  • ~/.local/share/applications/nautilus.desktop (Если вы не можете найти его там, сделайте дубликат найденного в нем /usr/share/applications/и сохраните его в этом новом месте). Параметр меню будет доступен только для указанного пользователя и считается «лучшей практикой». Обратите внимание, что если вы уже прикрепили его к панели Unity, вам нужно будет выбрать Unlock from Launcherсуществующий значок Nautilus (по умолчанию отображается как именованный Files), а затем повторно добавить свою «пользовательскую» версию. Эти изменения должны остаться, даже если Наутилус получит обновление.

Отредактируйте текстовый файл nautilus.desktop, добавив следующий блок кода (вы можете использовать существующие два блока в качестве шаблона):

[Desktop Action RootWindow]
Name=Open a Root Window
Exec=gksu nautilus
OnlyShowIn=Unity;

Затем добавьте новое действие в список (должно быть около строки 18 текстового файла):

Actions=Window;RootWindow;

Теперь, щелкнув правой кнопкой мыши окно текстового редактора в Unity, открывается новая удобная опция:

Ubuntu Unity: откройте Nautilus как корень

IQAndreas
источник
Я пробовал это, за исключением файла nautilus.desktop, которого нет в моем Ubuntu 15.10!
@ IhabAbdel-Rahim Это странно, он существует у меня в /usr/share/applications/nautilus.desktop, и я только что сделал новую установку месяц назад.
IQAndreas
5

"sudo nautilus" работает для меня. Вот несколько альтернатив :

Войдите в режим суперпользователя с помощью «sudo su» в терминале (запросит ваш пароль), затем выполните команды оттуда:

sudo su
nautilus

Другой альтернативой является использование чего-то другого для исследования файлов, чем nautilus, что не требует графической среды. GNU Midnight Commander - mcприходит на ум. Вы можете установить и запустить его так:

sudo apt-get install mc
mc

Ваши сообщения об ошибках предполагают, что рут "Не удается открыть дисплей". Причиной может быть то, что среда DISPLAY неправильно настроена. Вы можете проверить это из терминала следующим образом:

printenv | grep DISPLAY

Вы должны увидеть что-то вроде DISPLAY=:0.0в ответе. Если нет, сначала позаботьтесь о среде отображения корня.

elomage
источник
Благодарю. "sudo nautilus" не работал на 19.10, но "sudo su / nautilus" работал.
Bmello
2

Полностью-графический интерфейс

Команда не нужна! Вот способ GUI:

  1. Откройте Nautilus одним из следующих способов:

    • Нажмите Super key и найдите «Файлы» (или «Наутилус»).

    • Откройте « Действия» и найдите «Файлы» (или «Наутилус»).

  2. На боковой панели (слева) нажмите «Другие местоположения».

  3. Внизу Nautilus появится поле адреса с текстом «Введите адрес сервера ...». Введите admin:(или admin:///) и нажмите Enter (или нажмите кнопку «Подключить»).

  4. Введите пароль пользователя root при появлении запроса.

Наслаждайтесь работой в качестве администратора (но будьте очень осторожны)!

Примечание . Преимущество использования этого способа перед другими заключается в том, что вы можете безопасно переключаться между root и non-root. Вы можете использовать Nautilus как пользователь root и как пользователь без полномочий root (т.е. сам пользователь) в двух отдельных вкладках. Таким образом, вы будете уверены, что, например, вы не создадите файл в своем домашнем каталоге с правами root.

Добавьте его в закладки

Примечание . Добавляя проводник администрирования в закладки, иногда Nautilus запрашивает пароль root при его открытии.

  1. Следуйте инструкциям в разделе выше. Перейдите к выбранному каталогу, если необходимо, например /bin.

  2. Используйте один из следующих способов:

    • Используйте этот ярлык: Ctrl+ D.

    • На верхней панели инструментов нажмите кнопку «еще» (с тремя точками). В появившемся выпадающем меню нажмите кнопку «Добавить в закладки». Кнопка находится в центре первых трех установленных кнопок.

    • В строке адреса нажмите «Корень администратора» или «/» (то есть папку, в которую вы хотите добавить закладку). В появившемся списке нажмите «Добавить в закладки».

  3. Чтобы переименовать созданную вами закладку, щелкните ее правой кнопкой мыши и выберите «Переименовать ...». Теперь вы можете ввести для него новое имя, например «Root».

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

Надеюсь, это поможет!

MAChitgarha
источник
1
Отличное решение с закладкой! Спасибо
Андреа Лиджиос
0

Откройте терминал и введите следующее:

sessionfile=$(find "${HOME}/.dbus/session-bus/" -type f)
export $(grep "DBUS_SESSION_BUS_ADDRESS=" "${sessionfile}" | sed '/^#/d')

Попробуйте запустить вашу команду снова ( sudo nautilus).

зеленый
источник
0

Если вы используете Ubuntu Live или Persistent install, sudo nautilus в порядке, все на диске, кроме домашнего, уже принадлежит пользователю root и доступно только для чтения.

Если вы создадите, скопируете или измените файл или папку, то внутри домашней папки на постоянном диске от имени root с помощью sudo nautilus права будут восстановлены владельцу при перезагрузке. Если вы создаете, копируете или изменяете файл на другом диске с помощью sudo nautilus, разрешения возвращаются владельцу после выключения USB-диска.

CSCameron
источник
Нет, домашний каталог пользователя по умолчанию ubuntuпринадлежит этому пользователю. Если кто-то использует sudoграфические приложения, он все равно может испортить разрешения (однако они восстанавливаются после перезагрузки, потому что изменения не сохраняются). -1
Дэвид Фёрстер
Вы говорите, что нельзя использовать sudo nautilus при установке Live или Persistent, что это может повредить что-то или навсегда испортить разрешения? Можете ли вы быть немного более конкретным? Что самое худшее, что может случиться? Я использовал sudo nautilus много раз, работая с живыми / постоянными установками, так как gksu был удален, и у меня никогда не было проблем с разрешениями. Я провел последние четыре часа, играя в постоянную флешку 17.04 и sudo nautilus, и не смог создать проблему.
CSCameron
Я говорю, что в принципе живая система ничем не отличается от правильной установки в отношении побочных эффектов sudo nautilus, однако без настойчивости эффекты легко меняются при перезагрузке. Если вы не столкнулись с нежелательным побочным эффектом, это не является достаточным доказательством того, что его нет. Фактически, этот побочный эффект является хорошо документированным поведением, которое может появиться при правильных обстоятельствах, которые не зависят от обычной установки Ubuntu.
Дэвид Фёрстер
Да, пожалуйста, я прошу вас рассказать мне хорошо документированное поведение, которое я могу повторить, чтобы убедить себя, что вы правы.
CSCameron
-2

Отредактируйте /etc/profileс помощью:

sudo nano /etc/profile

Затем добавьте это в конец файла:

xhost +local:all

Ctrl+ Xвыйти.
Yчтобы подтвердить.
Enterподтвердить путь.
Готово.

Запустите что-нибудь как root.

Джулиан Исмаэль Луна Ареча
источник