chiark / gitweb /
Cope with missing mtab better.
[disorder] / doc / disorder.1.in
... / ...
CommitLineData
1.\"
2.\" Copyright (C) 2004-2008 Richard Kettlewell
3.\"
4.\" This program is free software: you can redistribute it and/or modify
5.\" it under the terms of the GNU General Public License as published by
6.\" the Free Software Foundation, either version 3 of the License, or
7.\" (at your option) any later version.
8.\"
9.\" This program is distributed in the hope that it will be useful,
10.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
11.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12.\" GNU General Public License for more details.
13.\"
14.\" You should have received a copy of the GNU General Public License
15.\" along with this program. If not, see <http://www.gnu.org/licenses/>.
16.\"
17.TH disorder 1
18.SH NAME
19disorder \- DisOrder jukebox client
20.SH SYNOPSIS
21.B disorder
22.RI [ OPTIONS ]
23.RB [ \-\- ]
24.RI [ COMMANDS ...]
25.SH DESCRIPTION
26.B disorder
27is used to query the \fBdisorderd\fR(8) daemon from the command line.
28It may be used to request tracks, scratch tracks, query the current
29state, etc, and by an administrator to shutdown or reconfigure the
30daemon.
31.PP
32If no commands are specified then \fBdisorder\fR connects to the
33daemon and then immediately disconnects.
34This can be used to test whether the daemon is running.
35Otherwise, it executes the commands specified.
36.PP
37This man page documents the command-line client.
38See \fBdisorderd\fR (8) for information about the server process
39and \fBdisorder_config\fR (5) for documentation of the configuration file.
40.SH OPTIONS
41.TP
42.B \-\-config \fIPATH\fR, \fB\-c \fIPATH
43Set the configuration file.
44The default is
45.IR pkgconfdir/config .
46.TP
47.B \-\-debug\fR, \fB\-d
48Enable debugging.
49.TP
50.B \-\-help\fR, \fB\-h
51Display a usage message.
52.TP
53.B \-\-version\fR, \fB\-V
54Display version number.
55.TP
56.B \-\-help\-commands\fR, \fB\-H
57List all known commands.
58.SH COMMANDS
59.TP
60.B adduser \fIUSERNAME PASSWORD\fR [\fIRIGHTS\fR]
61Create a new user.
62If \fIRIGHTS\fR is not specified then the \fBdefault_rights\fR
63setting from the server's configuration file applies.
64.TP
65.B adopt \fIID\fR
66Adopts track \fIID\fR (in the queue).
67The track will show up as submitted by the calling user.
68.TP
69.B authorize \fIUSERNAME\fR [\fIRIGHTS\fR]
70Create user \fIUSERNAME\fR with a random password.
71User \fIUSERNAME\fR must be a UNIX login user (not just any old string).
72If \fIRIGHTS\fR is not specified then the \fBdefault_rights\fR
73setting from the server's configuration file applies.
74.IP
75\fI~USERNAME/.disorder/passwd\fR is created with the password in it, so the new
76user should be able to log in immediately.
77.IP
78If writing the \fIpasswd\fR file fails then the user will already have been
79created in DisOrder's user database.
80Use \fBdisorder deluser\fR to remove them before trying again.
81.TP
82.B deluser \fIUSERNAME\fR
83Delete a user.
84.TP
85.B dirs \fIDIRECTORY\fR [\fB~\fIREGEXP\fR]
86List all the directories in \fIDIRECTORY\fR.
87.IP
88An optional regexp may be specified, marked with an initial \fB~\fR.
89Only directories with a basename matching the regexp will be returned.
90.TP
91.B disable
92Disable playing after the current track finishes.
93.TP
94.B edituser \fIUSERNAME PROPERTY VALUE
95Set some property of a user.
96.TP
97.B enable
98(Re-)enable playing.
99.TP
100.B files \fIDIRECTORY\fR [\fB~\fIREGEXP\fR]
101List all the files in \fIDIRECTORY\fR.
102.IP
103An optional regexp may be specified, marked with an initial \fB~\fR.
104Only files with a basename matching the regexp will be returned.
105.TP
106.B get \fITRACK\fR \fIKEY\fR
107Display the preference \fIKEY\fR for \fITRACK\fR.
108See \fBdisorder_preferences\fR (5).
109.TP
110.B get\-global \fIKEY\fR
111Get a global preference.
112See \fBdisorder_preferences\fR (5).
113.TP
114.B get\-volume
115Display the current volume settings.
116.TP
117.B length \fITRACK\fR
118Display the length of \fITRACK\fR in seconds.
119.TP
120.B log
121Write event log messages to standard output, until the server is terminated.
122See \fBdisorder_protocol\fR (5) for details of the output syntax.
123.TP
124.B move \fITRACK\fR \fIDELTA\fR
125Move
126.I TRACK
127by
128.I DELTA
129within the queue.
130Positive values move towards the head of the queue, negative
131values towards the tail.
132.IP
133Note that if you specify a negative value then the
134.B \-\-
135option separate (before all commands) becomes mandatory, as otherwise the
136negative value is misinterpreted an an option.
137.TP
138.B part \fITRACK\fR \fICONTEXT\fI \fIPART\fR
139Get a track name part.
140.IP
141\fICONTEXT\fR should be either \fBsort\fR or \fBdisplay\fR.
142\fBpart\fR is the part of the name desired, typically \fBartist\fR,
143\fBalbum\fR or \fBtitle\fR.
144.TP
145.B pause
146Pause the current track.
147(Note that not all players support pausing.)
148.TP
149.B play \fITRACKS\fR...
150Add \fITRACKS\fR to the end of the queue.
151.TP
152.B playing
153Report the currently playing track.
154.TP
155.B playlist-del \fIPLAYLIST\fR
156Deletes playlist \fIPLAYLIST\fR.
157.TP
158.B playlist-get \fIPLAYLIST\fR
159Gets the contents of playlist \fIPLAYLIST\fR.
160.TP
161.B playlist-set \fIPLAYLIST\fR [\fIPATH\fR]
162Set the contents of playlist \fIPLAYLIST\fR.
163If an absolute path name is specified then the track list is read from
164that filename.
165Otherwise the track list is read from standard input.
166In either case, the list is terminated either by end of file or by a line
167containing a single ".".
168.TP
169.B playlists
170Lists known playlists (in no particular order).
171.TP
172.B prefs \fITRACK\fR
173Display all the preferences for \fITRACK\fR.
174See \fBdisorder_preferences\fR (5).
175.TP
176.B queue
177List the current queue.
178The first entry in the list is the next track to play.
179.TP
180.B random\-disable
181Disable random play.
182.TP
183.B random\-enable
184Enable random play.
185.TP
186.B recent
187List recently played tracks.
188The first entry is the oldest track, the last entry is the most
189recently played one.
190.TP
191.B reconfigure
192Make the daemon reload its configuration file.
193.IP
194Not all configuration options can be modified during the lifetime of the
195server; of those that can't, some will just be ignored if they change while
196others will cause the new configuration to be rejected.
197See \fBdisorder_config\fR(5) for details.
198.TP
199.B remove \fITRACK\fR
200Remove a track from the queue.
201.TP
202.B rescan
203Rescan the filesystem for new tracks.
204There is an automatic daily rescan but if you've just added some tracks
205and want them to show up immediately, use this command.
206.TP
207.B resolve \fITRACK\fR
208Resolve aliases for \fITRACK\fR and print out the real track name.
209.TP
210.B resume
211Resume the current track after a pause.
212.TP
213.B rtp\-address
214Report the RTP brodcast address used by the server (if any).
215.TP
216.B schedule-del \fIEVENT\fR
217Delete a scheduled event.
218.TP
219.B schedule-list
220List scheduled events.
221Each line contains the ID, a timestamp, 'N' or 'J' for normal or junk priority,
222the user, the action and action-specific data.
223.TP
224.B schedule-play \fIWHEN PRIORITY TRACK\fI
225Play \fITRACK\fR at time \fIWHEN\fR.
226Various time/date formats are supported depending on locale but the following
227three will always work:
228.RS
229.RS
230.TP
231.B "YYYY-MM-DD HH:MM:SS"
232.TP
233.B "HH:MM:SS"
234.TP
235.B "HH:MM"
236.RE
237.RE
238.IP
239\fIPRIORITY\fR should be \fBjunk\fR or \fBnormal\fR.
240This determines how the event is handled if it becomes due when the server is
241down.
242Junk events are just discarded in this case, while normal events will be
243executed when the server comes back up, even if this is much later.
244.TP
245.B schedule-set-global \fIWHEN PRIORITY NAME VALUE\fI
246Set global preference \fINAME\fR to \fIVALUE\fR at time \fIWHEN\fR.
247.TP
248.B schedule-unset-global \fIWHEN PRIORITY NAME\fI
249Unset global preference \fINAME\fR at time \fIWHEN\fR.
250.TP
251.B scratch
252Scratch the currently playing track.
253.TP
254.B scratch\-id \fIID\fR
255Scratch the currently playing track, provided it has the given ID.
256.TP
257.B search \fITERMS\fR
258Search for tracks containing all of the listed terms.
259The terms are separated by spaces and form a single argument,
260so must be quoted, for example:
261.IP
262.B "disorder search 'bowie china'"
263.IP
264You can limit the search to tracks with a particular tag, too, using the
265\fBtag:\fR modifier.
266For example:
267.IP
268.B "disorder search 'love tag:depressing'"
269.TP
270.B set \fITRACK\fR \fIKEY\fR \fIVALUE\fR
271Set the preference \fIKEY\fR for \fITRACK\fR to \fIVALUE\fR.
272See \fBdisorder_preferences\fR (5).
273.TP
274.B set\-global \fIKEY\fR \fIVALUE\fR
275Set a global preference.
276See \fBdisorder_preferences\fR (5).
277.TP
278.B set\-volume \fBLEFT\fR \fBRIGHT\fR
279Set the volume.
280.TP
281.B setup\-guest \fR[\fB\-\-no\-online\-registration\fR]
282Create the "guest" user for use by the web interface.
283This user will have no password and will only have the "read" and
284"register" rights, the latter allowing new users to automatically
285register themselves via the web interface.
286.IP
287With the option \fB\-\-no-online\-registration\fR, the "register" right is
288suppressed and users must be manually created by an administrator.
289.IP
290If online registration is desired then \fBmail_sender\fR must be set in the
291configuration file.
292See \fBdisorder_config\fR(5).
293.TP
294.B shutdown
295Shut down the daemon.
296.TP
297.B stats
298List server statistics.
299.TP
300.B tags
301List known tags.
302.TP
303.B unset \fITRACK\fR \fIKEY\fR
304Unset the preference \fIKEY\fR for \fITRACK\fR.
305See \fBdisorder_preferences\fR (5).
306.TP
307.B unset\-global \fIKEY\fR
308Unset the global preference \fIKEY\fR.
309See \fBdisorder_preferences\fR (5).
310.TP
311.B userinfo \fIUSERNAME PROPERTY
312Get some property of a user.
313.TP
314.B users
315List known users.
316.TP
317.B version
318Report the daemon's version number.
319.PP
320For
321.B move
322and
323.BR remove ,
324tracks may be specified by name or by ID.
325If you use the name and a track appears twice in the queue it is
326undefined which is affected.
327.SH NOTES
328.B disorder
329is locale-aware.
330If you do not set the locale correctly then it may not handle non-ASCII
331data properly.
332.PP
333The client determines which user to attempt to authenticate as by examining the
334current UID.
335This can be overridden in a per-user configuration file, see
336\fBdisorder_config\fR(5).
337.PP
338See \fBdisorder_protocol\fR(5) for the rights required to run each command.
339(For instance, \fBshutdown\fR requires the \fBadmin\fR right, which most users
340would not normally have.)
341.PP
342This program is not intended to run in a setuid environment.
343.PP
344The regexp syntax used by the \fBfiles\fR and \fBdirs\fR commands use the
345syntax described in \fBpcrepattern\fR(3).
346Matching is case-independent.
347It is strongly recommended that you quote regexps, since they often
348contain characters treated specially by the shell.
349For example:
350.PP
351.B "disorder dirs /Music ~'^(?!the [^t])t'"
352.SH TROUBLESHOOTING
353If you cannot play a track, or it does not appear in the database even after a
354rescan, check the following things:
355.TP
356.B .
357Are there any error messages in the system log? The server logs to
358\fBLOG_DAEMON\fR, which typically ends up in
359.I /var/log/daemon.log
360or
361.IR /var/log/messages ,
362though this depends on local configuration.
363.TP
364.B .
365Is the track in a known format? Have a look at
366.I pkgconfdir/config
367for the formats recognized by the local installation.
368The filename matching is case-sensitive.
369.TP
370.B .
371Do permissions on the track allow the server to read it?
372.TP
373.B .
374Do the permissions on the containing directories allow the server to read and
375execute them?
376.PP
377The user the server runs as is determined by the \fBuser\fR directive in the
378configuration file.
379The README recommends using \fBjukebox\fR for this purpose but it could
380be different locally.
381.SH ENVIRONMENT
382.TP
383.B HOME
384The user's home directory.
385.TP
386.B LC_ALL\fR, \fBLANG\fR, etc
387Current locale.
388See \fBlocale\fR(7).
389.SH FILES
390.TP
391.I pkgconfdir/config
392Global configuration file.
393See \fBdisorder_config\fR(5).
394.TP
395.I ~/.disorder/passwd
396Per-user password file
397.TP
398.I pkgstatedir/socket
399Communication socket for \fBdisorder\fR(1).
400.SH "SEE ALSO"
401\fBdisorderd\fR(8), \fBdisorder_config\fR(5), \fBsyslog\fR(3), \fBtime\fR(2),
402\fBpcrepattern\fR(3), \fBdisobedience\fR(1), \fBdisorder.cgi\fR(8),
403\fBdisorder_preferences\fR(5)
404.PP
405"\fBpydoc disorder\fR" for the Python API documentation.
406.\" Local Variables:
407.\" mode:nroff
408.\" fill-column:79
409.\" End: