Quando você precisa editar arquivos do sistema, é comum que você tenha iniciado o Emacs com um usuário normal antes, para que o arquivo fique protegido contra gravação. O que posso fazer para obter privilégios de root? Quero dizer algo como M-x sudo
de dired.
Não quero iniciar o Emacs como superusuário e não quero sair dele.
::
?/su:otheruser@localhost:
, por exemplo./sudo::
é vagabundo abreviado parasudo:root@<hostname>:
Use
find-file
com vagabundo. No prompt/sudo::/etc/ssh/ssh_config
, use sudo e um subshell para abrir esse arquivo com privilégios de root. Quando o sudo é usado pela primeira vez, ele solicita uma senha, mas até que a sessão seja fechada, você pode editar qualquer arquivo com essas permissões, prefixando o/sudo::
comando existente .Veja http://www.gnu.org/software/tramp/ para mais detalhes.
fonte
Se você usar o
ivy
pacote e tiver configuradocounsel-find-file
para substituirfind-file
, uma das "ações ivy" pré-configuradas para você já é editar o arquivo como root. Ohydra
pressionamento de tecla padrão para essa ação ér
.fonte
Hoje existem muitos pacotes que resolvem esse problema (a partir de 2018). Alguns deles são:
sudo-edit
, permite alternar os direitos de edição em um arquivo somente leitura já aberto. BastaM-x sudo
digitar uma senha e pronto. Após muitos anos de uso deste, acho que é o mais conveniente para essa necessidade.sudo-edit
permite abrir um arquivo como qualquer usuário, mas o padrão é o sudo, se não houver nenhum.dired-toggle-sudo
. Foi a primeira solução empacotada que encontrei depois de fazer esta pergunta. Ele é orientado por direção, portanto, se você preferir a versão orientada a arquivos , consulte o primeiro marcador desta lista.fonte
Se você usa o Helm. Você não precisa de nenhum pacote externo / configuração adicional. funciona fora da caixa.
Dentro,
helm-find-files
você pode invocar afind file as root
que destino C-c r. Isso funciona para arquivos ou diretórios emhelm-find-files
sessão.Se você não quiser digitar a senha toda vez que abrir arquivos / diretórios raiz. Coloque a seguinte linha no seu
~/.authinfo.gpg
fonte
fonte