CONMAN.CONF(5)
π CONMAN.CONF(5) π
okay bestie, this is the conman.conf page from ConMan: The Console Manager π«Ά
β¨ NAME β¨
conman.conf β the ConMan daemon configuration file π
π¦ DESCRIPTION π¦
The conman.conf configuration file is where you tell conmand which consoles itβs managing. Itβs giving βmain character energyβ for the whole daemon, ngl π
Quick syntax vibe check:
- Comments start with a hash sign (
#) and run until the end of the line. - Blank lines and white-space are ignored.
- Directives are terminated by a newline, but they can span multiple lines by escaping that newline β meaning you put a backslash immediately before the newline.
- Strings may be single-quoted or double-quoted, but they may not contain newlines.
- Keywords are case-insensitive.
π SERVER DIRECTIVES π
These directives begin with the SERVER keyword followed by one of these key/value pairs:
coredump = (on|off)β says whether the daemon should generate a core dump file. That file gets created in the current working directory (or/when running in the background) unless you also setcoredumpdir. The default isoff. πcoredumpdir = "directory"β sets the directory where the daemon tries to write core dump files. The default is empty, meaning the current working directory (or/when running in the background) will be used.execpath = "dir1:dir2:dir3..."β a colon-separated list of directories to search for external process-based console executables that are not defined by an absolute or relative pathname. The default is empty.keepalive = (on|off)β says whether the daemon will use TCP keep-alives for detecting dead connections. The default ison. β¨logdir = "directory"β a directory prefix for log files that are not defined via an absolute pathname. This affects the server logfile, global log, and console log directives.logfile = "file[,priority]"β the file to which log messages are appended if the daemon is not running in the foreground. This string undergoes conversion specifier expansion (see CONVERSION SPECIFICATIONS) each time the file is opened. If an absolute pathname is not given, the fileβs location is relative to eitherlogdir(if defined) or the current working directory. Intermediate directories will be created as needed. The filename may optionally be followed by a comma and a minimum priority at which messages will be logged. Refer tosyslog.conf(5)for a list of priorities. The default priority isinfo. If this keyword is used in conjunction with thesyslogkeyword, messages will be sent to both locations.loopback = (on|off)β says whether the daemon will bind its socket to the loopback address, thereby only accepting local client connections directed to that address (127.0.0.1). The default ison.nofile = integerβ the maximum number of open files for the daemon. If set to0, use the current (soft) limit. If set to-1, use the maximum (hard) limit. The default is0.pidfile = "file"β the file to which the daemonβs PID is written. Intermediate directories will be created as needed. The use of a pidfile is recommended if you want to use the daemonβs-k,-q, or-roptions. πport = integerβ the port on which the daemon will listen for client connections.resetcmd = "string"β a command string to be invoked by a subshell upon receipt of the clientβs"reset"escape. Multiple commands within a string may be separated with semicolons. This string undergoes conversion specifier expansion (see CONVERSION SPECIFICATIONS) and will be invoked multiple times if the client is connected to multiple consoles.syslog = "facility"β says log messages are to be sent to the system logger (syslogd) at the given facility. Refer tosyslog.conf(5)for a list of facilities. If this keyword is used in conjunction with thelogfilekeyword, messages will be sent to both locations.tcpwrappers = (on|off)β says whether the daemon will use TCP-Wrappers when accepting client connections. Support for this feature must be enabled at compile-time (via configureβs--with-tcp-wrappersoption). Refer tohosts_access(5)andhosts_options(5)for more details. The default isoff. π¦timestamp = integer (m|h|d)β the interval between timestamps written to the individual console log files. The interval is an integer that may be followed by a single-character modifier:mfor minutes (the default),hfor hours, ordfor days. The default is0(i.e., no timestamps). β
π GLOBAL DIRECTIVES π
These directives begin with the GLOBAL keyword followed by one of these key/value pairs:
log = "file"β the default log file to use for each console directive. This string undergoes conversion specifier expansion (see CONVERSION SPECIFICATIONS) each time the file is opened; it must contain either%Nor%D. If an absolute pathname is not given, the fileβs location is relative to eitherlogdir(if defined) or the current working directory. Intermediate directories will be created as needed.logopts = "(lock|nolock),(sanitize|nosanitize),(timestamp|notimestamp)"β global options for the console log files. These options can be overridden on a per-console basis by specifying theCONSOLElogoptskeyword. Note that options affecting the output of the consoleβs logfile also affect the output of the consoleβs log-replay escape. The validlogoptsinclude the following:lockornolockβ locked logs are protected with a write lock.sanitizeornosanitizeβ sanitized logs convert non-printable characters into 7-bit printable characters.timestampornotimestampβ timestamped logs prepend each line of console output with a timestamp in"YYYY-MM-DD HH:MM:SS"format. This timestamp is generated when the first character following the line break is output.
The default is "lock,nosanitize,notimestamp". π
seropts = "bps[,databits[parity[stopbits]]]"β global options for local serial devices. These options can be overridden on a per-console basis by specifying theCONSOLEseroptskeyword.
bps is an integer specifying the baud rate in bits-per-second. If this exact value is not supported by the system, it will be rounded down to the next supported value.
databits is an integer from 5-8.
parity is a single case-insensitive character: 'n' for none, 'o' for odd, and 'e' for even.
stopbits is an integer from 1-2.
The default is "9600,8n1" for 9600 bps, 8 data bits, no parity, and 1 stop bit. π
ipmiopts = "U:str,P:str,K:str,C:int,L:str,W:flag"β global options for IPMI Serial-Over-LAN devices. These options can be overridden on a per-console basis by specifying theCONSOLEIPMIOPTSkeyword. This directive is only available if configured using the--with-freeipmioption.
The IPMIOPTS string is parsed into comma-delimited substrings where each substring is of the form "X:VALUE". "X" is a single-character case-insensitive key specifying the option type, and "VALUE" is its corresponding value. The IPMI default will be used if a key is not specified. The /etc/freeipmi/libipmiconsole.conf file can contain alternate default values; see libipmiconsole.conf(5). Note that since the IPMIOPTS string is delimited by commas, substring values cannot contain commas.
The valid IPMIOPTS substrings include the following (in any order):
U:usernameβ a string of at most 16 bytes for the username.P:passwordβ a string of at most 20 bytes for the password.K:K_gβ a string of at most 20 bytes for theK_gkey.C:cipher_suiteβ an integer for the IPMI cipher suite ID. Refer toipmiconsole(8)for a list of supported IDs.L:privilege_levelβ the string"user","op", or"admin".W:workaround_flagβ a string or integer for an IPMI workaround. The following strings are recognized:"authcap","integritycheckvalue","intel20","nochecksumcheck","opensesspriv","serialalertsdeferred","solchannelsupport","solpacketseq","solpayloadsize","solport","solstatus","sun20","supermicro20","default", and"none". Refer toipmiconsole(8)for more information on these workarounds. This substring may be repeated in order to specify multiple workarounds.
Both the password and K_g values can be specified in either ASCII or hexadecimal; in the latter case, the string should begin with "0x" and contain at most 40 hexadecimal digits. A K_g key entered in hexadecimal may contain embedded null characters, but any characters following the first null character in the password key will be ignored. π₯
π₯οΈ CONSOLE DIRECTIVES π
Okay bestie, this is where you define an individual console that the daemon is managing. The CONSOLE keyword gets followed by one or more of these key/value pairs β and yes, you need the ones marked required. No skipping, slay? β¨
name = "string"β this is the name clients use to refer to the console. It is required. Periodt.dev = "string"β this tells conman the type and location of the device. Also required. And itβs giving βchoose your fighter,β because there are several formats:
A local serial port connection is defined by the pathname of the character device file.
A remote terminal server connection using the telnet protocol is defined by the "host:port" format β where host is the remote hostname or IPv4 address, and port is the remote port number.
An external process-based connection is defined by the "path args" format β where path is the pathname to an executable file/script, and any additional args are space-delimited. The /usr/share/conman/exec directory contains scripts for various console types. iykyk π«Ά
A local Unix domain socket connection is defined by the "unix:path" format β where "unix:" is the literal character string prefix and path is the pathname of the local socket.
An IPMI Serial-Over-LAN connection is defined by the "ipmi:host" format β where "ipmi:" is the literal string and host is a hostname or IPv4 address.
The %N character sequence will be replaced by the console name. Cute and useful, honestly π
log = "file"β specifies the file where console output is logged. This string undergoes conversion specifier expansion (see CONVERSION SPECIFICATIONS) each time the file is opened. If an absolute pathname is not given, the fileβs location is relative to eitherlogdir(if defined) or the current working directory. Intermediate directories will be created as needed. An empty log string (i.e.,log="") disables logging, overriding the globallogname. Not me loving a dramatic empty string moment πlogopts = "string"β this keyword is optional (see GLOBAL DIRECTIVES).seropts = "string"β this keyword is optional (see GLOBAL DIRECTIVES).ipmiopts = "string"β this keyword is optional (see GLOBAL DIRECTIVES).
β¨ CONVERSION SPECIFICATIONS β¨
A conversion specifier is a two-character sequence beginning with a % character. The second character in the sequence specifies the type of conversion to be applied. The following specifiers are supported β and yes, bestie, weβre listing every single one π
%dβ the day of the month as a 2-digit number (01-31).%Dβ the console device basename (from thedevstring), with leading directory components removed.%gβ the ISO 8601 week-based year as a 2-digit number without the century. See%Vfor the corresponding ISO 8601 week number.%Gβ the ISO 8601 week-based year as a 4-digit number with the century. See%Vfor the corresponding ISO 8601 week number.%Hβ the hour as a 2-digit number (00-23).%jβ the day of the year as a 3-digit number (001-366).%mβ the month as a 2-digit number (01-12).%Mβ the minute as a 2-digit number (00-59).%Nβ the console name (from thenamestring).%Pβ the daemonβs process ID.%sβ the number of seconds since the Epoch (1970-01-01 00:00:00 UTC).%Sβ the second as a 2-digit number (00-60). The range is up to60to allow for occasional leap seconds. Science! π§%uβ the day of the week as a number (1-7), with Monday being1. See also%w.%Uβ the week number as a 2-digit number (00-53), starting with the first Sunday of the year as the first day of week01; previous days in the new year are in week00. See also%Vand%W.%Vβ the ISO 8601 week number (01-53). Weeks start on a Monday. Week01is the first week where four or more days fall within the new year. When the first calendar week has fewer than four days, it is counted as the last week of the previous year. See%gor%Gfor the corresponding ISO 8601 week-based year. Thatβs the whole vibe check in one specifier.%wβ the day of the week as a number (0-6), with Sunday being0. See also%u.%Wβ the week number as a 2-digit number (00-53), starting with the first Monday of the year as the first day of week01; previous days in the new year are in week00. See also%Uand%V.%yβ the year as a 2-digit number without the century.%Yβ the year as a 4-digit number with the century.%%β a single%character. Iconic, honestly.
The console name (%N) and device (%D) specifiers are βsanitizedβ in that non-printable characters and the forward-slash (/) character are replaced with underscores. No cap, thatβs literally what happens π«Ά
Conversion specifiers within console log filenames are evaluated when the file is opened; this occurs when conmand first starts and whenever it receives a SIGHUP. Thatβs the lore.
ποΈ FILES
/etc/conman.confβ bestie, thatβs the file.
π AUTHOR
Chris Dunlap <cdunlap@llnl.gov>
Β©οΈ COPYRIGHT
Copyright (C) 2007-2022 Lawrence Livermore National Security, LLC. Copyright (C) 2001-2007 The Regents of the University of California.
π LICENSE
ConMan is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
π SEE ALSO
And thatβs the whole page, bestie β signing off from the <rainbow>conman-0.3.1era, dated2022-10-17, living under the very official title of CONMAN.CONF(5)`. Go forth and configure your consoles with main character energy π
β¨π¦
π¦ where this page comes from
- epel 10: conman 0.3.1-1.el10_3 Β· GPL-3.0-or-later AND ISC
- epel 9: conman 0.3.1-1.el9 Β· GPL-3.0-or-later AND ISC
- fedora 43: conman 0.3.1-6.fc43 Β· GPL-3.0-or-later AND ISC
- fedora 44: conman 0.3.1-8.fc44 Β· GPL-3.0-or-later AND ISC
- opensuse-leap 16.0: conman 0.3.1-bp160.1.13 Β· GPL-3.0-or-later
- opensuse-leap 16.0: conman 0.3.1-bp160.1.13 Β· GPL-3.0-or-later
- opensuse-leap 16.0: conman 0.3.1-bp160.1.13 Β· GPL-3.0-or-later
- opensuse-leap 16.0: conman 0.3.1-bp160.1.13 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms