NAME disorder - DisOrder jukebox client SYNOPSIS disorder [OPTIONS] [--] [COMMANDS...] DESCRIPTION disorder is used to query the disorderd(8) daemon from the command line. It may be used to request tracks, scratch tracks, query the cur- rent state, etc, and by an administrator to shutdown or reconfigure the daemon. If no commands are specified then disorder connects to the daemon and then immediately disconnects. This can be used to test whether the daemon is running. Otherwise, it executes the commands specified. This man page documents the command-line client. See disorderd (8) for information about the server process and disorder_config (5) for docu- mentation of the configuration file. OPTIONS --config PATH, -c PATH Set the configuration file. The default is /etc/disorder/con- fig. --debug, -d Enable debugging. --help, -h Display a usage message. --version, -V Display version number. --help-commands, -H List all known commands. COMMANDS adduser USERNAME PASSWORD [RIGHTS] Create a new user. If RIGHTS is not specified then the default_rights setting from the server's configuration file applies. adopt ID Adopts track ID (in the queue). The track will show up as sub- mitted by the calling user. authorize USERNAME [RIGHTS] Create user USERNAME with a random password. User USERNAME must be a UNIX login user (not just any old string). If RIGHTS is not specified then the default_rights setting from the server's configuration file applies. ~USERNAME/.disorder/passwd is created with the password in it, so the new user should be able to log in immediately. If writing the passwd file fails then the user will already have been created in DisOrder's user database. Use disorder deluser to remove them before trying again. deluser USERNAME Delete a user. dirs DIRECTORY [~REGEXP] List all the directories in DIRECTORY. An optional regexp may be specified, marked with an initial ~. Only directories with a basename matching the regexp will be returned. disable Disable playing after the current track finishes. edituser USERNAME PROPERTY VALUE Set some property of a user. enable (Re-)enable playing. files DIRECTORY [~REGEXP] List all the files in DIRECTORY. An optional regexp may be specified, marked with an initial ~. Only files with a basename matching the regexp will be returned. get TRACK KEY Display the preference KEY for TRACK. See disorder_preferences (5). get-global KEY Get a global preference. See disorder_preferences (5). get-volume Display the current volume settings. length TRACK Display the length of TRACK in seconds. log Write event log messages to standard output, until the server is terminated. See disorder_protocol (5) for details of the output syntax. move TRACK DELTA Move TRACK by DELTA within the queue. Positive values move towards the head of the queue, negative values towards the tail. Note that if you specify a negative value then the -- option separate (before all commands) becomes mandatory, as otherwise the negative value is misinterpreted an an option. part TRACK CONTEXT PART Get a track name part. CONTEXT should be either sort or display. part is the part of the name desired, typically artist, album or title. pause Pause the current track. (Note that not all players support pausing.) play TRACKS... Add TRACKS to the end of the queue. playing Report the currently playing track. playlist-del PLAYLIST Deletes playlist PLAYLIST. playlist-get PLAYLIST Gets the contents of playlist PLAYLIST. playlist-set PLAYLIST [PATH] Set the contents of playlist PLAYLIST. If an absolute path name is specified then the track list is read from that filename. Otherwise the track list is read from standard input. In either case, the list is terminated either by end of file or by a line containing a single ".". playlists Lists known playlists (in no particular order). prefs TRACK Display all the preferences for TRACK. See disorder_preferences (5). queue List the current queue. The first entry in the list is the next track to play. random-disable Disable random play. random-enable Enable random play. recent List recently played tracks. The first entry is the oldest track, the last entry is the most recently played one. reconfigure Make the daemon reload its configuration file. Not all configuration options can be modified during the life- time of the server; of those that can't, some will just be ignored if they change while others will cause the new configu- ration to be rejected. See disorder_config(5) for details. remove TRACK Remove a track from the queue. rescan Rescan the filesystem for new tracks. There is an automatic daily rescan but if you've just added some tracks and want them to show up immediately, use this command. resolve TRACK Resolve aliases for TRACK and print out the real track name. resume Resume the current track after a pause. rtp-address Report the RTP brodcast address used by the server (if any). schedule-del EVENT Delete a scheduled event. schedule-list List scheduled events. Each line contains the ID, a timestamp, 'N' or 'J' for normal or junk priority, the user, the action and action-specific data. schedule-play WHEN PRIORITY TRACK Play TRACK at time WHEN. Various time/date formats are sup- ported depending on locale but the following three will always work: YYYY-MM-DD HH:MM:SS HH:MM:SS HH:MM PRIORITY should be junk or normal. This determines how the event is handled if it becomes due when the server is down. Junk events are just discarded in this case, while normal events will be executed when the server comes back up, even if this is much later. schedule-set-global WHEN PRIORITY NAME VALUE Set global preference NAME to VALUE at time WHEN. schedule-unset-global WHEN PRIORITY NAME Unset global preference NAME at time WHEN. scratch Scratch the currently playing track. scratch-id ID Scratch the currently playing track, provided it has the given ID. search TERMS Search for tracks containing all of the listed terms. The terms are separated by spaces and form a single argument, so must be quoted, for example: disorder search 'bowie china' You can limit the search to tracks with a particular tag, too, using the tag: modifier. For example: disorder search 'love tag:depressing' set TRACK KEY VALUE Set the preference KEY for TRACK to VALUE. See disorder_prefer- ences (5). set-global KEY VALUE Set a global preference. See disorder_preferences (5). set-volume LEFT RIGHT Set the volume. setup-guest [--no-online-registration] Create the "guest" user for use by the web interface. This user will have no password and will only have the "read" and "regis- ter" rights, the latter allowing new users to automatically reg- ister themselves via the web interface. With the option --no-online-registration, the "register" right is suppressed and users must be manually created by an adminis- trator. If online registration is desired then mail_sender must be set in the configuration file. See disorder_config(5). shutdown Shut down the daemon. stats List server statistics. tags List known tags. unset TRACK KEY Unset the preference KEY for TRACK. See disorder_preferences (5). unset-global KEY Unset the global preference KEY. See disorder_preferences (5). userinfo USERNAME PROPERTY Get some property of a user. users List known users. version Report the daemon's version number. For move and remove, tracks may be specified by name or by ID. If you use the name and a track appears twice in the queue it is undefined which is affected. NOTES disorder is locale-aware. If you do not set the locale correctly then it may not handle non-ASCII data properly. The client determines which user to attempt to authenticate as by exam- ining the current UID. This can be overridden in a per-user configura- tion file, see disorder_config(5). See disorder_protocol(5) for the rights required to run each command. (For instance, shutdown requires the admin right, which most users would not normally have.) This program is not intended to run in a setuid environment. The regexp syntax used by the files and dirs commands use the syntax described in pcrepattern(3). Matching is case-independent. It is strongly recommended that you quote regexps, since they often contain characters treated specially by the shell. For example: disorder dirs /Music ~'^(?!the [^t])t' TROUBLESHOOTING If you cannot play a track, or it does not appear in the database even after a rescan, check the following things: . Are there any error messages in the system log? The server logs to LOG_DAEMON, which typically ends up in /var/log/daemon.log or /var/log/messages, though this depends on local configuration. . Is the track in a known format? Have a look at /etc/disor- der/config for the formats recognized by the local installation. The filename matching is case-sensitive. . Do permissions on the track allow the server to read it? . Do the permissions on the containing directories allow the server to read and execute them? The user the server runs as is determined by the user directive in the configuration file. The README recommends using jukebox for this pur- pose but it could be different locally. ENVIRONMENT HOME The user's home directory. LC_ALL, LANG, etc Current locale. See locale(7). FILES /etc/disorder/config Global configuration file. See disorder_config(5). ~/.disorder/passwd Per-user password file /var/lib/disorder/socket Communication socket for disorder(1). SEE ALSO disorderd(8), disorder_config(5), syslog(3), time(2), pcrepattern(3), disobedience(1), disorder.cgi(8), disorder_preferences(5) "pydoc disorder" for the Python API documentation.