вторник, 14 июня 2016 г.

Gnome-keyring: инструменты командной строки и немного elisp`а

Собственно, и упомянутый ранее gkeyring не нужен. Да и синтаксис у него довольно прибабахнутый, все можно сделать проще и удобнее на elisp, с помощью secrets.el.

1. Посылаем запрос пароля:
bash_to_emacs () {
    echo -n $@ > ~/.bash_emacs && emacsclient -e '(read-bash-o)'
}
2. Принимаем:
(defvar bash-emacs nil)
(defun read-bash-o ()
  "Read Bash output; run in BASH script (emacsclient)"
  (let ((bp "~/.bash_emacs"))
    (with-temp-buffer
      (insert-file-contents bp)
      (setq bash-emacs (buffer-substring-no-properties (point-min) (point-max))))
    (with-temp-buffer
      (write-region (point-min) (point-max) bp))  ;; clear
    ))
3. Получаем сохраненный пароль:
pswd=$(emacsclient -e '(secrets-get-secret "keyring_name" bash-emacs)' | tr -d '"')
4.Profit! ;)

Конечно, вариант "общения" bash с Emacs вышел несколько упоротый, но мне опять же было лень лезть в дебри. 

0 коммент. :

Отправить комментарий

Следующее Предыдущее Главная страница

Blogger Template by Blogcrowds