summaryrefslogtreecommitdiff
path: root/audio/jamulus/SERVER.txt
blob: 85167f295b4cbe230eea30bb9aa5ff1e0f86b88a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
By default, the jamulus binary can function as:

- Client with GUI (default mode, X and jackd must be running)
- Server with GUI (-s option, only X must be running)
- Headless server (-s and -n options, neither X nor jackd required)

Even though the headless mode doesn't require a running X server,
it still requires the Qt5 shared libraries. There's no way to compile
jamulus without these.

You can launch jamulus as either a client or a server with GUI from
the desktop start menu. If you want to run a headless server, you'll
have to either run it from the command line, or create a different
launcher/shortcut for jamulus as a headless server (with -n option).

If you want to run a headless server that starts at boot time (like
a regular daemon), currently the best way to do this is to call it
from /etc/rc.d/rc.local. There's no "daemon" option, so you'll have to
background it with &, and redirect stdout/stderr somewhere (see also
the -l <logfile> option).

Dedicated server only build
----------------------------

If you *really* want to build a dedicated jamulus server, you can do so
by setting SERVERONLY=yes in the SlackBuild's environment. In this case,
you can ignore the REQUIRES="jack" line in the .info file.

The resulting jamulus binary will work only as a dedicated server.
It wont't make sound nor accept audio input from your instrument, and
it won't require X11 shared libraries (though it still does require
Qt5 shared libs). It'll only be useful as a server, and it'll have to
be run from the command line, or a shell script (won't show up in your
desktop start menu).

The *only* reason to ever do this is if you really *really* don't want
to install jack for some reason.

For those who want to complain that I shouldn't have listed jack as
required: It *is* required, for the *normal* use case. Building without
JACK support is a very specialized thing, not useful to the general
population of users.