[[!img notmuch-logo.png alt="Notmuch logo" class="left"]]
#Using notmuch remotely#
+(the "old" page, see also [[new|remoteusage]] page)
+
##Why?##
-It is hard to keep nomuch tags in sync across multiple instances of
+It is hard to keep notmuch tags in sync across multiple instances of
notmuch, on multiple computers. Though you can do this with "notmuch
dump" and "notmuch restore", it is often preferable to be able to use
notmuch on a remote computer as if it were present on a local
server. [Here](http://www.debian-administration.org/articles/152) is a
good page on how to set it up.
-5. a reasonably fast connection. (This isn't really *neccessary*, but
+5. a reasonably fast connection. (This isn't really *necessary*, but
if your connection is too slow, this won't be very pleasant to use,
and certainly won't seem transparent.)
NOTMUCH_REMOTE_BIN="notmuch"
DTACH="/usr/bin/dtach"
DTACH_SOCKET="${SOCKET_DIR}/dtach.socket"
-
+
check_for_socket_dir ()
{
[ -d "${SOCKET_DIR}" ]
}
-
+
check_socket_dir_owner_and_perm ()
{
[ "$(stat -c %U ${SOCKET_DIR})" = "$(whoami)" ] &&
[ "$(stat -c %a ${SOCKET_DIR})" = "700" ]
}
-
+
create_socket_dir ()
{
mkdir "${SOCKET_DIR}"
chmod 700 "${SOCKET_DIR}"
}
-
+
check_for_socket ()
{
[ -S "${SSH_SOCKET}" ]
}
-
+
start_socket ()
{
dtach_command="${DTACH} -n ${DTACH_SOCKET} ${SSH_BIN} -M -S ${SSH_SOCKET} ${USER}@${SSH_HOST}"
command -v ${DTACH} &>/dev/null && ${dtach_command}
}
-
+
notmuch_run ()
{
if check_for_socket_dir; then
printf -v ARGS "%q " "$@"
$SSH_BIN -S $SSH_SOCKET $USER@$SSH_HOST $NOTMUCH_REMOTE_BIN ${ARGS}
}
-
+
notmuch_run "$@"
-
+
Save this to a file, "remote-notmuch.sh", in your path.
Now you can run "remote-notmuch.sh new". You can call the script