neulab/tldr huggingface dataset:
The following examples assume that the /etc/ppp/options file contains the auth option (as in the default /etc/ppp/options file in the ppp distribution).
Probably the most common use of pppd is to dial out to an ISP.  This can be done with a command such as
pppd call isp
where the /etc/ppp/peers/isp file is set up by the system administrator to contain something like this:
ttyS0 19200 crtscts connect '/usr/sbin/chat -v -f /etc/ppp/chat-isp' noauth
In this example, we are using chat to dial the ISP's modem and go through any logon sequence required.  The /etc/ppp/chat-isp file contains the script used by chat; it could for example contain something like this:
ABORT "NO CARRIER" ABORT "NO DIALTONE" ABORT "ERROR" ABORT "NO ANSWER" ABORT "BUSY" ABORT "Username/Password Incorrect" "" "at" OK "at&d0&c1" OK "atdt2468135" "name:" "^Umyuserid" "word:" "\qmypassword" "ispts" "\q^Uppp" "~-^Uppp-~"
See the chat(8) man page for details of chat scripts.
Pppd can also be used to provide a dial-in ppp service for users.  If the users already have login accounts, the simplest way to set up the ppp service is to let the users log in to their accounts and run pppd (installed setuid-root) with a command such as
pppd proxyarp
To allow a user to use the PPP facilities, you need to allocate an IP address for that user's machine and create an entry in /etc/ppp/pap-secrets, /etc/ppp/chap-secrets, or /etc/ppp/srp-secrets (depending on which authentication method the PPP implementation on the user's machine supports), so that the user's machine can authenticate itself.  For example, if Joe has a machine called "joespc" that is to be allowed to dial in to the machine called "server" and use the IP address joespc.my.net, you would add an entry like this to /etc/ppp/pap-secrets or /etc/ppp/chap-secrets:
joespc    server    "joe's secret" joespc.my.net
(See srp-entry(8) for a means to generate the server's entry when SRP-SHA1 is in use.)  Alternatively, you can create a username called (for example) "ppp", whose login shell is pppd and whose home directory is /etc/ppp.  Options to be used when pppd is run this way can be put in /etc/ppp/.ppprc.
If your serial connection is any more complicated than a piece of wire, you may need to arrange for some control characters to be escaped.  In particular, it is often useful to escape XON (^Q) and XOFF (^S), using asyncmap a0000.  If the path includes a telnet, you probably should escape ^] as well (asyncmap 200a0000).  If the path includes an rlogin, you will need to use the escape ff option on the end which is running the rlogin client, since many rlogin implementations are not transparent; they will remove the sequence [0xff, 0xff, 0x73, 0x73, followed by any 8 bytes] from the stream.
Messages are sent to the syslog daemon using facility LOG_DAEMON.  (This can be overridden by recompiling pppd with the macro LOG_PPP defined as the desired facility.)  See the syslog(8) documentation for details of where the syslog daemon will write the messages.  On most systems, the syslog daemon uses the /etc/syslog.conf file to specify the destination(s) for syslog messages.  You may need to edit that file to suit.
The debug option causes the contents of all control packets sent or received to be logged, that is, all LCP, PAP, CHAP, EAP, or IPCP packets. This can be useful if the PPP negotiation does not succeed or if authentication fails.  If debugging is enabled at compile time, the debug option also causes other debugging messages to be logged.
Debugging can also be enabled or disabled by sending a SIGUSR1 signal to the pppd process.  This signal acts as a toggle.
The exit status of pppd is set to indicate whether any error was detected, or the reason for the link being terminated.  The values used are:
0      Pppd has detached, or otherwise the connection was successfully established and terminated at the peer's request.
1      An immediately fatal error of some kind occurred, such as an essential system call failing, or running out of virtual memory.
2      An error was detected in processing the options given, such as two mutually exclusive options being used.
3      Pppd is not setuid-root and the invoking user is not root.
4      The kernel does not support PPP, for example, the PPP kernel driver is not included or cannot be loaded.
5      Pppd terminated because it was sent a SIGINT, SIGTERM or SIGHUP signal.
6      The serial port could not be locked.
7      The serial port could not be opened.
8      The connect script failed (returned a non-zero exit status).
9      The command specified as the argument to the pty option could not be run.
10     The PPP negotiation failed, that is, it didn't reach the point where at least one network protocol (e.g. IP) was running.
11     The peer system failed (or refused) to authenticate itself.
12     The link was established successfully and terminated because it was idle.
13     The link was established successfully and terminated because the connect time limit was reached.
14     Callback was negotiated and an incoming call should arrive shortly.
15     The link was terminated because the peer is not responding to echo requests.
16     The link was terminated by the modem hanging up.
17     The PPP negotiation failed because serial loopback was detected.
18     The init script failed (returned a non-zero exit status).
19     We failed to authenticate ourselves to the peer.
Pppd invokes scripts at various stages in its processing which can be used to perform site-specific ancillary processing.  These scripts are usually shell scripts, but could be executable code files instead.  Pppd does not wait for the scripts to finish (except for the ip-pre-up script).  The scripts are executed as root (with the real and effective user-id set to 0), so that they can do things such as update routing tables or run privileged daemons.  Be careful that the contents of these scripts do not compromise your system's security.  Pppd runs the scripts with standard input, output and error redirected to /dev/null, and with an environment that is empty except for some environment variables that give information about the link.  The environment variables that pppd sets are:
DEVICE The name of the serial tty device being used.
IFNAME The name of the network interface being used.
IPLOCAL The IP address for the local end of the link.  This is only set when IPCP has come up.
IPREMOTE The IP address for the remote end of the link.  This is only set when IPCP has come up.
PEERNAME The authenticated name of the peer.  This is only set if the peer authenticates itself.
SPEED  The baud rate of the tty device.
ORIG_UID The real user-id of the user who invoked pppd.
PPPLOGNAME The username of the real user-id that invoked pppd. This is always set.
For the ip-down and auth-down scripts, pppd also sets the following variables giving statistics for the connection:
CONNECT_TIME The number of seconds from when the PPP negotiation started until the connection was terminated.
BYTES_SENT The number of bytes sent (at the level of the serial port) during the connection.
BYTES_RCVD The number of bytes received (at the level of the serial port) during the connection.
LINKNAME The logical name of the link, set with the linkname option.
CALL_FILE The value of the call option.
DNS1   If the peer supplies DNS server addresses, this variable is set to the first DNS server address supplied (whether or not the usepeerdns option was given).
DNS2   If the peer supplies DNS server addresses, this variable is set to the second DNS server address supplied (whether or not the usepeerdns option was given).
Pppd invokes the following scripts, if they exist.  It is not an error if they don't exist.
/etc/ppp/auth-up A program or script which is executed after the remote system successfully authenticates itself.  It is executed with the parameters
interface-name peer-name user-name tty-device speed
Note that this script is not executed if the peer doesn't authenticate itself, for example when the noauth option is used.
/etc/ppp/auth-down A program or script which is executed when the link goes down, if /etc/ppp/auth-up was previously executed.  It is executed in the same manner with the same parameters as /etc/ppp/auth-up.
/etc/ppp/ip-pre-up A program or script which is executed just before the ppp network interface is brought up.  It is executed with the same parameters as the ip-up script (below).  At this point the interface exists and has IP addresses assigned but is still down.  This can be used to add firewall rules before any IP traffic can pass through the interface.  Pppd will wait for this script to finish before bringing the interface up, so this script should run quickly.
/etc/ppp/ip-up A program or script which is executed when the link is available for sending and receiving IP packets (that is, IPCP has come up). It is executed with the parameters
interface-name tty-device speed local-IP-address remote-IP-address ipparam
/etc/ppp/ip-down A program or script which is executed when the link is no longer available for sending and receiving IP packets.  This script can be used for undoing the effects of the /etc/ppp/ip-up and /etc/ppp/ip-pre-up scripts.  It is invoked in the same manner and with the same parameters as the ip-up script.
/etc/ppp/ipv6-up Like /etc/ppp/ip-up, except that it is executed when the link is available for sending and receiving IPv6 packets. It is executed with the parameters
interface-name tty-device speed local-link-local-address remote-link-local-address ipparam
/etc/ppp/ipv6-down Similar to /etc/ppp/ip-down, but it is executed when IPv6 packets can no longer be transmitted on the link. It is executed with the same parameters as the ipv6-up script.
/etc/ppp/ipx-up A program or script which is executed when the link is available for sending and receiving IPX packets (that is, IPXCP has come up).  It is executed with the parameters
interface-name tty-device speed network-number local-IPX-node-address remote-IPX-node-address local-IPX-routing-protocol remote-IPX-routing-protocol local-IPX-router-name remote-IPX-router-name ipparam pppd-pid
The local-IPX-routing-protocol and remote-IPX-routing-protocol field may be one of the following:
NONE      to indicate that there is no routing protocol RIP       to indicate that RIP/SAP should be used NLSP      to indicate that Novell NLSP should be used RIP NLSP  to indicate that both RIP/SAP and NLSP should be used
/etc/ppp/ipx-down A program or script which is executed when the link is no longer available for sending and receiving IPX packets.  This script can be used for undoing the effects of the /etc/ppp/ipx-up script.  It is invoked in the same manner and with the same parameters as the ipx-up script.
/var/run/pppn.pid (BSD or Linux), /etc/ppp/pppn.pid (others) Process-ID for pppd process on ppp interface unit n.
/var/run/ppp-name.pid (BSD or Linux), /etc/ppp/ppp-name.pid (others) Process-ID for pppd process for logical link name (see the linkname option).
/var/run/pppd2.tdb Database containing information about pppd processes, interfaces and links, used for matching links to bundles in multilink operation.  May be examined by external programs to obtain information about running pppd instances, the interfaces and devices they are using, IP address assignments, etc. /etc/ppp/pap-secrets Usernames, passwords and IP addresses for PAP authentication.  This file should be owned by root and not readable or writable by any other user.  Pppd will log a warning if this is not the case.
/etc/ppp/chap-secrets Names, secrets and IP addresses for CHAP/MS-CHAP/MS-CHAPv2 authentication.  As for /etc/ppp/pap-secrets, this file should be owned by root and not readable or writable by any other user. Pppd will log a warning if this is not the case.
/etc/ppp/srp-secrets Names, secrets, and IP addresses for EAP authentication.  As for /etc/ppp/pap-secrets, this file should be owned by root and not readable or writable by any other user.  Pppd will log a warning if this is not the case.
~/.ppp_pseudonym Saved client-side SRP-SHA1 pseudonym.  See the srp-use-pseudonym option for details.
/etc/ppp/options System default options for pppd, read before user default options or command-line options.
~/.ppprc User default options, read before /etc/ppp/options.ttyname.
/etc/ppp/options.ttyname System default options for the serial port being used, read after ~/.ppprc.  In forming the ttyname part of this filename, an initial /dev/ is stripped from the port name (if present), and any slashes in the remaining part are converted to dots.
/etc/ppp/peers A directory containing options files which may contain privileged options, even if pppd was invoked by a user other than root.  The system administrator can create options files in this directory to permit non-privileged users to dial out without requiring the peer to authenticate, but only to certain trusted peers.
chat(8), pppstats(8)
RFC1144 Jacobson, V.  Compressing TCP/IP headers for low-speed serial links.  February 1990.
RFC1321 Rivest, R.  The MD5 Message-Digest Algorithm.  April 1992.
RFC1332 McGregor, G.  PPP Internet Protocol Control Protocol (IPCP).  May 1992.
RFC1334 Lloyd, B.; Simpson, W.A.  PPP authentication protocols.  October 1992.
RFC1661 Simpson, W.A.  The Point-to-Point Protocol (PPP).  July 1994.
RFC1662 Simpson, W.A.  PPP in HDLC-like Framing.  July 1994.
RFC1990 Sklower, K.; et al., The PPP Multilink Protocol (MP).  August 1996.
RFC2284 Blunk, L.; Vollbrecht, J., PPP Extensible Authentication Protocol (EAP).  March 1998.
RFC2472 Haskin, D.  IP Version 6 over PPP December 1998.
RFC2945 Wu, T., The SRP Authentication and Key Exchange System September 2000.
draft-ietf-pppext-eap-srp-03.txt Carlson, J.; et al., EAP SRP-SHA1 Authentication Protocol.  July 2001.
Some limited degree of control can be exercised over a running pppd process by sending it a signal from the list below.
SIGINT, SIGTERM These signals cause pppd to terminate the link (by closing LCP), restore the serial device settings, and exit.  If a connector or disconnector process is currently running, pppd will send the same signal to its process group, so as to terminate the connector or disconnector process.
SIGHUP This signal causes pppd to terminate the link, restore the serial device settings, and close the serial device.  If the persist or demand option has been specified, pppd will try to reopen the serial device and start another connection (after the holdoff period).  Otherwise pppd will exit.  If this signal is received during the holdoff period, it causes pppd to end the holdoff period immediately.  If a connector or disconnector process is running, pppd will send the same signal to its process group.
SIGUSR1 This signal toggles the state of the debug option.
SIGUSR2 This signal causes pppd to renegotiate compression.  This can be useful to re-enable compression after it has been disabled as a result of a fatal decompression error.  (Fatal decompression errors generally indicate a bug in one or other implementation.)
Paul Mackerras (paulus@samba.org), based on earlier work by Drew Perkins, Brad Clements, Karl Fox, Greg Christy, and Brad Parker.
Pppd is copyrighted and made available under conditions which provide that it may be copied and used in source or binary forms provided that the conditions listed below are met.  Portions of pppd are covered by the following copyright notices:
Copyright (c) 1984-2000 Carnegie Mellon University. All rights reserved. Copyright (c) 1993-2004 Paul Mackerras. All rights reserved. Copyright (c) 1995 Pedro Roque Marques.  All rights reserved. Copyright (c) 1995 Eric Rosenquist.  All rights reserved. Copyright (c) 1999 Tommi Komulainen.  All rights reserved. Copyright (C) Andrew Tridgell 1999 Copyright (c) 2000 by Sun Microsystems, Inc.  All rights reserved. Copyright (c) 2001 by Sun Microsystems, Inc.  All rights reserved. Copyright (c) 2002 Google, Inc.  All rights reserved.
The copyright notices contain the following statements.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. The name "Carnegie Mellon University" must not be used to endorse or promote products derived from this software without prior written permission. For permission or any legal details, please contact Office of Technology Transfer Carnegie Mellon University 5000 Forbes Avenue Pittsburgh, PA  15213-3890 (412) 268-4387, fax: (412) 268-7395 tech-transfer@andrew.cmu.edu
3b. The name(s) of the authors of this software must not be used to endorse or promote products derived from this software without prior written permission.
4. Redistributions of any form whatsoever must retain the following acknowledgements: "This product includes software developed by Computing Services at Carnegie Mellon University (http://www.cmu.edu/computing/)." "This product includes software developed by Paul Mackerras <paulus@samba.org>". "This product includes software developed by Pedro Roque Marques <pedro_m@yahoo.com>". "This product includes software developed by Tommi Komulainen <Tommi.Komulainen@iki.fi>".
CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
speedtest-cli(1)             General Commands Manual            speedtest-cli(1)
speedtest-cli - Command line interface for testing internet bandwidth using speedtest.net
speedtest-cli [OPTION...]
Speedtest.net is a web service for testing your broadband connection by downloading a file from a nearby speedtest.net server on the web. This tool allows you to access the service from the command line.
Speedtest mini is a version of the Speedtest.net server that you can host locally.
Usage: speedtest-cli [OPTION...]
Help Options
-h, --help Displays usage for the tool.
--no-download Do not perform download test
--no-upload Do not perform upload test
--bytes Display values in bytes instead of bits. Does not affect the image generated by --share, nor output from --json or --csv
--share Generate and provide a URL to the speedtest.net share results image, not displayed with --csv
--simple Suppress verbose output, only show basic information
--csv Suppress verbose output, only show basic information in CSV format. Speeds listed in bit/s and not affected by --bytes
--csv-delimiter CSV_DELIMITER Single character delimiter to use in CSV output. Default ","
--csv-header Print CSV headers
--json Suppress verbose output, only show basic information in JSON format. Speeds listed in bit/s and not affected by --bytes
--list Display a list of speedtest.net servers sorted by distance
--server SERVER Specify a server ID to test against. Can be supplied multiple times
--exclude EXCLUDE Exclude a server from selection. Can be supplied multiple times
--mini MINI URL of the Speedtest Mini server
--source SOURCE Source IP address to bind to
--timeout TIMEOUT HTTP timeout in seconds. Default 10
--secure Use HTTPS instead of HTTP when communicating with speedtest.net operated servers
--no-pre-allocate Do not pre allocate upload data. Pre allocation is enabled by default to improve upload performance. To support systems with insufficient memory, use this option to avoid a MemoryError
Automatically find closest server and start testing speedtest-cli
Specify testing against server 1491 speedtest-cli --server 1491
Testing against Speedtest Mini speedtest-cli --mini 172.18.66.1
Please file issues on the Github bug tracker: https://github.com/sivel/speedtest-cli
This manual page was written by Jonathan Carter <jonathan@ubuntu.com> Speedtest-cli was written by Matt Martz <matt@sivel.net>
ncmpcpp(1)                   General Commands Manual                  ncmpcpp(1)
ncmpcpp - An ncurses Music Player Daemon (MPD) client.
ncmpcpp [options]
ncmpcpp is an ncurses client for MPD (Music Player Daemon), inspired by ncmpc.
Read more about MPD at http://www.musicpd.org
-h, --host=HOST Connect to server at host [localhost]
-p, --port=PORT Connect to server at port [6600]
--current-song[=FORMAT] Print current song using given format and exit
-c, --config=FILE Specify configuration file(s)
--ignore-config-errors Ignore unknown and invalid options in configuration files
-b, --bindings=FILE Specify bindings file(s)
-s, --screen <name> Specify the startup screen (<name> may be: help, playlist, browser, search_engine, media_library, playlist_editor, tag_editor, outputs, visualizer, clock)
-S, --slave-screen <name> Specify the startup slave screen (<name> may be: help, playlist, browser, search_engine, media_library, playlist_editor, tag_editor, outputs, visualizer, clock)
-q, --quiet Suppress logs and excess output
-?, --help Display help.
-v, --version Display version information.
When ncmpcpp starts, it tries to read settings from $XDG_CONFIG_HOME/ncmpcpp/config and $HOME/.ncmpcpp/config files. If no configuration is found, ncmpcpp uses its default configuration. An example configuration file containing all default values is provided with ncmpcpp and can be usually found in /usr/share/doc/ncmpcpp (the exact location may depend on your operating system or configure prefix).
Note: Configuration option values can either be enclosed in quotation marks or not. - If they are enclosed, the leftmost and the rightmost quotation marks are treated as delimiters, therefore it is not necessary to escape quotation marks you use within the value itself. - If they are not, any whitespace characters between = and the first printable character of the value, as well as whitespace characters after the last printable character of the value are trimmed.
Therefore the rule of thumb is: if you need whitespaces at the beginning or at the end of the value, enclose it in quotation marks. Otherwise, don't.
Note: COLOR has to be the name (not a number) of one of colors 1-8 from SONG FORMAT section.
Supported configuration options:
ncmpcpp_directory = PATH Directory for storing ncmpcpp related files. Changing it is useful if you want to store everything somewhere else and provide command line setting for alternative location to config file which defines that while launching ncmpcpp.
lyrics_directory = PATH Directory for storing downloaded lyrics. It defaults to ~/.lyrics since other MPD clients (eg. ncmpc) also use that location.
mpd_host = HOST Connect to MPD running on specified host/unix socket. When HOST starts with a '/', it is assumed to be a unix socket. Note: MPD_HOST environment variable overrides this setting.
mpd_port = PORT Connect to MPD on the specified port. Note: MPD_PORT environment variable overrides this setting.
mpd_music_dir = PATH Search for files in specified directory. This is needed for tag editor to work.
mpd_connection_timeout = SECONDS Set connection timeout to MPD to given value.
mpd_crossfade_time = SECONDS Default number of seconds to crossfade, if enabled by ncmpcpp.
visualizer_data_source = LOCATION Source of data for the visualizer. For MPD it's going to be a fifo output, for Mopidy a udpsink output (see the example configuration file for more details).
visualizer_output_name = NAME Name of output that provides data for visualizer. Needed to keep sound and visualization in sync.
visualizer_in_stereo = yes/no Should be set to 'yes', if fifo output's format was set to 44100:16:2.
visualizer_type = spectrum/wave/wave_filled/ellipse Defines default visualizer type (spectrum is available only if ncmpcpp was compiled with fftw support).
visualizer_look = STRING Defines visualizer's look (string has to be exactly 2 characters long: first one is for wave whereas second for frequency spectrum).
visualizer_color = COLORS Comma separated list of colors to be used in music visualization.
visualizer_fps = FPS The amount of frames per second for the visualizer.
visualizer_autoscale = yes/no Automatically scale visualizer size.
visualizer_spectrum_smooth_look = yes/no For spectrum visualizer, use unicode block characters for a smoother, more continuous look. This will override the visualizer_look option. With transparent terminals and visualizer_in_stereo set, artifacts may be visible on the bottom half of the visualization.
visualizer_spectrum_dft_size = NUMBER For spectrum visualizer, a value between 1 and 5 inclusive. Specifying a larger value makes the visualizer look at a larger slice of time, which results in less jumpy visualizer output.
visualizer_spectrum_gain = dB Gain for spectrum visualizer in dB, larger/smaller values shift bars up/down.
visualizer_spectrum_hz_min = Hz For spectrum visualizer, left-most frequency of visualizer, must be less than HZ MAX.
visualizer_spectrum_hz_max = Hz For spectrum visualizer, right-most frequency of visualizer, must be greater than HZ MIN.
system_encoding = ENCODING If you use encoding other than utf8, set it in order to handle utf8 encoded strings properly.
playlist_disable_highlight_delay = SECONDS Delay for highlighting playlist since the last key was pressed. If set to 0, highlighting never fades away.
message_delay_time = SECONDS Delay for displayed messages to remain visible.
song_list_format Song format for lists of songs.
song_status_format Song format for statusbar.
song_library_format Song format for media library.
alternative_header_first_line_format = TEXT Now playing song format for the first line in alternative user interface header window.
alternative_header_second_line_format = TEXT Now playing song format for the second line in alternative user interface header window.
current_item_prefix = TEXT Prefix for currently selected item.
current_item_suffix = TEXT Suffix for currently selected item.
current_item_inactive_column_prefix = TEXT Prefix for currently selected item in the inactive column.
current_item_inactive_column_suffix = TEXT Suffix for currently selected item in the inactive column.
now_playing_prefix = TEXT Prefix for currently playing song.
now_playing_suffix = TEXT Suffix for currently playing song.
browser_playlist_prefix = TEXT Prefix for playlists in Browser.
selected_item_prefix = TEXT Prefix for selected items.
selected_item_suffix = TEXT Suffix for selected items.
modified_item_prefix = TEXT Prefix for modified item (tag editor).
browser_sort_mode Determines sort mode for browser. Possible values are "type", "name", "mtime", "format" and "none".
browser_sort_format Format to use for sorting songs in browser. For this option to be effective, browser_sort_mode must be set to "format".
song_window_title_format Song format for window title.
song_columns_list_format Format for songs' list displayed in columns.
execute_on_song_change = COMMAND Shell command to execute on song change.
execute_on_player_state_change = COMMAND Shell command to execute on player state change. The environment variable MPD_PLAYER_STATE is set to the current state (either unknown, play, pause, or stop) for its duration.
playlist_show_mpd_host = yes/no If enabled, current MPD host will be shown in playlist.
playlist_show_remaining_time = yes/no If enabled, time remaining to end of playlist will be shown after playlist statistics.
playlist_shorten_total_times = yes/no If enabled, total/remaining playlist time displayed in statusbar will be shown using shortened units' names (d:h:m:s instead of days:hours:minutes:seconds).
playlist_separate_albums = yes/no If enabled, separators will be placed between albums.
playlist_display_mode = classic/columns Default display mode for Playlist.
browser_display_mode = classic/columns Default display mode for Browser.
search_engine_display_mode = classic/columns Default display mode for Search engine.
playlist_editor_display_mode = classic/columns Default display mode for Playlist editor.
discard_colors_if_item_is_selected = yes/no Indicates whether custom colors of tags have to be discarded if item is selected or not.
show_duplicate_tags = yes/no Indicates whether ncmpcpp should display multiple tags as-is or remove duplicates.
incremental_seeking = yes/no If enabled, seek time will increment by one each second of seeking.
seek_time = SECONDS Base seek time to begin with.
volume_change_step = NUMBER Number of percents volume has to be increased/decreased by in volume_up/volume_down.
autocenter_mode = yes/no Default state for autocenter mode at start.
centered_cursor = yes/no If enabled, currently highlighted position in the list will be always centered.
progressbar_look = TEXT This variable defines the look of progressbar. Note that it has to be exactly two or three characters long.
default_place_to_search_in = database/playlist If set to "playlist", Search engine will perform searching in current MPD playlist rather than in music database.
user_interface = classic/alternative Default user interface used by ncmpcpp at start.
data_fetching_delay = yes/no If enabled, there will be a 250ms delay between refreshing position in media library or playlist editor and fetching appropriate data from MPD. This limits data fetched from the server and is particularly useful if ncmpcpp is connected to a remote host.
media_library_primary_tag = artist/album_artist/date/genre/composer/performer Default tag type for leftmost column in media library.
media_library_albums_split_by_date = yes/no Determines whether albums in media library should be split by date.
media_library_hide_album_dates = yes/no Determines whether album dates in media library should be hidden.
default_find_mode = wrapped/normal If set to "wrapped", going from last found position to next will take you to the first one (same goes for the first position and going to previous one), otherwise no actions will be performed.
default_tag_editor_pattern = TEXT Default pattern used by Tag editor's parser.
header_visibility = yes/no If enabled, header window will be displayed, otherwise hidden.
statusbar_visibility = yes/no If enabled, statusbar will be displayed, otherwise hidden.
connected_message_on_startup = yes/no Show the "Connected to ..." message on startup
titles_visibility = yes/no If enabled, column titles will be displayed, otherwise hidden.
header_text_scrolling = yes/no If enabled, text in header window will scroll if its length is longer then actual screen width, otherwise it won't.
cyclic_scrolling = yes/no If enabled, cyclic scrolling is used (e.g. if you press down arrow being at the end of list, it'll take you to the beginning)
lyrics_fetchers = FETCHERS Comma separated list of lyrics fetchers.
follow_now_playing_lyrics = yes/no If enabled, lyrics will be switched at song's change to currently playing one's (Note: this works only if you are viewing lyrics of item from Playlist).
fetch_lyrics_for_current_song_in_background = yes/no If enabled, each time song changes lyrics fetcher will be automatically run in background in attempt to download lyrics for currently playing song.
store_lyrics_in_song_dir = yes/no If enabled, lyrics will be saved in song's directory, otherwise in ~/.lyrics. Note that it needs properly set mpd_music_dir.
generate_win32_compatible_filenames = yes/no If set to yes, filenames generated by ncmpcpp (with tag editor, for lyrics, artists etc.) will not contain the following characters: \?*:|
allow_for_physical_item_deletion = yes/no If set to yes, it will be possible to physically delete files and directories from the disk in the browser.
lastfm_preferred_language = ISO 639 alpha-2 language code If set, ncmpcpp will try to get info from last.fm in language you set and if it fails, it will fall back to English. Otherwise it will use English the first time.
space_add_mode = add_remove/always_add If set to add_remove, attempting to add files that are already in playlist will remove them. Otherwise they can be added multiple times.
show_hidden_files_in_local_browser = yes/no Trigger for displaying in local browser files and directories that begin with '.'
screen_switcher_mode = SWITCHER_MODE If set to "previous", key_screen_switcher will switch between current and last used screen. If set to "screen1,...screenN" (a list of screens) it will switch between them in a sequence. Syntax clarification can be found in example config file.
startup_screen = SCREEN_NAME Screen that has to be displayed at start (playlist by default).
startup_slave_screen = SCREEN_NAME Slave screen that has to be displayed at start (nothing by default).
startup_slave_screen_focus = yes/no If set to yes, slave screen will be the active one after startup. Otherwise master screen will be.
locked_screen_width_part = 20-80 If you want to lock a screen, ncmpcpp asks for % of locked screen's width to be reserved before that and provides a default value, which is the one you can set here.
ask_for_locked_screen_width_part = yes/no If enabled, ncmpcpp will ask for % of locked screen's width each time you want to lock a screen. If you disable that, it'll silently attempt to use default value.
jump_to_now_playing_song_at_start = yes/no If enabled, ncmpcpp will jump at start to now playing song if mpd is playing or paused.
ask_before_clearing_playlists = yes/no If enabled, user will be asked if he really wants to clear the playlist after pressing key responsible for that.
clock_display_seconds = yes/no If enabled, clock will display time in format hh:mm:ss, otherwise hh:mm.
display_volume_level = yes/no If enabled, volume level will be displayed in statusbar, otherwise not.
display_bitrate = yes/no If enabled, bitrate of currently playing song will be displayed in statusbar.
display_remaining_time = yes/no If enabled, remaining time of currently playing song will be be displayed in statusbar instead of elapsed time.
regular_expressions = none/basic/extended/perl Type of currently used regular expressions.
ignore_leading_the = yes/no If enabled, word "the" at the beginning of tags/filenames/sort format will be ignored while sorting items.
ignore_diacritics = yes/no If enabled, diacritics in strings will be ignored while searching and filtering lists.
block_search_constraints_change_if_items_found = yes/no If enabled, fields in Search engine above "Reset" button will be blocked after successful searching, otherwise they won't.
mouse_support = yes/no If set to yes, mouse support will be enabled.
mouse_list_scroll_whole_page = yes/no If enabled, mouse wheel will scroll the whole page of item list at a time, otherwise the number of lines specified by lines_scrolled variable.
lines_scrolled = NUMBER Number of lines that are scrolled with mouse wheel.
empty_tag_marker = TEXT Text that will be displayed, if requested tag is not set.
tags_separator = TEXT Separator that is placed between tags. Also interpreted by tag editor which splits input string into separate tags using it.
tag_editor_extended_numeration = yes/no If enabled, tag editor will number tracks using format xx/yy (where xx is the current track and yy is total amount of all numbered tracks), not plain xx.
media_library_sort_by_mtime = yes/no If enabled, media library will be sorted by modification time. Otherwise lexicographic sorting is used.
enable_window_title = yes/no If enabled, ncmpcpp will override current window title with its own one.
search_engine_default_search_mode = MODE_NUMBER Number of default mode used in search engine.
external_editor = PATH Path to external editor used to edit lyrics.
use_console_editor = yes/no If your external editor is console application, you need to enable it.
colors_enabled = yes/no No need to describe it, huh?
empty_tag_color = COLOR Color of empty tag marker.
header_window_color = COLOR Color of header window.
volume_color = COLOR Color of volume state.
state_line_color = COLOR Color of lines separating header and statusbar from main window.
state_flags_color = COLOR Color of MPD status flags.
main_window_color = COLOR Color of main window.
color1 = COLOR One of colors used in Song info, Tiny tag editor and Search engine.
color2 = COLOR One of colors used in Song info, Tiny tag editor and Search engine.
progressbar_color = COLOR Color of progressbar.
progressbar_elapsed_color = COLOR Color of part of progressbar that represents elapsed time.
statusbar_color = COLOR Color of statusbar.
statusbar_time_color = COLOR Color of current track time shown in statusbar.
player_state_color = COLOR Color of player state shown in statusbar.
alternative_ui_separator_color = COLOR Color of separators used in alternative user interface.
window_border_color = BORDER Border color of pop-up windows. If set to 'none', no border will be shown.
active_window_border = COLOR Color of active window's border.
BINDINGS When ncmpcpp starts, it tries to read bindings from $XDG_CONFIG_HOME/ncmpcpp/bindings and ~/.ncmpcpp/bindings files. If no bindings file is found, ncmpcpp uses the defaults. An example bindings file with default values can be found usually in /usr/share/doc/ncmpcpp (the exact location may depend on your operating system or configure prefix).
You can view current keybindings by pressing F1.
For song format you can use:
%l - length %f - filename %D - directory %a - artist %A - album artist %t - title %b - album %y - date %n - track number (01/12 -> 01) %N - full track info (01/12 -> 01/12) %g - genre %c - composer %p - performer %d - disc %C - comment %P - priority $R - begin right alignment
You can also put them in { } and then they will be displayed only if all requested values are available and/or define alternate value with { }|{ } e.g. {%a - %t}|{%f} will check if artist and title tags are available and if they are, display them. Otherwise it'll display filename.
Note: If you want to set limit on maximal length of a tag, just put the appropriate number between % and character that defines tag type, e.g. to make album take max. 20 terminal cells, use '%20b'.
Note: Format that is similar to "%a - %t" (i.e. without any additional braces) is equal to "{%a - %t}", so if one of the tags is missing, you'll get nothing.
Text can have different color than the main window, e.g. if you want length to be green, write $3%l$9.
Available values for colors:
- 0 - default window color (discards all other colors) - 1 - black - 2 - red - 3 - green - 4 - yellow - 5 - blue - 6 - magenta - 7 - cyan - 8 - white - 9 - end of current color
Note: colors can be nested, so if you write $2some$5text$9, it'll disable only usage of blue color and make red the current one.
Report bugs on https://github.com/arybczak/ncmpcpp/issues
Since MPD uses UTF-8, ncmpcpp needs to convert characters to the charset used by the local system. If you get character conversion errors while you are running ncmpcpp, you probably need to set up your locale. This is done by setting LANG and LC_ALL/LC_CTYPE environment variables (LC_CTYPE only affects character handling).
-> http://rybczak.net/ncmpcpp
mpc(1), mpd(1)
GIT-ANNOTATE(1)                    Git Manual                    GIT-ANNOTATE(1)
git-annotate - Annotate file lines with commit information
git annotate [<options>] <file> [<revision>]
Annotates each line in the given file with information from the commit which introduced the line. Optionally annotates from a given revision.
The only difference between this command and git-blame(1) is that they use slightly different output formats, and this command exists only for backward compatibility to support existing scripts, and provide a more familiar command name for people coming from other SCM systems.
-b Show blank SHA-1 for boundary commits. This can also be controlled via the blame.blankBoundary config option.
--root Do not treat root commits as boundaries. This can also be controlled via the blame.showRoot config option.
--show-stats Include additional statistics at the end of blame output.
-L <start>,<end>, -L :<funcname> Annotate only the line range given by <start>,<end>, or by the function name regex <funcname>. May be specified multiple times. Overlapping ranges are allowed.
<start> and <end> are optional.  -L <start> or -L <start>, spans from <start> to end of file.  -L ,<end> spans from start of file to <end>.
<start> and <end> can take one of these forms:
•   number
If <start> or <end> is a number, it specifies an absolute line number (lines count from 1).
•   /regex/
This form will use the first line matching the given POSIX regex. If <start> is a regex, it will search from the end of the previous -L range, if any, otherwise from the start of file. If <start> is ^/regex/, it will search from the start of file. If <end> is a regex, it will search starting at the line given by <start>.
•   +offset or -offset
This is only valid for <end> and will specify a number of lines before or after the line given by <start>.
If :<funcname> is given in place of <start> and <end>, it is a regular expression that denotes the range from the first funcname line that matches <funcname>, up to the next funcname line. :<funcname> searches from the end of the previous -L range, if any, otherwise from the start of file.  ^:<funcname> searches from the start of file. The function names are determined in the same way as git diff works out patch hunk headers (see Defining a custom hunk-header in gitattributes(5)).
-l Show long rev (Default: off).
-t Show raw timestamp (Default: off).
-S <revs-file> Use revisions from revs-file instead of calling git-rev-list(1).
--reverse <rev>..<rev> Walk history forward instead of backward. Instead of showing the revision in which a line appeared, this shows the last revision in which a line has existed. This requires a range of revision like START..END where the path to blame exists in START.  git blame --reverse START is taken as git blame --reverse START..HEAD for convenience.
--first-parent Follow only the first parent commit upon seeing a merge commit. This option can be used to determine when a line was introduced to a particular integration branch, rather than when it was introduced to the history overall.
-p, --porcelain Show in a format designed for machine consumption.
--line-porcelain Show the porcelain format, but output commit information for each line, not just the first time a commit is referenced. Implies --porcelain.
--incremental Show the result incrementally in a format designed for machine consumption.
--encoding=<encoding> Specifies the encoding used to output author names and commit summaries. Setting it to none makes blame output unconverted data. For more information see the discussion about encoding in the git- log(1) manual page.
--contents <file> When <rev> is not specified, the command annotates the changes starting backwards from the working tree copy. This flag makes the command pretend as if the working tree copy has the contents of the named file (specify - to make the command read from the standard input).
--date <format> Specifies the format used to output dates. If --date is not provided, the value of the blame.date config variable is used. If the blame.date config variable is also not set, the iso format is used. For supported values, see the discussion of the --date option at git- log(1).
--[no-]progress Progress status is reported on the standard error stream by default when it is attached to a terminal. This flag enables progress reporting even if not attached to a terminal. Can’t use --progress together with --porcelain or --incremental.
-M[<num>] Detect moved or copied lines within a file. When a commit moves or copies a block of lines (e.g. the original file has A and then B, and the commit changes it to B and then A), the traditional blame algorithm notices only half of the movement and typically blames the lines that were moved up (i.e. B) to the parent and assigns blame to the lines that were moved down (i.e. A) to the child commit. With this option, both groups of lines are blamed on the parent by running extra passes of inspection.
<num> is optional but it is the lower bound on the number of alphanumeric characters that Git must detect as moving/copying within a file for it to associate those lines with the parent commit. The default value is 20.
-C[<num>] In addition to -M, detect lines moved or copied from other files that were modified in the same commit. This is useful when you reorganize your program and move code around across files. When this option is given twice, the command additionally looks for copies from other files in the commit that creates the file. When this option is given three times, the command additionally looks for copies from other files in any commit.
<num> is optional but it is the lower bound on the number of alphanumeric characters that Git must detect as moving/copying between files for it to associate those lines with the parent commit. And the default value is 40. If there are more than one -C options given, the <num> argument of the last -C will take effect.
--ignore-rev <rev> Ignore changes made by the revision when assigning blame, as if the change never happened. Lines that were changed or added by an ignored commit will be blamed on the previous commit that changed that line or nearby lines. This option may be specified multiple times to ignore more than one revision. If the blame.markIgnoredLines config option is set, then lines that were changed by an ignored commit and attributed to another commit will be marked with a ?  in the blame output. If the blame.markUnblamableLines config option is set, then those lines touched by an ignored commit that we could not attribute to another revision are marked with a *.
--ignore-revs-file <file> Ignore revisions listed in file, which must be in the same format as an fsck.skipList. This option may be repeated, and these files will be processed after any files specified with the blame.ignoreRevsFile config option. An empty file name, "", will clear the list of revs from previously processed files.
--color-lines Color line annotations in the default format differently if they come from the same commit as the preceding line. This makes it easier to distinguish code blocks introduced by different commits. The color defaults to cyan and can be adjusted using the color.blame.repeatedLines config option.
--color-by-age Color line annotations depending on the age of the line in the default format. The color.blame.highlightRecent config option controls what color is used for each range of age.
-h Show help message.
git-blame(1)
PVCREATE(8)                  System Manager's Manual                 PVCREATE(8)
pvcreate - initialize a disk or partition for use by LVM
pvcreate [-d|--debug] [-f[f]|--force [--force]] [-y|--yes] [-h|--help] [-v|--verbose] [-V|--version] PhysicalVolume [PhysicalVolume...]
pvcreate initializes PhysicalVolume for later use by the Logical Volume Manager (LVM).  Each PhysicalVolume can be a disk partition, whole disk, meta device, or loopback file.  For DOS disk partitions, the partition id must be set to 0x8e using fdisk(8), cfdisk(8), or a equivalent.  For whole disk devices only the partition table must be erased, which will effectively destroy all data on that disk.  This can be done by zeroing the first sector with:
dd if=/dev/zero of=PhysicalVolume bs=512 count=1
Continue with vgcreate(8) to create a new volume group on PhysicalVolume, or vgextend(8) to add PhysicalVolume to an existing volume group.
OPTIONS -d, --debug Enables additional debugging output (if compiled with DEBUG).
-f, --force Force the creation without any confirmation.  You can not recreate (reinitialize) a physical volume belonging to an existing volume group.  In an emergency you can override this behaviour with -ff. In no case case can you initialize an active physical volume with this command.