Как я могу создать новую команду "gksu" на основе pkexec?
Когда я гуглю "gksu gedit", одна из лучших записей ( Как запустить gedit и nautilus от имени root) сообщает, что gksu
использование осуждается:
gksu не обновлялся с 2009 года и больше не рекомендуется. Фактически, Ubuntu больше не поставляется с gksu по умолчанию (хотя он может быть установлен для многих из вас, потому что некоторые приложения все еще зависят от него), и в какой-то момент он может быть даже полностью удален.
Ссылка на AskUbuntu ( почему gksu больше не устанавливается по умолчанию?) Предлагает pkexec
следует использовать вместо этого, но не предоставляет четких и кратких шагов для этого.
Как я могу использовать pkexec в новом скрипте оболочки оболочки под названием gsu
который поддерживает оба gedit
а также nautilus
?
Я чувствую сценарий обертки под названием gsu
является наиболее подходящим, потому что моя "мышечная память" должна набирать gksu
все время, и я не хочу набирать pkexec
вместо.
Дополнительно хотелось бы этих надоедливых gtk
предупреждающие сообщения исчезнуть. Также я хотел бы, чтобы терминал сразу же возвращал запрос вместо ожидания завершения работы редактора или файлового менеджера.
AU Duplicates: я искал много вопросов и ответов, но никто не спрашивает (или не предлагает, как) дать полное решение для gsu
скрипт-обёртка для вызова pkexec
И установить все необходимые наборы политик И избавиться от надоедливых предупреждений gtk И сразу же получить подсказку терминала... Все в одном ответе.
1 ответ
Прежде чем вы сможете использовать pkexec
с gedit
а также nautilus
вам нужно скопировать правила polkit для их поддержки. Это будет автоматически сделано в Ubuntu 17.04, но в то же время вам нужно wget
их.
Комплект Наутилуса
wget https://raw.githubusercontent.com/hotice/webupd8/master/org.gnome.nautilus.policy -O /tmp/org.gnome.nautilus.policy
sudo cp /tmp/org.gnome.nautilus.policy /usr/share/polkit-1/actions/
Gedit Policy Kit
wget https://raw.githubusercontent.com/hotice/webupd8/master/org.gnome.gedit.policy -O /tmp/org.gnome.gedit.policy
sudo cp /tmp/org.gnome.gedit.policy /usr/share/polkit-1/actions/
"gsu" bash скрипт для замены "gksu"
Создание сценария bash - это один из двух способов вызова pxexec
используя несколько знакомый термин gsu
, Создайте этот файл по одному из ваших путей:
#!/bin/bash
# Usage: gsu gedit file1 file2...
# -OR- gsu natuilus /dirname
# & is used to spawn process and get prompt back ASAP
# > /dev/null is used to send gtk warnings into dumpster
COMMAND=$1 # extract gedit or nautilus
pkexec "$COMMAND" "${@:2}" &> /dev/null&
Сохраните файл и пометьте его как исполняемый chmod +x gsu
Теперь вместо того, чтобы печатать gksu
Для редактирования конфигурации Grub вы можете использовать:
gsu gedit /etc/default/grub
"gsu" как псевдоним "pkexec", чтобы заменить "gksu"
Создание псевдонима - второй вариант вызова pxexec
используя несколько знакомый термин gsu
, Открыть файл ~/.bashrc
и искать alias
, Вы увидите это:
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
После последней строки добавьте это:
alias gsu='pkexec'
Сохраните файл и выйдите.