Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MU-SERVER(1)		     General Commands Manual		    MU-SERVER(1)

NAME
     mu-server - the mu backend for the mu4e e-mail client

SYNOPSIS
     mu [COMMON-OPTIONS] server

DESCRIPTION
     mu  server  starts a simple shell in which one can query and manipulate the
     mu database. The output uses s-expressions. mu server is not meant for  use
     by  humans, except for debugging purposes. Instead, it is designed specifi-
     cally for the mu4e e-mail client.

	    (<command-name> :param1 value1 :param2 value2)

     For example, to view a certain message, the command would be:

	    (view :docid 12345)

     Parameters can be sent in any order; they	must  be  of  the  correct  type
     though.  See lib/utils/mu-sexp-parser.hh and lib/utils/mu-sexp-parser.cc in
     source-tree for the details.

OUTPUT FORMAT
     mu  server  accepts  a  number of commands, and delivers its results in the
     form:

	    \\376<length>\\377<s-expr>

     \376 (one byte 0xfe), followed by the length of the s-expression  expressed
     as  an  hexadecimal  number, followed by another \377 (one byte 0xff), fol-
     lowed by the actual s-expression.

     By prefixing the expression with its length, it can be processed more effi-
     ciently. The \376 and \377 were chosen since  they  never	occur  in  valid
     UTF-8 (in which the s-expressions are encoded).

SERVER OPTIONS
   --commands
     List available commands (and try with --verbose).

   --eval expression
     Evaluate a mu4e server s-expression.

   --allow-temp-file
     If set, allow for the output of some commands to use temp-files rather than
     directly  through the emacs process input/output. This is noticeably faster
     for commands with a lot of output, esp. when the temp-file uses a in-memory
     file-system.

   --listen
     If set, the server starts an SCM REPL as well, which listens on a Unix  do-
     main socket. This corresponds to the --listen options for mu scm*.

     The  store  object  (including  the  Xapian database) is shared between the
     server and the REPL.

PERFORMANCE
     As an indication for the relative performance, we	can  simulate  something
     mu4e does. We take the overall time of 50 such requests:

	    time build/mu/mu server --allow-temp-file --eval '(find :query "\"\"" :include-related t :threads t :maxnum 50000)' >/dev/null

     (and --allow-temp-file for 1.11)

			   +----------------------------+
			   |	   release   time (sec) |
			   +----------------------------+
			   |	       1.8   8.6s	|
			   |	      1.10   5.7s	|
			   | 1.11 (master)   2.8s	|
			   +----------------------------+

   --muhome
     Use a non-default directory to store and read the database, write the logs,
     etc.   By	default,  mu  uses the XDG Base Directory Specification (e.g. on
     GNU/Linux this defaults to ~/.cache/mu and ~/.config/mu). Earlier	versions
     of mu defaulted to ~/.mu, which now requires --muhome=~/.mu.

     The  environment variable MUHOME can be used as an alternative to --muhome.
     The latter has precedence.

COMMON OPTIONS
   -d, --debug
     Makes mu generate extra debug information, useful for debugging the program
     itself. Debug information goes to the standard logging location; see mu(1).

   -q, --quiet
     Causes mu not to output informational messages and progress information  to
     standard  output,	but  only  to the log file. Error messages will still be
     sent to standard error. Note that mu index is much faster with --quiet,  so
     it is recommended you use this option when using mu from scripts etc.

   --log-stderr
     Causes  mu  to  not  output  log messages to standard error, in addition to
     sending them to the standard logging location.

   --nocolor
     Do not use ANSI colors. The environment variable NO_COLOR can be used as an
     alternative to --nocolor.

   -V, --version
     Prints mu version and copyright information.

   -h, --help
     Lists the various command line options.

REPORTING BUGS
     Please report bugs at https://github.com/djcb/mu/issues.

AUTHOR
     Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>

COPYRIGHT
     This manpage is part of mu 1.14.2.

     Copyright A(C) 2008-2026 Dirk-Jan C. Binnema. License GPLv3+: GNU GPL  ver-
     sion  3  or later https://gnu.org/licenses/gpl.html. This is free software:
     you are free to change and redistribute it. There is NO  WARRANTY,  to  the
     extent permitted by law.

SEE ALSO
     mu(1), mu-scm(1)

								    MU-SERVER(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mu-server&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help