]> git.cworth.org Git - notmuch-wiki/commitdiff
Add alternate remote notmuch wrapper script
authorSvend Sorensen <svend@ciffer.net>
Sat, 14 Apr 2012 22:10:41 +0000 (15:10 -0700)
committerSvend Sorensen <svend@ciffer.net>
Sat, 14 Apr 2012 22:12:17 +0000 (15:12 -0700)
This script does not require dtach.

remoteusage/remotewrapper.mdwn [new file with mode: 0644]

diff --git a/remoteusage/remotewrapper.mdwn b/remoteusage/remotewrapper.mdwn
new file mode 100644 (file)
index 0000000..ba1daac
--- /dev/null
@@ -0,0 +1,29 @@
+    #!/bin/bash
+    
+    # Run notmuch on remote host over SSH
+    #
+    # http://notmuchmail.org/remoteusage/
+    #
+    # Put this script in your path and add (setq notmuch-command
+    # "notmuch-remote") to your emacs configuration.
+    #
+    # Add a host specification for "notmuch" to ~/.ssh/config to set the
+    # remote host and (optionally) remote user.
+    #
+    # Host notmuch
+    #     HostName host.example.org
+    #     User username
+    
+    SSH_REMOTE_HOST=notmuch
+    SSH_CONTROL_PATH="-o ControlPath=/tmp/notmuch-remote.${USER}.%r@%h:%p"
+    
+    # Start a background master connection if one isn't running yet
+    ssh ${SSH_CONTROL_PATH} -O check ${SSH_REMOTE_HOST} 2>/dev/null ||
+    ssh ${SSH_CONTROL_PATH} -MNf ${SSH_REMOTE_HOST}
+    
+    # The ControlPersist option (in OpenSSH 5.6) could be used to start
+    # the master connection automatically when "ssh host notmuch" is run.
+    
+    # This requires the bash version of printf (bashism)
+    printf -v ARGS "%q " "$@"
+    ssh ${SSH_CONTROL_PATH} ${SSH_REMOTE_HOST} notmuch ${ARGS}