Замена gksudo на pkexec: редактор не запускается в текущей папке

Я пытаюсь быть хорошим мальчиком и перестать использовать gksudoтем более, что он только что осиротел в ежедневных сборках 18.04 (обратите внимание, этот вопрос не относится к 18.04).

В старые добрые времена использования gksudoОбычно я перехожу к папке, содержащей файл, который я хочу отредактировать (я использую pcmanfm), затем в меню выбираю Инструменты / Открыть текущую папку в терминале. Тогда я бы набрал gksudo leafpad [file-I-wish-to-edit] в недавно открытом терминале.

Использование информации в очень полезном ответе Как настроить pkexec? Я установил свой.bash_aliases и теперь могу набрать pkexec leafpad [file-I-wish-to-edit] в недавно открытом терминале, и я не получаю никаких ошибок. К сожалению, хотя я получаю пустой файл вместо того, что я хотел. Я решил, что это потому, что листовка смотрит в /root вместо папки, в которой я хотел быть.

Как я могу сохранить свой ореол, продолжать использовать pkexec вместо gksudoИ все же сохранить функциональность, к которой я привык?

3 ответа

Решение

Как уже упоминалось в комментариях, gksu был "осиротел" в 16.04, но вы все еще можете установить его с помощью:

sudo apt install gksu

Тем не менее, я сделал сценарий оболочки для pkexec давным-давно это могло бы представлять некоторый интерес:

#!/bin/bash

# Usage: gsu gedit file1
#  -OR-  gsu natuilus /dirname

COMMAND="$1" # extract gedit or nautilus
ABSOLUTE_NAME=$(realpath "$2")

pkexec "$COMMAND" "$ABSOLUTE_NAME"

#log-file "$ABSOLUTE_NAME" ~/bin/log-gsu-"$COMMAND"

Я назвал обертку gsu как короткая форма gksu, log-file скрипт - это отдельный проект, который я закомментировал в скрипте для этого ответа.

Вам нужно настроить gedit а также nautilus наборы политик, прежде чем вы сможете использовать этот сценарий в качестве ссылки на комментарии. В вашем случае вам нужно будет установить комплект политики для leafpad,

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

Я использую эту альтернативу в настольных средствах запуска или скриптах bash, чтобы сохранить ощущение gksu:

bash -c 'sudo -i nautilus;'

... хотя здесь нет pkexec - пожалуйста, не говорите моему администратору.

Используйте что-то вроде pkexec thunar %f (thunar - файловый менеджер xfce и %f для текущего пути - работает с Bionic XFCE так же, как gksu).

Другие вопросы по тегам