Tüm çek Öncelikle Sudo sizin eshell oturumda yürütülür. Sisteminizin sudo olabilir:
$ which sudo
/path/to/system/wide/sudo
$ which *sudo
/path/to/system/wide/sudo
veya eshell sudo:
$ which sudo
sudo is a compiled Lisp function in `em-tramp.el'
$ which eshell/sudo
eshell/sudo is a compiled Lisp function in `em-tramp.el'
Eshell sudo , TRAMP'ın su veya sudo yöntemini kullanır. Bu komutlar, varsayılan olarak devre dışı bırakılan eshell-tramp modülündedir.
Eshell sudo davasını ele alacağım, çünkü Emacs'ın içinde ve OS dağıtımınıza bağlı değil:
Eshell-tramp modülünü yükleyin:
(require 'em-tramp) ; to load eshell’s sudo
Eshell sudo'ya geç
yerleşik komutları tercih ederek
(setq eshell-prefer-lisp-functions t)
Görünüşe göre Emacs 24.4'te
(setq eshell-prefer-lisp-variables t)
bir takma ad oluşturarak (snippet'i eshell'de çalıştır)
alias sudo 'eshell/sudo $*'
Takma ad komutu tarafından tanımlanan (veya silinen) takma adlar , doğrudan da düzenleyebileceğiniz eshell-takma adlar dosyası adlı dosyaya otomatik olarak yazılır (manuel olarak yeniden yüklemeniz gerekse de).
Son olarak, eshell sudo (ve TRAMP) için şifre önbelleğe almayı etkinleştirin:
(setq password-cache t) ; enable password caching
(setq password-cache-expiry 3600) ; for one hour (time in secs)
Not: Eshell-komut istemi işleviyle isteminizi değiştirdiyseniz, bilgi istemi regex eshell-istemi-regexp'yi buna göre ayarlamayı unutmayın . Yanlış bilgi istemi regex şifre tespiti de dahil olmak üzere bazı eshell işlevselliğini bozabilir.
which sudo
uyguladıktan/usr/bin/sudo
sonra sistemimde hala görüntüleniyor .