X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=remoteusage%2F124.mdwn;h=9a4fd45d2e0b0bf83f9dcb99799d025082fb9c5e;hb=219490b75a85ca18d449168575a0c7538e71612e;hp=969e7be20a260c649f73341e09778ea12908b571;hpb=55fc4c985c2709435c1cc43dd730e952fd30a99a;p=notmuch-wiki diff --git a/remoteusage/124.mdwn b/remoteusage/124.mdwn index 969e7be..9a4fd45 100644 --- a/remoteusage/124.mdwn +++ b/remoteusage/124.mdwn @@ -11,6 +11,9 @@ its own connection. As long as master ssh connection is live, slave can use it. Disconnecting master all future attempts to connect from the script will fail. +It is possible to use this solution without any changes to +`$HOME/.ssh/config`. + At the end of this document there is information for some possible ways how master ssh connection can be done. @@ -20,7 +23,8 @@ Write the following code to a file, for example `remote-notmuch.sh`. #!/bin/bash - set -eu + set -euf + # To trace execution, uncomment next line: #exec 6>>remote-errors; BASH_XTRACEFD=6; echo -- >&6; set -x @@ -66,7 +70,7 @@ Write the following code to a file, for example `remote-notmuch.sh`. Note the `0.1` in ssh command line. It is used to avoid any opportunistic behaviour ssh might do; for example if control socket is not alive ssh -would attempt to do it's own ssh connection to remote ssh server. As +would attempt to do its own ssh connection to remote ssh server. As address `0.1` is invalid this attempt will fail early. ## Test @@ -156,6 +160,31 @@ wrapper. (*) general most likely being ~/.emacs +### Yet another possibility -- script to start emacs + +Instead of adding new configurations you could also write a special +script which starts and configures emacs suitable for remote usage. +Copy the following "template" to a new name e.g. in `$HOME/bin/`, +edit the value for `master-USER@HOST3:22` and perhaps add more +post eval-after-load notmuch configs there. + + #!/bin/sh + :; exec "${EMACS:-emacs}" --debug-init --load "$0" "$@"; exit + + (setenv "REMOTE_NOTMUCH_SSHCTRL_SOCK" "master-USER@HOST3:22") + + (eval-after-load "notmuch" + (lambda () + (setq notmuch-command (concat (file-name-directory load-file-name) + "remote-notmuch.sh")) + ;; place for more post-notmuch-load emacs configs if any + )) + (notmuch) + + ;; Local Variables: + ;; mode: emacs-lisp + ;; End: + ## Creating master connection **(Note: all the examples below use the default master socket written in**