Я установил Ubuntu 17.10. Теперь у меня проблемы с gksu
:
$ gksu -dg synaptic
No ask_pass set, using default!
xauth: /tmp/libgksu-HgUjgQ/.Xauthority
STARTUP_ID: gksu/synaptic/8760-0-alex-XPS-15-9530_TIME4974977
cmd[0]: /usr/bin/sudo
cmd[1]: -H
cmd[2]: -S
cmd[3]: -p
cmd[4]: GNOME_SUDO_PASS
cmd[5]: -u
cmd[6]: root
cmd[7]: --
cmd[8]: synaptic
buffer: -GNOME_SUDO_PASS-
brute force GNOME_SUDO_PASS ended...
Yeah, we're in...
Unable to init server: Could not connect: Connection refused
(synaptic:8767): Gtk-WARNING **: cannot open display: :1
xauth: /tmp/libgksu-HgUjgQ/.Xauthority
xauth_env: (null)
dir: /tmp/libgksu-HgUjgQ
Если я не использую -g
, диалоговое окно пароля отключено. Так выглядит проблема с созданием tty для root.
Любой совет?
gksudo
не будет работать в сеансе Wayland , вы можете переключиться на сеанс Xorg и попробовать.gksu -dg synaptic
Вы никогда не должны делать это в любом случае.Ответы:
Обратите внимание, что этот ответ специфичен для версий Ubuntu, использующих Wayland, 17.10 является первым выпуском, использующим Wayland по умолчанию.
Это особенность, а не ошибка! Особенностью Wayland является то, что вы не можете запускать графические приложения как root с терминала.
Основные обсуждения, конечно, на сайтах Fedora. См. Ошибку Fedora № 1274451, а графические приложения нельзя запускать с правами root на wayland (например, gedit, beesu, gparted, nautilus) в Ask Fedora . Но на сайтах Ubuntu также есть некоторые обсуждения (разработчики Ubuntu не уверены в использовании Wayland по умолчанию в 17.10 - OMG! Ubuntu ).
Отчет об ошибке в Ubuntu: невозможно запустить pkexec-приложения в сеансе Wayland
Возможный обходной путь - если вы редактируете системные файлы с помощью графического редактора (такого как gedit), используйте инструмент командной строки, такой как
nano
илиvim
илиemacs
.nano
как правило, легче для новых пользователей,vim
более мощный и имеет больше функций, см. этот учебник Vim или аналогичный.В любом случае, если вы действительно хотите или вам нужно запускать графические приложения от имени пользователя root , установите
xhost
сначала, что приводит к отказу от Xserver.Чтобы установить разрешения, выполните:
Когда вы закончите, чтобы удалить разрешения
Вы можете добавить графический / рабочий стол, чтобы сделать это в соответствии с этим синаптическим отчетом об ошибках.
Вы можете добавить эту команду xhost в .bashrc, но я бы посоветовал пару псевдонимов
Вы можете назвать псевдонимы как хотите.
Подробнее см .:
Вернитесь к Xorg
Если вы предпочитаете Xorg по какой-либо причине, вы можете выбрать запуск Xorg при входе в систему.
Посмотрите, как вы переключаетесь с Wayland обратно на Xorg в Ubuntu 17.10?
источник
xhost +local:
Решения
В Wayland часто сложно запускать прикладные программы с графическим интерфейсом с повышенными (sudo -H, gksu ...) разрешениями. Это хорошая идея, чтобы делать такие задачи с помощью инструментов командной строки.
Но есть обходные пути, если у вас есть инструмент с графическим интерфейсом, который хорошо работает для вас и требует повышенных разрешений. (Я использую два таких стандартных инструмента: менеджер пакетов Synaptic
synaptic
и инструмент разбиения Gpartedgparted
. Я также использую MakeUSB для создания загрузочных USB-накопителейmkusb
, но он может запускать части, для которых требуются повышенные разрешения, без графики.)xhost
а такжеsudo -H
Существует обходной путь, позволяющий использовать графические прикладные программы, принадлежащие другим пользователям, а не зарегистрированному пользователю в Wayland,
gksu
иgksudo
не связаны со стандартной Ubuntu и не работают здесь, но они работают в Xorg.Вместо этого вы можете использовать
Это хорошая идея, чтобы впоследствии предотвратить графические прикладные программы, принадлежащие другим пользователям, а не зарегистрированным пользователям,
административный сервер gvfs
В Ubuntu 17.10 (gvfs> = 1.29.4) вы можете использовать административную часть gvfs. Обратите внимание, что вам нужен полный путь,
Теоретически, бэкэнд-метод gvfs admin (который использует polkit) лучше и безопаснее (чем
xhost
иxudo -H
), независимо от используемого вами пользовательского интерфейса.Вы не запускаете все приложение как root. Повышение привилегий происходит только тогда, когда это строго необходимо. Смотрите следующую ссылку и ссылки из нее,
Ответ sisco311 в ветке форумов Ubuntu: «Как лучше всего использовать gedit в качестве пользователя root»?
Это пост № 4. Смотрите также пост № 6 в той же теме.
Наутилус-админ
Также возможно использовать
nautilus-admin
для файловых операций с повышенными разрешениями и использоватьgedit
с повышенными разрешениями. Это описано в следующем ответе AskUbuntu,Временный доступ рута к рабочему столу Wayland через функцию
gks
Пожалуйста, избегайте
sudo GUI-program
. Это может привести к тому, что система перезапишет файлы конфигурации для вашего обычного идентификатора пользователя сroot
конфигурацией пользователя и установит владельца и разрешения для соответствияroot
и блокировки вашего обычного идентификатора пользователя. Вы должны запускать приложения с графическим интерфейсомsudo -H
, которые записывают файлы конфигурации вroot
домашний каталог/root
. Пример:Но есть риск, что вы забудете
-H
. Вместо этого вы можете создать функцию, напримерgks
и храните его в своих
~/.bashrc
псевдонимах. Тогда вы можете запуститьтаким же образом, как вы использовали
gksudo
раньше.тестирование
Вы можете проверить , как
sudo
,sudo -H
иgks
работать со следующими командамии конечно
согласно примеру в предыдущем разделе.
Метод, который работает через меню Alt-F2 и Gnome Shell
Вместо добавления простой однострочной функции
~/.bashrc
вы можете создать систему, которая работает также без bash. Это может быть удобно в использовании, но сложнее в настройке. Обратите внимание, что вам следует установить только одну из альтернатив, потому что однострочная функция будет мешать работе этой более сложной системы.Три файла
Скрипт
gks
:Файл рабочего стола
gks.desktop
:Файл значка
gks.svg
выглядит следующим образом:Вы можете скачать файл значка или архив со всеми тремя файлами по этой ссылке,
wiki.ubuntu.com/Wayland/gks
Скопируйте [извлеченные или скопированные и вставленные] файлы в следующие места,
Выйдите из системы, войдите в систему или перезагрузите компьютер, и там должен быть значок рабочего стола. Он будет работать из окна терминала, как в простом решении с функцией.
Alt F2 коробка:
Меню Gnome Shell:
gks console и gparted:
Пользовательский скрипт и файл рабочего стола
Если у вас есть только несколько приложений с графическим интерфейсом, которым требуются повышенные разрешения, вы можете создать для них пользовательские сценарии и файлы рабочего стола и не вводить команду (имя приложения). Вам нужно только ввести пароль, что не сложнее по сравнению с предыдущими версиями Ubuntu (вы должны ввести пароль в любом случае).
Пример с простой программой GUI,
xlogo
которая идет в комплекте с программным пакетомx11-apps
:Скрипт
gkslogo
(упрощенный по сравнению сgks
),Файл рабочего стола
gkslogo.desktop
:Я был ленив и использовал тот же файл значка
gks.svg
Скопируйте [скопированные и вставленные] файлы в следующие места,
gks [logo] консоль и xlogo:
источник
/etc/xdg/autostart/xhost.destop
как также предлагалось), потому что он заканчивается восстановлением исходной среды? И мы можем спокойно заменитьsudo -H
сgksu
в псевдониме, чтобы использовать вставки в .desktop файлы и т.д.?sudo -H
сgksu
в функции, он может работать лучше для ваших приложений.gks
аббревиатуре, я настроилgsu
использовать наборы политик (новое будущее для16.04
) дляgedit
иnautilus
. Когда выйдет 18.04, я думаю, что просто назовуxhost +si...
скрипт-обертку,gksu
который никогда не установлю из пакетов, начинающихся с18.04
.sudo -E gedit
. В настоящее время существует ошибка, приgdm
которой он настраивает сервер совместимости Xwayland X11, чтобы он не поддерживал XAUTHORITY, что требуется для работы приложений X11, работающих от имени пользователя root. Родные приложения Wayland, работающие от имени root, работают нормально.Лучше проверить, действительно ли Wayland работает первым, прежде чем предоставить права root
источник
Если вы используете Ubuntu 17.04 или выше, рекомендуется использовать бэкэнд администратора gvfs . Просто добавьте admin: // в начало полного пути к файлу, который вы хотите открыть в приложении, таком как текстовый редактор или приложения «Файлы» .
Например, чтобы изменить настройки загрузки, откройте
Этот метод использует PolicyKit и будет по-прежнему работать с настройками Wayland по умолчанию в Ubuntu 17.10, а sudo и gksu для приложений с графическим интерфейсом - нет.
источник
gedit admin:
), очень странно с nautilus (почти бесполезно), и полностью провалилось с synaptic . Любые идеи?admin:///etc/
Для приложений, использующих su-to-root и pkexec, вы можете добавить этот код
/etc/xdg/autostart
(см. Мой комментарий на панели запуска ) на свой страх и риск:Другие корневые приложения также не работают на Wayland (см. Ошибку 1713313 и ошибку 1713311 ).
Если вам не нужно постоянное решение, вы можете использовать метод @ ravery:
источник
Если приложение поддерживает Wayland API, вы можете запустить его как root с помощью
sudo -EH application
команды.Ключ -E указывает sudo сохранять переменные среды (а также WAYLAND_SOCKET и XDG_RUNTIME_DIR), необходимые для приложений Wayland. Всегда лучше использовать эту опцию, чем хакерский xhost, предложенный в других ответах. xhost позволяет запускать приложение из-под оболочки X, которая менее безопасна, чем использование Wayland (общий буфер обмена, ведение кейлог и т. д.). Трюк sudo -EH не будет работать с приложением, которое не было переписано для wayland, как, например, gparted, но будет работать с gedit и т. Д.
источник
На самом деле следующий код почти работает:
(прошу прощения за наивный стиль bash-кодирования - я новичок в этом вопросе). T не работает стабильно из Alt-F2, если последний выбор не был терминалом; в этом случае мы просто не можем установить фокус на диалоге пароля. Похоже, он работает из меню Gnome. Во всяком случае <1. Это не 100% решение. 2. Мне кажется, что архитекторы Ubuntu думают, что мы не должны искать какие-либо обходные пути ..
источник
"$@"
(а не"$1" "$2" ...
).