Когда вам нужно редактировать системные файлы, обычно вы запускаете Emacs с обычным пользователем, поэтому файл будет защищен от записи. Что я могу сделать, чтобы получить права root? Я имею в виду что-то вроде M-x sudo
от Dired.
Я не хочу запускать Emacs как суперпользователь и не хочу выходить из него.
::
?/su:otheruser@localhost:
, например./sudo::
является сокращением бродяги дляsudo:root@<hostname>:
Используйте
find-file
с бродягой. В приглашении/sudo::/etc/ssh/ssh_config
будет использовать sudo и подоболочку, чтобы открыть этот файл с правами суперпользователя. Когда sudo используется впервые, он запрашивает пароль, но до закрытия этого сеанса вы можете редактировать любой файл с этими разрешениями, используя префикс существующей/sudo::
команды.См. Http://www.gnu.org/software/tramp/ для получения более подробной информации.
источник
Если вы используете
ivy
пакет и настроили егоcounsel-find-file
на заменуfind-file
, то одно из предварительно настроенных для вас «действий плюща» - это отредактировать файл как root.hydra
Клавиша по умолчанию для этого действияr
.источник
Сегодня существует множество пакетов, которые решают эту проблему (по состоянию на 2018 год). Некоторые из них:
sudo-edit
, позволяет переключать права редактирования уже открытого файла только для чтения. ПростоM-x sudo
и введите пароль, и все готово. После многих лет использования этого, я думаю, что это более удобно для этой необходимости.sudo-edit
позволяет открыть файл как любой пользователь, но по умолчанию это sudo, если ничего не указано.dired-toggle-sudo
, Это было первое упакованное решение, которое я нашел после того, как задал этот вопрос. Он ориентирован на Dired, поэтому, если вы предпочитаете файлово- ориентированную версию, смотрите первый пункт этого списка.источник
Если вы используете шлем. Вам не нужно никаких внешних пакетов / дополнительных настроек. это работает из коробки.
Внутри
helm-find-files
вы можете ссылаться наfind file as root
которые связаны C-c r. Это работает для файлов или каталогов вhelm-find-files
сеансе.Если вы не хотите вводить пароль каждый раз, когда открываете корневые файлы / каталоги. Поместите следующую строку в ваш
~/.authinfo.gpg
источник
источник