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 de-
       signed specifically 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  ex-
       pressed	as  an	hexadecimal number, followed by	another	\377 (one byte
       0xff), followed by the actual s-expression.

       By prefixing the	expression with	its length, it can be  processed  more
       efficiently.  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 notice-
       ably 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
       domain 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 some-
       thing 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). Ear-
       lier  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 loca-
       tion; 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.12.15.

       Copyright  2008-2026 Dirk-Jan C.	Binnema. License GPLv3+: GNU GPL  ver-
       sion  3	or later https://gnu.org/licenses/gpl.html. This is free soft-
       ware: 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.0.quarterly>

home | help