inxi/inxi.1
Harald Hope cd1e29b0af Just as 3.3.10 > 3.3.11 were a huge set of CPU upgrades, including significant
internal refactors, so too is 3.3.13 a significant Graphics upgrade, featuring
significant upgrades to Wayland (and Xvesa/TinyX!) support, and allowing for
much more granular output controls. The legacy -Ga showing
Display/Screen/Monitors is now split apart, and can now work for some features
in and out of display.

This upgrade should be of significant interest to any Wayland using distro, as
well as the tiny Xvesa based distros like TinyCore, Slitaz, and Puppy.

--------------------------------------------------------------------------------
NOTE TO MAINTAINERS AND PACKAGERS:

If you had Cpanel::JSON::XS or JSON::XS Perl modules as dependencies, you can
remove those, inxi now can use JSON::PP, which is in Core Modules since Perl
5.14 (unless for some reason your distro removed that module from Core Modules).

Basically inxi will simply look for whichever of the 3 is installed, and use
that one.

--------------------------------------------------------------------------------
KNOWN ISSUES:

1. The free drivers for xorg like amdgpu, modesetting, alter the the internal
kernel IDs for monitors/gfx device ports, which is somewhat bizarre since the
ideal role of any ID is to be an identifier that always works. Due to this
situation, inxi has to map the kernel ids to the x driver monitor IDs in order
to show the advanced monitor data, like model: mapped: and modes:. This may not
always work as expected since if the mapping fails, the data will fail to match
to the monitors. While not enough data is in to make any conclusions, hoping
that this issue does not exist on Wayland compositors.

--------------------------------------------------------------------------------
BUGS:

1. Not sure if this was a bug, but I believe RAM vendor ID matches would never
have generated results, and might have generated errors. That's corrected as
part of Code fix 1.

--------------------------------------------------------------------------------
FIXES:

1. Tiny indentation level issue, for -Ga, Monitor was not set to be a container
for its data. This would only impact -y 1 or json and xml output cases, and would
be subtle, but it was an oversight.

2. Small fix for monitor dimensions, failed to switch the mm dimensions for
monitors placed in a vertical, portait mode, instead of standard landscape mode.
Now switches mm x and y if that is detected, which corrects dpi as well.

3. For Xvesa:

* Show vesa as display driver, Xvesa == vesa, dugh,lol.

* Show better Interface and Screen resolution data missing messages.

* See FIX 5 for adding in display-ID:.

* Show TinX Xvesa string for server data, not just Xvesa.

4. For Wayland, which currently has no EGL support in inxi, if no glxinfo
present, show EGL Wayland specific Messsage: for advanced EGL data, not the
generic glxinfo that were shown previously.

5. Display was relying on xdpyinfo or a Wayland environmental variable to set
display-ID:, now falls back always to $ENV{DISPLAY} if nothing else was found
and that exists. I hadn't realized how much was depending on those x tools,
which many people never had installed in the first place. This also supplies
that for Xvesa as well, which has features that need the Display-ID to use.

6. Intel family 6, model 17h, supposed to be yorkfield, was penryn, fixed.

7. Small fix for remove_duplicates, it was not case insensitive so missed things
like DELL Dell in strings.

8. Failed to detect or get Xfree86 X server version number.

--------------------------------------------------------------------------------
ENHANCEMENTS:

1. Extensive Graphics Upgrades:

* -Gxx Devices: For some gpus / drivers, show vram total and used for -Gxx.
amdgpu supports this, I believe it's the only one, but don't know for sure.

* -Gxx Devices: (Linux only): Show active, off (connected but disabled, like a
closed laptop screen with attached moniitor), and empty ports on devices. Not
tested for USB yet.

* -Gxx Devices: Show device ports (like VGA-1, DVI-I-1, HDMI-A-1), active, off
(off is connected but disabled) and empty (linux only).

* -G Display/Screen: Removed strict dependency on xdpyinfo to show advanced xorg
screen and display data. Now it will show most of the data if xrandr is
available, and all if xrandr and xdpyinfo are installed. More granular error
messages as well.

* -G Wayland Display: new type, d-rect: for > 1 monitor Wayland display layouts.
Works roughly the same as Screen: s-res: does, except since Wayland has no
'Screen' concept, that goes into Display. This is sort of a rough algo,
basically it takes either the dimensions of the total of x and y resolutions, or
the greatest x or y resolution found for any monitor, whichever is greater, and
uses that to create the display rectangle resolution composite value.

* -G Display, Monitors: Extended display tool options from just xrandr to
swaymsg, wlr-xrandr, weston-info, wayland-info. Still nothing on kwin_wayland or
gnome-shell and mutter data.

*. -S, -G: compositors, full redo of list, now supported:

asc awc cage cagebreak cardboard chameleonwm clayland comfc dwc dwl epd-wm
fireplace feathers fenestra glass gamescope greenfield grefson hikari hopalong
inaban japokwm kiwmi kwinft  labwc laikawm lipstick liri mahogany marina maze
motorcar newm nucleus orbital perceptia phoc pywm qtile river rustland simulavr
skylight sommelier sway swc swvkc tabby taiwins tinybox tinywl trinkster velox
vimway vivarium wavy waybox way-cooler wayfire wayhouse waymonad westeros
westford weston wio+ wio wxrc wxrd xuake

* -G Enhanced Interfaces/GL item, previously only type OpenGL forX, now has:

  * X - OpenGL, requires glxinfo , same as before.

  * Wayland - EGL, currently no tool available, stub in place. Allegedly this
  data can be found but have no idea how or if a tool does that yet

  * Xvesa - Interface: interface type (VBE/GOP). GOP not confirmed, no data
  samples; v:, source:, dac: (no idea what it is, show it though), controller:,
  and ram: items.

  This is based on TinyX/Xvesa as found in TinyCore, but should work in Slitaz
  and Puppy TinyX as well if those projects are still around.

* -G Display/Screen/Monitor data: Created structures and abstractions that allow
for Wayland/Xorg/Xvesa data, most new features will work with any of these. Or
Arcan, if that actually makes it, and we get data for it. We'll wait on Arcan,
heh.

* -G Display server: For Xvesa, added type TinyX to server if detected. Added
Xwayland, which was not handled previously. For Xwayland, if wayland running,
and if Xorg also installed, shows:

  server: X.org
    v: 1.20.14
    with: Xwayland
      v: 21.01

Otherwise shows:

  server: Xwayland
    v: 21.01

* -G Compositors: fixed a long standing weak spot, if > 1 compositor detected
running, not common, but could happen, shows all detected compositors.

  Display: x11
    server: X.Org
      v: 1.20.13
    compositors:
      1: Mutter
        v: 41.1
      2: xfwm
        v: 4.16.1
    driver:
      X:
        loaded: modesetting
      gpu: radeon

* -G drivers: now shows if X or gpu driver, in each its own section. This makes
it more obvious what is going on:

  Display: x11
    server: X.Org
      v: 1.20.13
    driver:
      X:
        loaded: modesetting
      gpu: radeon
    resolution:

* -Gxx Monitors: Show primary monitor with pos: primary,right. Uses either
xrandr 'primary' value, or if no 'primary' found in an Xorg Screen, uses +0+0
positioned monitor. Position is based on the row and column number in the
rectangular grid of monitors when monitors per Xorg Screen are > 1.

For most common multi-monitor layouts, text positions are used, which are in
general more clear and easy to understand than their internal numeric
counterparts, that is, unless the layout is too complicated, it will show left,
or top-left, instead of 1-1, and so on.

Text mode positions are available for the following grid styles currently: 1x2,
1x3, 1x4, 2x1, 2x2, 2x3, 3x1, 3x2, 3x3. 'top' means the top row if > 1 row,
'bottom' means the bottom row, 'middle' is the middle row if 3 rows, 'left' is
the first column, 'right' the last, 'center' if 3 columns, and 'center-l' (1-2),
'center-r' (1-3) are the 2 center columns if 4 columns. 'bottom-l', 'bottom-c',
'bottom-r'; 'middle-l', 'middle-c', 'middle-r'; 'top-left', 'top-center',
'top-right' complete the possible values.

If the grid of monitors is greater than the supported rows or columns, it will
switch to numeric row-column mode, with column-row numbering starting at 1-1,
top left.

* -Gxx Monitors: show (if detected, Linux only) monitor model, and if the
display ID (from Xorg or Wayland) is different from the /sys monitor ID, show
mapped: to show the /sys id.

* -Gxxx Monitors: show modes: max: XxY min: XxY, or mode: XxY (if only 1 mode
found). Shows hz:

* -Ga Monitors: shows serial, built year, gamma, ratio, if detected.

2. Added impish 21-10 and jammy 22-04 to ubuntu id. That's for Mint base ID. Not
huge point in updating if Mint doesn't update inxi, but there it is.

3. For -Axx, -Exx, -Gxx, -Nxx, shows PCIe speed and lanes. With -a, shows max
speed / lanes if different than current speeds/lanes. Note that for unknown
reasons not all devices in a PCIe slot show this data.

4. -Ixx: terminals added: foot, ate

5. -Sxx: login/display managers added: emptty, greetd, qingy, tbsm. See CODE 5
for more info on how this change was done.

6. -Sxxx: status/dock/panel bars added: i3-status-rs, luastatus, nwg-bar,
nwg-dock, nwg-panel, rootbar, sfwbar, wapanel, waybar, yambar

7. Added a Tyan board IPMI sensor data set.

8. Added support for fruid_print for Elbrus -M Machine data. Those boards don't
have dmi tables, but do ship with Elbrus OS which has fruid_print.

9. More disk vendors! Yes, you know the drill, the world turns, and with every
turn, a flock of new vendors appears, like baby rabbits emerging from their
warren, endlessly, a stream that is the life essence itself... or something.

--------------------------------------------------------------------------------
CHANGES:

1. When xdpyinfo is not installed, user will still see advanced -Ga Monitor and
Screen data as long as xrandr at least is installed. Better error messages as
well now to explain which tool or tools missing caused the missing data.

2. -Gxx will show basic Screen and Monitors, id, mapped, pos:, model, res, dpi,
diag; -Gxxx adds Monitor modes; --Ga adds screen/monitor size, Screen diag.

3. -ba/-v2 no longer show the full screens/monitor report, now it remains basic
mode output, which it should have always done, unless -G is also explicitly
added.

4. Split apart x-server version to v:, which should always have been the case.

5. Xvesa and Wayland no longer show glxinfo messages for no glxinfo for GL data.
Now they show their own custom messages, appropriate to the case.

6. json features now test for JSON::PP, JSON::XS, or Cpanel::JSON::XS modules,
and use whichever is found. Note I did not realize JSON::PP was in core modules
as of 5.14 so that makes sense to use, and will allow inxi to start using json
data sources, which are a lot easier to parse.

7. Changed -G drivers to show subsections for X and gpu drivers, and updated
missing driver messages to account for this change. X drivers now show the sub
sets of loaded/unloaded/failed/alternate, and gpu shows active gpu drivers,
assuming such are detected.

--------------------------------------------------------------------------------
DOCUMENTATION:

1. Help and man page updates for -G Display/Screen/Monitor changes. Redid -G,
-Gx, -Gxx, -Gxxx, -Ga. Added monitor layout position feature.

2. Updated -Ga for xrandr/xdpyinfo changes.

3. Updated --recommends to more accurately show function of xdpyinfo and xrandr
for -G and -Ga.

4. Reorganized and added complete table of contents to docs/inxi-data.txt

--------------------------------------------------------------------------------
CODE:

1. Slightly optimized use of array loads on disk_vendor() and ram_vendor() based
on how it's now done for monitor layouts, which is more efficient, use a scalar
to hold a reference to the array, that avoids having the array ever exist in
more than 1 place. Part of the ongoing process of avoiding extra hash and array
copies globally.

2. Moved to consistent undef behaviors.
 * For lists of variables use () to undefine, changed all of the the following:
    1. (@a,$b,$c,%d) = (undef,undef,undef,undef);
    2. (@a,$b,$c,%d) = (undef);
    3. (@a,$b,$c,%d) = undef;
   to use: (@a,$b,$c,%d) = (); This undefines all the variables in the list.
   Note that assigning undef to @a in the first example creates an array of 1
   key, with the value undef, and (@a,@b) = (undef,undef) creates arrays of 2
   indexes, or something like that. Not what was wanted.
   Examples 2 and 3 assign undef to @a: an array of 1 index, value undef, and
   undefine the others variables in the list. This was not the desired behavior!
 * For most scalars, arrays, and hashes, use: undef @a; undef $s; undef %h.
 * For some hash and array index values, use $h{a} = undef. These cases may want
   the key itself to exist, with the value of undef, though I believe:
    undef $h{a};
   is synonymous, but still have to verify that.

I did some testing, and realized that some of the undef I had used in the
various previous ways of using undef were not actually resulting in the expected
behaviors.

3. Refactored display_data_x into 3 functions, added display_data_xdpyinfo and
display_data_xrandr, which allows for more granular handling of those
dependencies, now inxi can show most advanced display data with only xrandr
installed.

4. Significantly improved all error handling and missing data for Wayland/Xorg.

5. Refactored get_display_manager() to better handle corner case dm file or
directory names, and to avoid endless loops. Much cleaner now. Required because
greetd had varying file names, greetd.run, or just greet-546.sock. With some
other dm's that use similar, or unreadable directories in /run, now just doing
a glob of /run/ /var/run, /var/run/rc.d as detected and checking for the dms
in the names, then just using the dms that were found. Simpler.

6. Massively simplified and integrated compositor logic in Graphics, now using
program_values() and program_data() as appropriate, and simple matching list
to ps_gui data to get detected compositor[s], much simpler, far more efficient
code, less to maintain. Also fixed long-standing weak spot of exiting on first
detected compositor, now shows all detected, with version etc for each if
available.

7. With 6. also significantly simplified and optimized get_ps_de_data() for
desktop data, that's the ps aux fallback case for wm desktop detections.

8. Made $wl compositors list global to avoid having to update each section,
that's now used in -G compositor, -S desktop/wm, and wm sections. It is set
in ps_gui() on initial load.

7. Settled on one and only way to do multiline conditionals, now use no space,
use same indent level as starting if/elsif etc. I've been debating this one, but
can't find any real way to handle that elegantly so I think best to just not
try, and leave it up the code flow to show when it's wrapped condition tests.

8. Refactored previous gl_output, expanded it to handle all interface types,
OpenGL, EGL (not currently active due to no known tool to get EGL data for
Wayland, and Interface: VBE type data for Xvesa. This roughly completed the
breaking apart of the X.org centric logic for Display, Monitors, and GL data,
and make all sections now fully agnostic to display server or protocol type.

Should new display servers appear, it will now be far more simple to add support
for them, since they would just plug into the existing abstraction layers.

9. Added --debug-arg to allow for passing specific custom args to the debugger.

10. Refactored display_server version, now works much better, creates lists of
server/version, and xwayland as well if found.
2022-02-22 15:58:37 -08:00

2720 lines
96 KiB
Groff

.\" inxi.1 - manpage for inxi system information tool
.\" Copyright (C) 2021 Harald Hope
.\"
.\" This program 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.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License along
.\" with this program; if not, write to the Free Software Foundation, Inc.,
.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
.\"
.TH INXI 1 "2022\-02\-22" "inxi" "inxi manual"
.SH NAME
inxi \- Command line system information script for console and IRC
.SH SYNOPSIS
\fBinxi\fR
\fBinxi\fR [\fB\-AbBCdDEfFGhiIjJlLmMnNopPrRsSuUVwyYzZ\fR]
\fBinxi\fR [\fB\-c NUMBER\fR]
[\fB\-\-sensors\-exclude SENSORS\fR] [\fB\-\-sensors\-use SENSORS\fR]
[\fB\-t\fR [\fBc\fR|\fBm\fR|\fBcm\fR|\fBmc\fR][\fBNUMBER\fR]]
[\fB\-v NUMBER\fR] [\fB\-W LOCATION\fR]
[\fB\-\-weather\-unit\fR {\fBm\fR|\fBi\fR|\fBmi\fR|\fBim\fR}] [\fB\-y WIDTH\fR]
\fBinxi\fR [\fB\-\-memory\-modules\fR] [\fB\-\-memory\-short\fR]
[\fB\-\-recommends\fR] [\fB\-\-sensors\-default\fR] [\fB\-\-slots\fR]
\fBinxi\fB [\fB\-x\fR|\fB\-xx\fR|\fB\-xxx\fR|\fB\-a\fR] \fB\-OPTION(s)\fR
All short form options have long form variants \- see below for these and more
advanced options.
.SH DESCRIPTION
\fBinxi\fR is a command line system information script built for console and
IRC. It is also used a debugging tool for forum technical support to quickly
ascertain users' system configurations and hardware. inxi shows system
hardware, CPU, drivers, Xorg, Desktop, Kernel, gcc version(s), Processes, RAM
usage, and a wide variety of other useful information.
\fBinxi\fR output varies depending on whether it is being used on CLI or IRC,
with some default filters and color options applied only for IRC use.
Script colors can be turned off if desired with \fB\-c 0\fR, or changed
using the \fB\-c\fR color options listed in the STANDARD OPTIONS section below.
.SH PRIVACY AND SECURITY
In order to maintain basic privacy and security, inxi used on IRC automatically
filters out your network device MAC address, WAN and LAN IP, your \fB/home\fR
username directory in partitions, and a few other items.
Because inxi is often used on forums for support, you can also trigger this
filtering with the \fB\-z\fR option (\fB\-Fz\fR, for example). To override
the IRC filter, you can use the \fB\-Z\fR option. This can be useful in
debugging network connection issues online in a private chat, for example.
.SH USING OPTIONS
Options can be combined if they do not conflict. You can either group the
letters together or separate them.
Letters with numbers can have no gap or a gap at your discretion, except when
using \fB \-t\fR. Note that if you use an option that requires an additional
argument, that must be last in the short form group of options. Otherwise
you can use those separately as well.
For example:
\fBinxi \-AG\fR | \fBinxi \-A \-G\fR | \fBinxi \-b\fR | \fBinxi \-c10\fR
| \fBinxi \-FxxzJy90\fR | \fBinxi \-bay\fR
Note that all the short form options have long form equivalents, which are
listed below. However, usually the short form is used in examples in order to
keep things simple.
These are available options sections:
* \fBSTANDARD OPTIONS\fR Primary data types trigger items.
* \fBFILTER OPTIONS\fR Apply a variety of output filters.
* \fBOUTPUT CONTROL OPTIONS\fR Change default colors, widths, heights, output
types, etc.
* \fBEXTRA DATA OPTIONS\fR What \fB\-x\fR, \fB\-xx\fR, \fB\-xxx\fR, and \fB\-a\fR
add to the output.
* \fBADVANCED OPTIONS\fR Modify behavior or choice of data sources, and other
advanced switches.
* \fBDEBUGGING OPTIONS\fR For development use mainly, or contributing datasets to
the project.
.SH STANDARD OPTIONS
.TP
.B \-A \fR, \fB\-\-audio\fR
Show Audio/sound device(s) information, including device driver. Show running
sound server(s). See \fB\-xxA\fR to show all sound servers detected.
.TP
.B \-b \fR, \fB\-\-basic\fR
Show basic output, short form. Same as: \fBinxi \-v 2\fR
.TP
.B \-B \fR, \fB\-\-battery\fR
Show system battery (\fBID\-x\fR) data, charge, condition, plus extra
information (if battery present). Uses \fB/sys\fR or, for BSDs without systctl
battery data, use \fB\-\-dmidecode\fR to force its use. \fBdmidecode\fR does
not have very much information, and none about current battery
state/charge/voltage. Supports multiple batteries when using \fB/sys\fR or
\fBsysctl\fR data.
Note that for \fBcharge:\fR, the output shows the current charge, as well as
its value as a percentage of the available capacity, which can be less than
the original design capacity. In the following example, the actual current
available capacity of the battery is \fB22.2 Wh\fR.
\fBcharge: 20.1 Wh (95.4%)\fR
The \fBcondition:\fR item shows the remaining available capacity / original
design capacity, and then this figure as a percentage of original capacity
available in the battery.
\fBcondition: 22.2/36.4 Wh (61%)\fR
With \fB\-x\fR, or if voltage difference is critical, \fBvolts:\fR item shows
the current voltage, and the \fBmin:\fR voltage. Note that if the current is
below the minimum listed the battery is essentially dead and will not charge.
Test that to confirm, but that's technically how it's supposed to work.
\fBvolts: 12.0 min: 11.4\fR
With \fB\-x\fR shows attached \fBDevice\-x\fR information (mouse, keyboard,
etc.) if they are battery powered.
.TP
.B \-\-bluetooth\fR
.br
See \fB\-E\fR.
.TP
.B \-c \fR, \fB\-\-color\fR
.br
See \fBOUTPUT CONTROL OPTIONS\fR.
.TP
.B \-C \fR, \fB\-\-cpu\fR
Show full CPU output (if each item available): basic CPU topology, model, type,
L2 cache, average speed of all cores (if > 1 core, otherwise speed of the core),
min/max speeds for CPU, and per CPU clock speed. More data available with
\fB\-x\fR, \fB\-xxx\fR, and \fB\-a\fR options.
Explanation of CPU type (\fBtype: MT MCP\fR) abbreviations:
* \fBAMCP\fR \- Asymmetric Multi Core Processor. More than 1 core per CPU, and
more than one core type (single and multithreaded cores in the same CPU).
* \fBAMP\fR \- Asymmetric Multi Processing (more than 1 physical CPU, but not
identical in terms of core counts or min/max speeds).
* \fBMT\fR \- Multi/Hyper Threaded CPU (more than 1 thread per core, previously
\fBHT\fR).
* \fBMST\fR \- Multi and Single Threaded CPU (a CPU with both Single and Multi
Threaded cores).
* \fBMCM\fR \- Multi Chip Model (more than 1 die per CPU).
* \fBMCP\fR \- Multi Core Processor (more than 1 core per CPU).
* \fBSMP\fR \- Symmetric Multi Processing (more than 1 physical CPU).
* \fBUP\fR \- Uni (single core) Processor.
Note that \fBmin/max:\fR speeds are not necessarily true in cases of
overclocked CPUs or CPUs in turbo/boost mode. See \fB\-Ca\fR for alternate
\fBbase/boost:\fR speed data, more granular cache data, and more.
Sample:
.nf
\fBCPU:
Info: 2x 8\-core model: Intel Xeon E5\-2620 v4 bits: 64 type: MT MCP SMP
cache: L2: 2x 2 MiB (4 MiB)
Speed (MHz): avg: 1601 min/max: 1200/3000 cores: 1: 1280 2: 1595 3: 1416
... 32: 1634\fR
.fi
.TP
.B \-d \fR, \fB\-\-disk\-full\fR,\fB\-\-optical\fR
Show optical drive data as well as \fB\-D\fR hard drive data. With \fB\-x\fR,
adds a feature line to the output. Also shows floppy disks if present. Note
that there is no current way to get any information about the floppy device
that we are aware of, so it will simply show the floppy ID without any extra
data. \fB\-xx\fR adds a few more features.
.TP
.B \-D \fR, \fB\-\-disk\fR
Show Hard Disk info. Shows total disk space and used percentage. The disk used
percentage includes space used by swap partition(s), since those are not usable
for data storage. Also, unmounted partitions are not counted in disk use
percentages since inxi has no access to the used amount.
If the system has RAID or other logical storage, and if inxi can determine
the size of those vs their components, you will see the storage total raw and
usable sizes, plus the percent used of the usable size. The no argument short
form of inxi will show only the usable (or total if no usable) and used
percent. If there is no logical storage detected, only \fBtotal:\fR and
\fBused:\fR will show. Sample (with RAID logical size calculated):
\fBLocal Storage: total: raw: 5.49 TiB usable: 2.80 TiB used: 1.35 TiB
(48.3%)\fR
Without logical storage detected:
\fBLocal Storage: total: 2.89 TiB used: 1.51 TiB (52.3%)\fR
Also shows per disk information: Disk ID, type (if present), vendor (if
detected), model, and size. See \fBExtra Data Options\fR (\fB\-x\fR options)
and \fBAdmin Extra Data Options\fR (\fB\-\-admin\fR options) for many more
features.
.TP
.B \-E\fR, \fB\-\-bluetooth\fR
Show bluetooth device(s), drivers. Show \fBReport:\fR with HCI ID, state,
address per device (requires \fBbt\-adapter\fR or \fBhciconfig\fR),
and if available (hciconfig only) bluetooth version (\fBbt\-v\fR).
See \fBExtra Data Options\fR for more.
If bluetooth shows as \fBstatus: down\fR, shows \fBbt\-service:\fR\fB state
and rfkill\fR software and hardware blocked states, and rfkill ID.
Note that \fBReport\-ID:\fR indicates that the HCI item was not able to be
linked to a specific device, similar to \fBIF\-ID:\fR in \fB\-n\fR.
If your internal bluetooth device does not show, it's possible that
it has been disabled, if you try enabling it using for example:
\fBhciconfig hci0 up\fR
and it returns a blocked by RF\-Kill error, you can do one of these:
\fBconnmanctl enable bluetooth\fR
or
\fBrfkill list bluetooth\fR
\fBrfkill unblock bluetooth\fR
.TP
.B \-\-filter\fR, \fB\-z\fR
.br
See \fBFILTER OPTIONS\fR.
.TP
.B \-f \fR, \fB\-\-flags\fR
Show all CPU flags used, not just the short list. Not shown with \fB\-F\fR
in order to avoid spamming. ARM CPUs: show \fBfeatures\fR items.
.TP
.B \-F \fR, \fB\-\-full\fR
Show Full output for inxi. Includes all Upper Case line letters (except
\fB\-J\fR and \fB\-W\fR) plus \fB\-\-swap\fR, \fB\-s\fR and \fB\-n\fR. Does not
show extra verbose options such as \fB\-d \-f \-i -J \-l \-m \-o \-p \-r \-t \-u
\-x\fR unless you use those arguments in the command, e.g.:
\fBinxi \-Frmxx\fR
.TP
.B \-G \fR, \fB\-\-graphics\fR
Show Graphic device(s) information, including details of device and display
drivers (\fBX:\fR \fBloaded:\fR, and, if applicable: \fBunloaded:\fR,
\fBfailed:\fR, and active \fBgpu:\fR drivers), display protocol (if available),
display server (and/or Wayland compositor), vendor and version number, e.g.:
\fBDisplay: x11 server: Xorg v: 1.15.1\fR
or
\fBDisplay: wayland server: X.org v: 1.20.1 with: Xwayland v: 20.1\fR
If protocol is not detected, shows:
\fBDisplay: server: Xorg 1.15.1\fR
Also shows screen resolution(s) (per monitor/X screen). For X.org: OpenGL
renderer, OpenGL core profile version/OpenGL version; for VESA: data (for
Xvesa); for Wayland: GBM/EGL data (not implemented).
Compositor information will show if detected using \fB\-xx\fR option or always
if detected and Wayland since the compositor is the server with Wayland.
\fB\-Gxx\fR shows monitor data as well, if detected.
.TP
.B \-h \fR, \fB\-\-help\fR
The help menu. Features dynamic sizing to fit into terminal window. Set script
global \fBCOLS_MAX_CONSOLE\fR if you want a different default value, or use
\fB\-y <width>\fR to temporarily override the defaults or actual window width.
.TP
.B \-i \fR, \fB\-\-ip\fR
Show WAN IP address and local interfaces (latter requires \fBifconfig\fR or
\fBip\fR network tool), as well as network output from \fB\-n\fR. Not shown with
\fB\-F\fR for user security reasons. You shouldn't paste your local/WAN IP.
Shows both IPv4 and IPv6 link IP addresses.
.TP
.B \-I \fR, \fB\-\-info\fR
Show Information: processes, uptime, memory, IRC client (or shell type if run
in shell, not IRC), inxi version. See \fB\-Ix\fR, \fB\-Ixx\fR, and \fB\-Ia\fR
for extra information (init type/version, runlevel, packages).
Note: if \fB\-m\fR is used or triggered, the memory item will show in the main
Memory: report of \fB\-m\fR, not in \fB\Info:\fR.
Raspberry Pi only: uses \fBvcgencmd get_mem gpu\fR to get gpu RAM amount, if
user is in video group and \fBvcgencmd\fR is installed. Uses this result to
increase the \fBMemory:\fR amount and \fBused:\fR amounts.
.TP
.B \-j\fR, \fB\-\-swap\fR
Shows all active swap types (partition, file, zram). When this option is used,
swap partition(s) will not show on the \fB\-P\fR line to avoid redundancy.
To show partition labels or UUIDs (when available and relevant), use with
\fB\-l\fR or\fB \-u\fR.
.TP
.B \-J \fR, \fB\-\-usb\fR
Show USB data for attached Hubs and Devices. Hubs also show number of ports. Be
aware that a port is not always external, some may be internal, and either used
or unused (for example, a motherboard USB header connector that is not used).
Hubs and Devices are listed in order of BusID.
BusID is generally in this format: BusID\-port[.port][.port]:DeviceID
Device ID is a number created by the kernel, and has no necessary ordering or
sequence connection, but can be used to match this output to lsusb values, which
generally shows BusID / DeviceID (except for tree view, which shows ports).
Examples: \fBDevice\-3: 4\-3.2.1:2\fR or \fBHub: 4\-0:1\fR
The \fBrev: 2.0\fR item refers to the USB revision number, like \fB1.0\fR or
\fB3.1\fR.
.TP
.B \-l \fR, \fB\-\-label\fR
Show partition labels. Use with \fB\-j\fR, \fB\-o\fR, \fB\-p\fR, and \fB\-P\fR
to show partition labels. Does nothing without one of those options.
Sample: \fB\-ojpl\fR.
.TP
.B \-L\fR, \fB\-\-logical\fR
Show Logical volume information, for LVM, LUKS, bcache, etc. Shows size, free
space (for LVM VG). For LVM, shows \fBDevice\-[xx]: VG:\fR (Volume Group)
size/free, \fBLV\-[xx]\fR (Logical Volume). LV shows type, size, and components.
Note that components are made up of either containers (aka, logical devices), or
physical devices. The full report requires doas/sudo/root.
Logical block devices can be thought of as devices that are made up out of
either other logical devices, or physical devices. inxi does its best to show
what each logical device is made out of. RAID devices form a subset of all
possible Logical devices, but have their own section, \fB\-R\fR.
If \fB\-R\fR is used with \fB\-Lxx\fR, \fB\-Lxx\fR will not show RAID
information for LVM RAID devices since it's redundant. If \fB\-R\fR is not used,
a simple RAID line will appear for LVM RAID in \fB\-Lxx\fR.
\fB\-Lxx\fR also shows all components and devices. Note that since components
can go in many levels, each level per primary component is indicated by either
another 'c', or ends with a 'p' device, the physical device. The number of c's
or p's indicates the depth, so you can see which component belongs to which.
\fB\-L\fR shows only the top level components/devices (like \fB\-R\fR).
\fB\-La\fR shows component/device size, maj:min ID, mapped name (if applicable),
and puts each component/device on its own line.
Sample:
.nf
\fB Device\-10: mybackup type: LUKS dm: dm\-28 size: 6.36 GiB Components:
c\-1: md1 cc\-1: dm\-26 ppp\-1: sdj2 cc\-2: dm\-27 ppp\-1: sdk2\fR
\fBLV\-5: lvm_raid1 type: raid1 dm: dm\-16 size: 4.88 GiB
RAID: stripes: 2 sync: idle copied: 100% mismatches: 0
Components: c\-1: dm\-10 pp\-1: sdd1 c\-2: dm\-11 pp\-1: sdd1 c\-3: dm\-13
pp\-1: sde1 c\-4: dm\-15 pp\-1: sde1\fR
.fi
It is easier to follow the flow of components and devices using \fB\-y1\fR. In
this example, there is one primary component (c\-1), md1, which is made up of
two components (cc\-1,2), dm\-26 and dm\-27. These are respectively made from
physical devices (p\-1) sdj2 and sdk2.
.nf
\fBDevice\-10: mybackup
maj\-min: 254:28
type: LUKS
dm: dm\-28
size: 6.36 GiB
Components:
c\-1: md1
maj\-min: 9:1
size: 6.37 GiB
cc\-1: dm\-26
maj\-min: 254:26
mapped: vg5\-level1a
size: 12.28 GiB
ppp\-1: sdj2
maj\-min: 8:146
size: 12.79 GiB
cc\-2: dm\-27
maj\-min: 254:27
mapped: vg5\-level1b
size: 6.38 GiB
ppp\-1: sdk2
maj\-min: 8:162
size: 12.79 GiB\fR
.fi
Other types of logical block handling like LUKS, bcache show as:
\fBDevice\-[xx] [name/id] type: [LUKS|Crypto|bcache]:\fR
.TP
.B \-m \fR, \fB\-\-memory\fR
Memory (RAM) data. Does not display with \fB\-b\fR or \fB\-F\fR unless you
use \fB\-m\fR explicitly. Ordered by system board physical system memory
array(s) (\fBArray\-[number]\fR), and individual memory devices
(\fBDevice\-[number]\fR). Physical memory array data shows array capacity,
number of devices supported, and Error Correction information. Devices shows
locator data (highly variable in syntax), size, speed, type
(eg: \fBtype: DDR3\fR).
Note: \fB\-m\fR uses \fBdmidecode\fR, which must be run as root (or start
\fBinxi\fR with \fBdoas/sudo\fR), unless you figure out how to set up doas/sudo
to permit dmidecode to read \fB/dev/mem\fR as user. \fBspeed\fR and
\fBbus\-width\fR will not show if \fBNo Module Installed\fR is found in
\fBsize\fR.
Note: If \fB\-m\fR is triggered RAM total/used report will appear in this
section, not in \fB\-I\fR or \fB\-tm\fR items.
Because \fBdmidecode\fR data is extremely unreliable, inxi will try to make
best guesses. If you see \fB(check)\fR after the capacity number, you should
check it with the specifications. \fB(est)\fR is slightly more reliable, but
you should still check the real specifications before buying RAM. Unfortunately
there is nothing \fBinxi\fR can do to get truly reliable data about the system
RAM; maybe one day the kernel devs will put this data into \fB/sys\fR, and make
it real data, taken from the actual system, not dmi data. For most people, the
data will be right, but a significant percentage of users will have either a
wrong max module size, if present, or max capacity.
Under dmidecode, \fBSpeed:\fR is the expected speed of the memory
(what is advertised on the memory spec sheet) and \fBConfigured Clock Speed:\fR
is what the actual speed is now. To handle this, if speed and configured speed
values are different, you will see this instead:
\fBspeed: spec: [specified speed] MT/S actual: [actual] MT/S\fR
Also, if DDR, and speed in MHz, will change to: \fBspeed: [speed] MT/S
([speed] MHz)\fR
If the detected speed is logically absurd, like 1 MT/s or 69910 MT/s, adds:
\fBnote: check\fR. Sample:
.nf
\fBMemory:
RAM: total: 31.38 GiB used: 20.65 GiB (65.8%)
Array\-1: capacity: N/A slots: 4 note: check EC: N/A
Device\-1: DIMM_A1 size: 8 GiB speed: 1600 MT/s (800 MHz)
Device\-2: DIMM_A2 size: 8 GiB speed: spec: 1600 MT/s (800 MHz)
actual: 61910 MT/s (30955 MHz) note: check
Device\-3: DIMM_B1 size: 8 GiB speed: 1600 MT/s (800 MHz)
Device\-4: DIMM_B2 size: 8 GiB speed: spec: 1600 MT/s (800 MHz)
actual: 2 MT/s (1 MHz) note: check\fR
.fi
See \fB\-\-memory\-modules\fR and \fB\-\-memory\-short\fR if you want a
shorter report.
.TP
.B \-\-memory\-modules\fR
Memory (RAM) data. Show only RAM arrays and modules in Memory report.
Skip empty slots. See \fB\-m\fR.
.TP
.B \-\-memory\-short\fR
Memory (RAM) data. Show a one line RAM report in Memory. See \fB\-m\fR.
Sample: \fBReport: arrays: 1 slots: 4 modules: 2 type: DDR4\fR
.TP
.B \-M \fR, \fB\-\-machine\fR
Show machine data. Device, Motherboard, BIOS, and if present, System Builder
(Like Lenovo). Older systems/kernels without the required \fB/sys\fR data can
use \fBdmidecode\fR instead, run as root. If using \fBdmidecode\fR, may also
show BIOS/UEFI revision as well as version. \fB\-\-dmidecode\fR forces use of
\fBdmidecode\fR data instead of \fB/sys\fR. Will also attempt to show if the
system was booted by BIOS, UEFI, or UEFI [Legacy], the latter being legacy
BIOS boot mode in a system board using UEFI.
Device information requires either \fB/sys\fR or \fBdmidecode\fR. Note that
\fBother\-vm?\fR is a type that means it's usually a VM, but inxi failed to
detect which type, or positively confirm which VM it is. Primary VM
identification is via systemd\-detect\-virt but fallback tests that should also
support some BSDs are used. Less commonly used or harder to detect VMs may not
be correctly detected. If you get an incorrect output, post an issue and we'll
get it fixed if possible.
Due to unreliable vendor data, device type will show: desktop, laptop,
notebook, server, blade, plus some obscure stuff that inxi is unlikely to
ever run on.
.TP
.B \-n \fR, \fB\-\-network\-advanced\fR
Show Advanced Network device information in addition to that produced by
\fB\-N\fR. Shows interface, speed, MAC ID, state, etc.
.TP
.B \-N \fR, \fB\-\-network\fR
Show Network device(s) information, including device driver. With \fB\-x\fR,
shows Bus ID, Port number.
.TP
.B \-o \fR, \fB\-\-unmounted\fR
Show unmounted partition information (includes UUID and LABEL if available).
Shows file system type if you have \fBlsblk\fR installed (Linux only). For
BSD/GNU Linux: shows file system type if \fBfile\fR is installed, and if you
are root or if you have added to \fB/etc/sudoers\fR (sudo v. 1.7 or newer):
.B <username> ALL = NOPASSWD: /usr/bin/file (sample)
doas users: see \fBman doas.conf\fR for setup.
Does not show components (partitions that create the md\-raid array) of
md\-raid arrays.
To show partition labels or UUIDs (when available and relevant), use with
\fB\-l\fR or\fB \-u\fR.
.TP
.B \-p \fR, \fB\-\-partitions\-full\fR
Show full Partition information (\fB\-P\fR plus all other detected mounted
partitions).
To show partition labels or UUIDs (when available and relevant), use with
\fB\-l\fR or\fB \-u\fR.
.TP
.B \-P \fR, \fB\-\-partitions\fR
Show basic Partition information.
Shows, if detected: \fB/ /boot /boot/efi /home /opt /tmp /usr /usr/home /var
/var/tmp /var/log\fR (for android, shows \fB/cache /data /firmware /system\fR).
If \fB\-\-swap\fR is not used, shows active swap partitions (never shows file
or zram type swap). Use \fB\-p\fR to see all mounted partitions.
To show partition labels or UUIDs (when available and relevant), use with
\fB\-l\fR or\fB \-u\fR.
.TP
.B \-\-processes\fR
.br
See \fB\-t\fR.
.TP
.B \-r \fR, \fB\-\-repos\fR
Show distro repository data. Currently supported repo types:
\fBAPK\fR (Alpine Linux + derived versions)
\fBAPT\fR (Debian, Ubuntu + derived versions, as well as RPM based
APT distros like PCLinuxOS or Alt\-Linux)
\fBCARDS\fR (NuTyX + derived versions)
\fBEOPKG\fR (Solus)
\fBNIX\fR (NixOS + other distros as alternate package manager)
\fBPACMAN\fR (Arch Linux, KaOS + derived versions)
\fBPACMAN\-G2\fR (Frugalware + derived versions)
\fBPISI\fR (Pardus + derived versions)
\fBPKG\fR (OpenBSD, FreeBSD, NetBSD + derived OS types)
\fBPORTAGE\fR (Gentoo, Sabayon + derived versions)
\fBPORTS\fR (OpenBSD, FreeBSD, NetBSD + derived OS types)
\fBSCRATCHPKG\fR (Venom + derived versions)
\fBSLACKPKG\fR (Slackware + derived versions)
\fBTCE\fR (TinyCore)
\fBURPMI\fR (Mandriva, Mageia + derived versions)
\fBXBPS\fR (Void)
\fBYUM/ZYPP\fR (Fedora, Red Hat, Suse + derived versions)
More will be added as distro data is collected. If yours is missing please
show us how to get this information and we'll try to add it.
See \fB\-rx\fR, \fB\-rxx\fR, and \fB\-ra\fR for installed package count
information.
.TP
.B \-R \fR, \fB\-\-raid\fR
Show RAID data. Shows RAID devices, states, levels, device/array size,
and components. See extra data with \fB\-x\fR / \fB\-xx\fR.
md\-raid: If device is resyncing, also shows resync progress line.
Note: supported types: lvm raid, md\-raid, softraid, ZFS, and hardware RAID.
Other software RAID types may be added, if the software RAID can be made to
give the required output.
The component ID numbers work like this: mdraid: the numerator is the actual
mdraid component number; lvm/softraid/ZFS: the numerator is auto\-incremented
counter only. Eg. \fBOnline: 1: sdb1\fR
If hardware RAID is detected, shows basic information. Due to complexity
of adding hardware RAID device disk / RAID reports, those will only be added
if there is demand, and reasonable reporting tools.
.TP
.B \-\-recommends\fR
Checks inxi application dependencies and recommends, as well as directories,
then shows what package(s) you need to install to add support for each feature.
.TP
.B \-s \fR, \fB\-\-sensors\fR
Show output from sensors if sensors installed/configured: Motherboard/CPU/GPU
temperatures; detected fan speeds. GPU temperature when available. Nvidia shows
screen number for multiple screens. IPMI sensors are also used (root required)
if present. See Advanced options \fB\-\-sensors\-use\fR or
\fB\-\-sensors\-exclude\fR if you want to use only a subset of all sensors, or
exclude one.
.
.TP
.B \-\-slots\fR
Show PCI slots with type, speed, and status information.
.TP
.B \-\-swap\fR
.br
See \fB\-j\fR
.TP
.B \-S \fR, \fB\-\-system\fR
Show System information: host name, kernel, desktop environment (if in X),
distro. With \fB\-xx\fR show dm \- or startx \- (only shows if present and
running if out of X), and if in X, with \fB\-xxx\fR show more desktop info,
e.g. taskbar or panel.
.TP
.B \-t \fR, \fB\-\-processes\fR
[\fBc\fR|\fBm\fR|\fBcm\fR|\fBmc NUMBER\fR] Show processes. If no arguments,
defaults to \fBcm\fR. If followed by a number, shows that number of processes
for each type (default: \fB5\fR; if in IRC, max: \fB5\fR)
Make sure that there is no space between letters and numbers (e.g. write as
\fB\-t cm10\fR).
.TP
.B \-t c\fR
\- CPU only. With \fB\-x\fR, also shows memory for that process on same line.
.TP
.B \-t m\fR
\- memory only. With \fB\-x\fR, also shows CPU for that process on same line.
If the \fB\-I\fR or \fB\-m\fR lines are not triggered, will also show the
system RAM used/total information.
.TP
.B \-t cm\fR
\- CPU+memory. With \fB\-x\fR, shows also CPU or memory for that process on
same line.
.TP
.B \-u \fR, \fB\-\-uuid\fR
Show partition UUIDs. Use with \fB\-j\fR, \fB\-o\fR, \fB\-p\fR, and \fB\-P\fR
to show partition labels. Does nothing without one of those options.
Sample: \fB\-opju\fR.
.TP
.B \-U \fR, \fB\-\-update\fR
Note \- Maintainer may have disabled this function.
If inxi \fB\-h\fR has no listing for \fB\-U\fR then it's disabled.
Auto\-update script. Note: if you installed as root, you must be root to
update, otherwise user is fine. Also installs / updates this man page to:
\fB/usr/local/share/man/man1\fR (if \fB/usr/local/share/man/\fR exists
AND there is no inxi man page in \fB/usr/share/man/man1\fR, otherwise it
goes to \fB/usr/share/man/man1\fR). This requires that you be root to write
to that directory. See \fB\-\-man\fR or \fB\-\-no\-man\fR to force or disable
man install.
.TP
.B \-\-usb\fR
.br
See \fB\-J\fR.
.TP
.B \-V\fR, \fB\-\-version\fR
inxi version information. Prints information then exits.
.TP
.B \-v \fR, \fB\-\-verbosity\fR
Script verbosity levels. If no verbosity level number is given, 0 is assumed.
Should not be used with \fB\-b\fR or \fB\-F\fR.
Supported levels: \fB0\-8\fR Examples :\fB inxi \-v 4 \fR or \fB inxi \-v4\fR
.TP
.B \-v 0
\- Short output, same as: \fBinxi\fR
.TP
.B \-v 1
\- Basic verbose, \fB\-S\fR + basic CPU (cores, type, average clock speed, and
min/max speeds, if available) + \fB\-G\fR + basic Disk + \fB\-I\fR.
.TP
.B \-v 2
\- Adds networking device (\fB\-N\fR), Machine (\fB\-M\fR) data, Battery
(\fB\-B\fR) (if available). Same as: \fBinxi \-b\fR
.TP
.B \-v 3
\- Adds advanced CPU (\fB\-C\fR) and network (\fB\-n\fR) data; triggers
\fB\-x\fR advanced data option.
.TP
.B \-v 4
\- Adds partition size/used data (\fB\-P\fR) for (if present): \fB/ /home /var/
/boot\fR. Shows full disk data (\fB\-D\fR)
.TP
.B \-v 5
\- Adds audio device (\fB\-A\fR), memory/RAM (\fB\-m\fR), bluetooth data
(\fB\-E\fR) (if present), sensors (\fB\-s\fR), RAID data (if present), partition
label (\fB\-l\fR), UUID (\fB\-u\fR), full swap data (\fB\-j\fR), and short form
of optical drives.
.TP
.B \-v 6
\- Adds full mounted partition data (\fB\-p\fR), unmounted partition data
(\fB\-o\fR), optical drive data (\fB\-d\fR), USB (\fB\-J\fR); triggers
\fB\-xx\fR extra data option.
.TP
.B \-v 7
\- Adds network IP data (\fB\-i\fR), forced bluetooth (\fB\-E\fR), Logical
(\fB\-L\fR), RAID (\fB\-R\fR), full CPU flags/features (\fB\-f\fR), triggers
\fB\-xxx\fR
.TP
.B \-v 8
\- All system data available. Adds Repos (\fB\-r\fR), PCI slots
(\fB\-\-slots\fR), processes (\fB\-tcm\fR), admin (\fB\-\-admin\fR). Useful for
testing output and to see what data you can get from your system.
.TP
.B \-w \fR, \fB\-\-weather\fR
Adds weather line. To get weather for an alternate location, use \fB\-W
[location]\fR. See also \fB\-x\fR, \fB\-xx\fR, \fB\-xxx\fR options. Please note
that your distribution's maintainer may chose to disable this feature.
DO NOT USE THIS FEATURE FOR AUTOMATED WEATHER UPDATES! Automated or excessive
use will lead to your being blocked from any further access. This feature is not
meant for widget type weather monitoring, or Conky type use. It is meant to get
weather when you need to see it, for example, on a remote server. If you did not
type the weather option in manually, it's an automated request.
.TP
.B \-W\fR, \fB\-\-weather\-location <location_string>\fR
Get weather/time for an alternate location. Accepts postal/zip code[, country],
city,state pair, or latitude,longitude. Note: city/country/state names must
not contain spaces. Replace spaces with '\fB+\fR' sign. Don't place spaces
around any commas. Postal code is not reliable except for North America and
maybe the UK. Try postal codes with and without country code added. Note that
City,State applies only to USA, otherwise it's City,Country. If country name
(english) does not work, try 2 character country code (e.g. Spain: es;
Great Britain: gb).
See \fIhttps://en.wikipedia.org/wiki/ISO_3166\-1_alpha\-2\fR for current 2
letter country codes.
Use only ASCII letters in city/state/country names.
Examples: \fB\-W 95623,us\fR OR \fB\-W Boston,MA\fR OR
\fB\-W 45.5234,\-122.6762\fR OR \fB\-W new+york,ny\fR OR \fB\-W bodo,norway\fR.
DO NOT USE THIS FEATURE FOR AUTOMATED WEATHER UPDATES! Automated or excessive
use will lead to your being blocked from any further access. This feature is not
meant for widget type weather monitoring, or Conky type use. It is meant to get
weather when you need to see it, for example, on a remote server. If you did not
type the weather option in manually, it's an automated request.
.TP
.B \-\-weather\-source\fR, \fB\-\-ws <unit>\fR
[\fB1\-9\fR] Switches weather data source. Possible values are \fB1\-9\fR.
\fB1\-4\fR will generally be active, and \fB5\-9\fR may or may not be active,
so check. \fB1\fR may not support city / country names with spaces (even if
you use the \fB+\fR sign instead of space). \fB2\fR offers pretty good data,
but may not have all small city names for \fB\-W\fR.
Please note that the data sources are not static per value, and can change any
time, or be removed, so always test to verify which source is being used for
each value if that is important to you. Data sources may be added or removed
on occasions, so try each one and see which you prefer. If you get unsupported
source message, it means that number has not been implemented.
.TP
.B \-\-weather\-unit <unit>\fR
[\fBm\fR|\fBi\fR|\fBmi\fR|\fBim\fR] Sets weather units to metric (\fBm\fR),
imperial (\fBi\fR), metric (imperial) (\fBmi\fR, default), imperial (metric)
(\fBim\fR). If metric or imperial not found,sets to default value, or \fBN/A\fR.
.SH FILTER OPTIONS
The following options allow for applying various types of filtering to the
output.
.TP
.B \-\-filter \fR, \fB\-\-filter\-override\fR
.br
See \fB\-z\fR, \fB\-Z\fR.
.TP
.B \-\-filter\-label\fR, \fB\-\-filter\-uuid\fR, \fB\-\-filter\-vulnerabilities\fR
.br
See \fB\-\-zl\fR, \fB\-\-zu\fR, \fB\-\-zv\fR.
.TP
.B \-\-host\fR
Turns on hostname in System line. Overrides inxi config file value (if set):
\fBSHOW_HOST='false'\fR \- Same as: \fBSHOW_HOST='true'\fR
This is an absolute override, the host will always show no matter what
other switches you use.
.TP
.B \-\-no\-host\fR
Turns off hostname in System line. This is default when using \fB\-z\fR,
for anonymizing inxi output for posting on forums or IRC. Overrides
configuration value (if set):
\fBSHOW_HOST='true'\fR \- Same as: \fBSHOW_HOST='false'\fR
This is an absolute override, the host will not show no matter what other
switches you use.
.TP
.B \-z\fR, \fB\-\-filter\fR
Adds security filters for IP addresses, serial numbers, MAC, location
(\fB\-w\fR), and user home directory name. Removes Host:. On by default for IRC
clients.
.TP
.B \-\-zl\fR, \fB\-\-filter\-label\fR
Filter partition label names from \fB\-j\fR, \fB\-o\fR, \fB\-p\fR, \fB\-P\fR,
and \fB\-Sa\fR (root=LABEL=...). Generally only useful in very specialized
cases.
.TP
.B \-\-zu\fR, \fB\-\-filter\-uuid\fR
Filter partition UUIDs from \fB\-j\fR, \fB\-o\fR, \fB\-p\fR, \fB\-P\fR, and
\fB\-Sa\fR (root=UUID=...). Generally only useful in very specialized cases.
.TP
.B \-\-zv\fR, \fB\-\-filter\-v\fR, \fB\-\-filter\-vulnerabilities\fR
Filter Vulnerabilities report from \fB\-Ca\fR. Generally only useful in very
specialized cases.
.TP
.B \-Z \fR, \fB\-\-filter\-override \fR, \fB\-\-no\-filter\fR
Absolute override for output filters. Useful for debugging networking
issues in IRC for example.
.SH OUTPUT CONTROL OPTIONS
The following options allow for modifying the output in various ways.
.TP
.B \-c \fR, \fB\-\-color\fR \fR[\fB0\fR\-\fB42\fR]
Set color scheme. If no scheme number is supplied, 0 is assumed.
.TP
.B \-c \fR[\fB94\fR\-\fB99\fR]
These color selectors run a color selector option prior to inxi starting
which lets you set the config file value for the selection.
NOTE: All configuration file set color values are removed when output is
piped or redirected. You must use the explicit runtime \fB\-c <color number>\fR
option if you want color codes to be present in the piped/redirected output.
Color selectors for each type display (NOTE: IRC and global only show safe
color set):
.TP
.B \-c 94\fR
\- Console, out of X.
.TP
.B \-c 95\fR
\- Terminal, running in X \- like xTerm.
.TP
.B \-c 96\fR
\- GUI IRC, running in X \- like XChat, Quassel,
Konversation etc.
.TP
.B \-c 97\fR
\- Console IRC running in X \- like irssi in xTerm.
.TP
.B \-c 98\fR
\- Console IRC not in X.
.TP
.B \-c 99\fR
\- Global \- Overrides/removes all settings.
Setting a specific color type removes the global color selection.
.TP
.B \-\-indent [11\-xx]\fR
Change primary wide indent width. Generally useless. Only applied if output
width is greater than max wrap width (see \fB\-\-max\-wrap\fR). Use
configuration item \fBINDENT\fR to make permanent.
.TP
.B \-\-indents [0\-10]\fR
Change primary wrap mode, second, and \fB\-y1\fR level indents. First indent
level only applied if output width is less than max wrap width (see
\fB\-\-max\-wrap\fR). 0 disables all wrapped indents and all second level
indents. Use configuration item \fBINDENTS\fR to make permanent.
.TP
.B \-\-limit [\-1 \- x]\fR
Raise or lower max output limit of IP addresses for \fB\-i\fR. \fB\-1\fR
removes limit.
.TP
.B \-\-max\-wrap\fR, \fB\-\-wrap\-max [integer]\fR
Overrides default or configuration set line starter wrap width value. Wrap max
is the maximum width that inxi will wrap line starters (e.g. \fBInfo:\fR) to
their own lines, with data lines indented default 2 columns (use
\fB\-\-indents\fR to change).
If terminal/console width or \fB\-\-width\fR is less than wrap width, wrapping
of line starter occurs. If \fB80\fR or less, no wrapping will occur. Overrides
internal default value (110) and user configuration value \fBMAX_WRAP\fR.
.TP
.B \-\-output [json|screen|xml]\fR
Change data output type. Requires \-\-output\-file if not \fBscreen\fR.
.TP
.B \-\-output\-file [full path to output file|print]\fR
The given directory path must exist. The directory path given must exist,
The \fBprint\fR options prints to stdout.
Required for non\-screen \fB\-\-output\fR formats (json|xml).
.TP
.B \-\-partition\-sort [dev\-base|fs|id|label|percent\-used|size|uuid|used]\fR
Change default sort order of partition output. Corresponds to
\fBPARTITION_SORT\fR configuration item. These are the available sort options:
\fBdev\-base\fR - \fB/dev\fR partition identifier, like \fB/dev/sda1\fR.
Note that it's an alphabetic sort, so \fBsda12\fR is before \fBsda2\fR.
\fBfs\fR \- Partition filesystem. Note that sorts will be somewhat random if
all filesystems are the same.
\fBid\fR \- Mount point of partition (default).
\fBlabel\fR \- Label of partition. If partitions have no labels,
sort will be random.
\fBpercent\-used\fR - Percentage of partition size used.
\fBsize\fR \- KiB size of partition.
\fBuuid\fR \- UUID of the partition.
\fBused\fR \- KiB used of partition.
.TP
.B \-\-wrap\-max [integer]\fR
.br
See \fB\-\-max-wrap\fR.
.TP
.B \-y\fR, \fB\-\-width [integer]\fR
This is an absolute width override which sets the output line width max.
Overrides \fBCOLS_MAX_IRC\fR, \fBCOLS_MAX_NO_DISPLAY\fR, \fBCOLS_MAX_CONSOLE\fR
configuration items, or the actual widths of the terminal.
* \fB\-y\fR \- sets default width of 80 columns.
.br
* \fB\-y [80-xxx]\fR \- sets width to given number. Must be 80 or more.
.br
* \fB\-y 1\fR \- switches to a single indented key/value pair per line, and
removes all long line wrapping (similar to \fBdmidecode\fR output). Not
recommended for use with \fB\-Y\fR;
.br
* \fB\-y \-1\fR \- removes width limits (if assigned by configuration items).
Examples:
.br
\fBinxi \-Fxx \-y 130\fR
.br
\fBinxi \-Fxxy\fR
.br
\fBinxi \-bay1\fR
.TP
.B \-Y\fR, \fB\-\-height\fR, \fB\-\-less [\-3\-[integer]\fR
Control output height. Useful when in console, and scrollback not available.
Breaks output flow based on values provided.
* \fB\-Y 0\fR or \fB\-Y\fR \- Set default max height to terminal height.
.br
* \fB\-Y [1\-xxx]\fR \- set max output block height height in lines.
.br
* \fB\-Y \-1\fR \- Print out one primary data item block (like \fBCPU:\fR,
\fBSystem:\fR) at a time. Useful for very long outputs like \fB\-Fa\fR,
\fB\-v8\fR, etc. Not available for \fB\-h\fR.
.br
* \fB\-Y \-2\fR \- Do not disable output colors when redirected or piped to
another program. Useful if piping output to \fBless \-R\fR for example. This
does not limit the height otherwise since the expectation it is being piped to
another program like \fBless\fR which will handle that.
.br
* \fB\-Y \-3\fR \- Restore default unlimited output lines if \fBLINES_MAX\fR
configuration item set.
Recommended to use the following for very clean up and down scrollable output
out of display, while retaining the color schemes, which are normally removed
with piping or redirect:
\fBpinxi \-v8Y \-2 | less \-R\fR
Note: since it's not possible for inxi to know how many actual terminal lines
are being used by terminal wrapped output, with \fB\-y 1\fR , it may be better
in general to use a fixed height like:
\fB\-y 1 \-Y 20\fR instead of: \fB\-y 1 \-Y\fR
.SH EXTRA DATA OPTIONS
These options can be triggered by one or more \fB\-x\fR.
Alternatively, the \fB\-v\fR options trigger them in the following
way: \fB\-v 3\fR adds \fB\-x\fR;
\fB\-v 6\fR adds \fB\-xx\fR; \fB\-v 7\fR adds \fB\-xxx\fR
These extra data triggers can be useful for getting more in\-depth
data on various options. They can be added to any long form option list,
e.g.: \fB\-bxx\fR or \fB\-Sxxx\fR
There are 3 extra data levels:
.br
\fB\-x\fR, \fB\-xx\fR, \fB\-xxx\fR
.br
OR
.br
\fB\-\-extra 1\fR, \fB\-\-extra 2\fR, \fB\-\-extra 3\fR
The following details show which lines / items display extra information for
each extra data level.
.TP
.B \-x \-A\fR
\- Adds (if available and/or relevant) \fBvendor:\fR item, which shows specific
vendor [product] information.
\- Adds version/port(s)/driver version (if available) for each device.
\- Adds PCI/USB ID of each device.
\- Adds non-running sound servers, if detected.
.TP
.B \-x \-B\fR
\- Adds vendor/model, battery status (if battery present).
\- Adds attached battery powered peripherals (\fBDevice\-[number]:\fR) if
detected (keyboard, mouse, etc.).
\- Adds battery \fBvolts:\fR, \fBmin:\fR voltages. Note that if difference is
critical, that is current voltage is too close to minimum voltage, shows without
\fB\-x\fR.
.TP
.B \-x \-C\fR
\- Adds bogomips to CPU speed report (if available).
\- Adds \fBL1:\fR and \fBL3:\fR cache types if either are present/available. For
BSD or legacy Linux, uses dmidecode + doas/sudo/root. Force use of dmidecode
cache values by adding \fB\-\-dmidecode\fR. This will override /sys based cache
data, which tends to be better, so in general don't do that.
\- Adds \fBboost: [enabled|disabled]\fR if detected, aka \fBturbo\fR. Not all
CPUs have this feature.
\- Adds CPU Flags (short list). Use \fB\-f\fR to see full flag/feature list.
\- Adds CPU microarchitecture + revision (e.g. Sandy Bridge, K8, ARMv8, P6,
etc.). Only shows data if detected. Newer microarchitectures will have to be
added as they appear, and require the CPU family ID, model ID, and stepping.
\- Adds, if smt (Simultaneous MultiThreading) is available but disabled, after
\fBtype:\fR data \fBsmt: disabled\fR. \fBtype: MT\fR means it's enabled. See
\fB\-Cxxx\fR.
Examples:
.br
\fBarch: Sandy Bridge rev: 2\fR
.br
\fBarch: K8 rev.F+ rev: 2\fR
If unable to non\-ambiguosly determine architecture, will show something like:
\fBarch: Amber Lake note: check rev: 9\fR
\- Adds CPU highest speed after \fBavg: [speed] high: [speed]\fR if greater than
1 core and cores have different speeds. Linux only.
.TP
.B \-x \-d\fR
\- Adds more items to \fBFeatures\fR line of optical drive;
dds rev version to optical drive.
.TP
.B \-x \-D\fR
\- Adds HDD temperature with disk data.
Method 1: Systems running Linux kernels ~5.6 and newer should have
\fBdrivetemp\fR module data available. If so, drive temps will come from
/sys data for each drive, and will not require root or hddtemp. This method
is MUCH faster than using hddtemp. Note that NVMe drives do not require
\fBdrivetemp\fR.
If your \fBdrivetemp\fR module is not enabled, enable it:
\fBmodprobe drivetemp\fR
Once enabled, add \fBdrivetemp\fR to \fB/etc/modules\fR or
\fB/etc/modules\-load.d/***.conf\fR so it starts automatically.
If you see drive temps running as regular user and you did not configure system
to use doas/sudo hddtemp, then your system supports this feature. If no /sys
data is found, inxi will try to use hddtemp methods instead for that drive.
Hint: if temp is /sys sourced, the temp will be to 1 decimal, like 34.8, if
hddtemp sourced, they will be integers.
Method 2: if you have hddtemp installed, if you are root
or if you have added to \fB/etc/sudoers\fR (sudo v. 1.7 or newer):
.B <username> ALL = NOPASSWD: /usr/sbin/hddtemp (sample)
doas users: see \fBman doas.conf\fR for setup.
You can force use of \fBhddtemp\fR for all drives using \fB\-\-hddtemp\fR.
\- If free LVM volume group size detected (root required), show \fBlvm-free:\fR
on Local Storage line. This is how much unused space the VGs contain, that is,
space not assigned to LVs.
.TP
.B \-x \-E\fR (\fB\-\-bluetooth\fR)
\- Adds (if available and/or relevant) \fBvendor:\fR item, which shows
specific vendor [product] information.
\- Adds PCI/USB Bus ID of each device.
\- Adds driver version (if available) for each device.
\- Adds (if available, and \fBhciconfig\fR only) LMP (HCI if no LMP data,
and HCI if HCI/LMP versions are different) version (if available)
for each HCI ID.
.TP
.B \-x \-G\fR
\- Adds PCI/USB ID of each device.
\- Adds (if available and/or relevant) \fBvendor:\fR item, which shows
specific vendor [product] information.
\- \fBX.org:\fR Adds direct rendering status.
\- \fBX.org:\fR Adds (for single GPU, nvidia driver) screen number that GPU is
running on.
.TP
.B \-x \-i\fR
\- Adds IP v6 additional scope data, like Global, Site, Temporary for
each interface.
Note that there is no way we are aware of to filter out the deprecated
IP v6 scope site/global temporary addresses from the output of
\fBifconfig\fR. The \fBip\fR tool shows that clearly.
\fBip\-v6\-temporary\fR \- (\fBip\fR tool only), scope global temporary.
Scope global temporary deprecated is not shown
\fBip\-v6\-global\fR \- scope global (\fBifconfig\fR will show this for
all types, global, global temporary, and global temporary deprecated,
\fBip\fR shows it only for global)
\fBip\-v6\-link\fR \- scope link (\fBip\fR/\fBifconfig\fR) \- default
for \fB\-i\fR.
\fBip\-v6\-site\fR \- scope site (\fBip\fR/\fBifconfig\fR). This has been
deprecated in IPv6, but still exists. \fBifconfig\fR may show multiple site
values, as with global temporary, and global temporary deprecated.
\fBip\-v6\-unknown\fR \- unknown scope
.TP
.B \-x \-I\fR
\- Adds current init system (and init rc in some cases, like OpenRC).
With \fB\-xx\fR, shows init/rc version number, if available.
\- Adds default system gcc. With \fB\-xx\fR, also show other installed gcc
versions.
\- Adds current runlevel (not available with all init systems).
\- Adds total packages discovered in system. See \fB\-xx\fR and \fB\-a\fR
for per package manager types output. Moves to \fBRepos\fR if \fB\-rx\fR.
If your package manager is not supported, please file an issue and we'll add it.
That requires the full output of the query or method to discover all installed
packages on your system, as well of course as the command or method used to
discover those.
\- If in shell (i.e. not in IRC client), adds shell version number, if
available.
.TP
.B \-x \-j\fR, \fB\-x \-\-swap\fR
Add \fBmapper:\fR. See \fB\-x \-o\fR.
.TP
.B \-x \-J\fR (\fB\-\-usb\fR)
\- For Devices, adds driver(s).
.TP
.B \-x \-L\fR, \fB\-x \-\-logical\fR
\- Adds \fBdm: dm-x\fR to VG > LV and other Device types. This can help
tracking down which device belongs to what.
.TP
.B \-x \-m\fR, \fB\-\-memory\-modules\fR
\- If present, adds maximum memory module/device size in the Array line.
Only some systems will have this data available. Shows estimate if it can
generate one.
\- Adds device type in the Device line.
.TP
.B \-x \-N\fR
\- Adds (if available and/or relevant) \fBvendor:\fR item, which shows
specific vendor [product] information.
\- Adds version/port(s)/driver version (if available) for each device;
\- Adds PCI/USB ID of each device.
.TP
.B \-x \-o\fR, \fB\-x \-p\fR, \fB\-x \-P\fR
\- Adds \fBmapper:\fR (the \fB/dev/mapper/\fR partition ID)
if mapped partition.
Example: \fBID\-4: /home ... dev: /dev/dm-6 mapped: ar0-home\fR
.TP
.B \-x \-r\fR
\- Adds Package info. See \fB\-Ix\fR
.TP
.B \-x \-R\fR
\- md\-raid: Adds second RAID Info line with extra data: blocks, chunk size,
bitmap (if present). Resync line, shows blocks synced/total blocks.
\- Hardware RAID: Adds driver version, Bus ID.
.TP
.B \-x \-s\fR
\- Adds basic voltages: 12v, 5v, 3.3v, vbat (\fBipmi\fR, \fBlm-sensors\fR if
present).
.TP
.B \-x \-S\fR
\- Adds Kernel gcc version.
\- Adds to \fBDistro:\fR \fBbase:\fR if detected. System base will only be
seen on a subset of distributions. The distro must be both derived from a
parent distro (e.g. Mint from Ubuntu), and explicitly added to the supported
distributions for this feature. Due to the complexity of distribution
identification, these will only be added as relatively solid methods are
found for each distribution system base detection.
.TP
.B \-x \-t\fR (\fB\-\-processes\fR)
\- Adds memory use output to CPU (\fB\-xt c\fR), and CPU use to memory
(\fB\-xt m\fR).
.TP
.B \-x \-w \fR, \fB\-W\fR
\- Adds humidity and barometric pressure.
\- Adds wind speed and direction.
.TP
.B \-xx \-A\fR
\- Adds vendor:product ID for each device.
\- Adds PCIe speed and lanes item (Linux only, if detected).
.TP
.B \-xx \-B\fR
\- Adds serial number.
.TP
.B \-xx \-D\fR
\- Adds disk serial number.
\- Adds disk speed (if available). This is the theoretical top speed of the
device as reported. This speed may be restricted by system board limits,
eg. a SATA 3 drive on a SATA 2 board may report SATA 2 speeds, but this is
not completely consistent, sometimes a SATA 3 device on a SATA 2 board reports
its design speed.
NVMe drives: adds lanes, and (per direction) speed is calculated with
lane speed * lanes * PCIe overhead. PCIe 1 and 2 have data rates of
GT/s * .8 = Gb/s (10 bits required to transfer 8 bits of data).
PCIe 3 and greater transfer data at a rate of GT/s * 128/130 * lanes = Gb/s
(130 bits required to transfer 128 bits of data).
For a PCIe 3 NVMe drive, with speed of \fB8 GT/s\fR and \fB4\fR lanes
(\fB8GT/s * 128/130 * 4 = 31.6 Gb/s\fR):
\fBspeed: 31.6 Gb/s lanes: 4\fR
\- Adds disk duid, if available. Some BSDs have it.
.TP
.B \-xx \-E\fR (\fB\-\-bluetooth\fR)
\- Adds vendor:product ID of each device.
\- Adds (\fBhciconfig \fRonly) LMP subversion (and/or HCI revision
if applicable) for each device.
\- Adds PCIe speed and lanes item (Linux only, and if PCIe bluetooth, which is
rare).
.TP
.B \-xx \-G\fR
Triggers much more complete Screen/Monitor output.
\fBX.org:\fR requires \fBxdpyinfo\fR or \fBxrandr\fR, and the advanced per
monitor feature requires \fBxrandr\fR.
\fBWayland:\fR requires any tool capable of showing monitor and resolution
information. \fBSway\fR has \fBswaymsg\fR, \fBweston\-info\fR or
\fBwayland\-info\fR can show Wayland information on any Wayland compositor, and
\fBwlr\-randr\fR can show Wayland information for any \fBwlroots\fR based
compositor.
Further note that all references to \fBDisplays\fR, \fBScreens\fR, and
\fBMonitors\fR are referring to the \fBX\fR or \fBWayland\fR technical terms,
not normal consumer usage.
\fBX.org:\fR 1 \fBDisplay\fR runs 1 or more \fBScreens\fR, and 1 \fBScreen\fR
runs 1 or more \fBMonitors\fR.
\fBWayland:\fR The \fBDisplay\fR is the primary container, and it can contain 1
or more \fBMonitors\fR.
\- Adds vendor:product ID of each device.
\- Adds PCIe speed and lanes item (Linux only, and if PCIe device and detected).
\- Adds output port IDs, active, off (connected but disabled, like a closed
laptop lid) and empty. Example:
\fBports: active: DVI\-I\-1,VGA\-1 empty: HDMI\-A\-1\fR
\- Adds \fBDisplay\fR ID. X.org: the Display running the Screen that runs the
Monitors; Wayland: the Display that runs the monitors.
\- Adds compositor, if found (always shows for Wayland).
\- \fBWayland:\fR Adds to \fBDisplay\fR \fBd-rect:\fR if > 1 monitors in
Display. This is the size of the rectangle Wayland creates to situate the
monitors in.
\- \fBX.org:\fR If available, shows \fBalternate:\fR Xorg drivers. This means a
driver on the default list of drivers Xorg automatically checks for the device,
but which is not installed. For example, if you have \fBnouveau\fR driver,
\fBnvidia\fR would show as alternate if it was not installed. Note that
\fBalternate:\fR does NOT mean you should have it, it's just one of the drivers
Xorg checks to see if is present and loaded when checking the device. This can
let you know there are other driver options. Note that if you have explicitly
set the driver in \fBxorg.conf\fR, Xorg will not create this automatic check
driver list.
\- \fBXorg:\fR Adds total number of \fBScreens\fR listed for the current
\fBDisplay\fR.
\- \fBXorg:\fR Adds default \fBScreen\fR ID if Screen (not monitor!) total is
greater than 1.
\- \fBX.org:\fR Adds \fBScreen\fR line, which includes the ID (\fBScreen: 0\fR)
then \fBs-res\fR (Screen resolution), \fBs\-dpi\fR. Remember, this is an Xorg
\fBScreen\fR, NOT a monitor screen, and the information listed is about the Xorg
Screen! It may at times be the same as a single monitor system, but usually it's
different in some ways. Note that the physical monitor dpi and the Xorg dpi are
not necessarily the same thing, and can vary widely.
\- Adds \fBMonitor\fR lines. Monitors are a subset of a \fBScreen\fR (X.org) or
\fBDisplay\fR (Wayland), each of which can have one or more monitors. Normally a
dual monitor setup is 2 monitors run by one Xorg Screen/Wayland Display.
\- \fBpos: [primary,]{position string|row\-col}\fR (X.org: requires
\fBxrandr\fR; Wayland: requires \fBswaymsg\fR [sway], \fBwlr\-randr\fR [wlroots
based compositors], \fBweston\-info\fR / \fBwayland\-info\fR [all]). Uses either
explicit \fBprimary\fR value or +0+0 position if no primary monitor value set.
\fBpos:\fR does not show for single monitor setups, or if no position data was
found.
Position is text (left, center, center-l, center\-r, right, top, top\-left,
top\-center, top\-right, middle, middle\-c, middle\-r, bottom, bottom\-l,
bottom\-c, bottom\-r) if monitors fit within the following grids: 1x2, 1x3, 1x4,
2x1, 2x2, 2x3, 3x1, 3x2, 3x3. If layout not supported in text, uses
[row\-nu]\-[column\-nu] instead to indicate the monitor's position in its grid.
The position is based on the upper left corner of each monitor relative to the
grid of monitors that the \fBXorg\fR \fBScreen\fR is composed of.
\- \fBdiag:\fR monitor screen diagonal in mm (inches). Note that this is the
real monitor size, not the Xorg full Screen diagonal size, which can be quite
different.
\- For free drivers, adds OpenGL compatibility version number if available. For
nonfree drivers, the core version and compatibility versions are usually the
same. Example:
\fBv: 3.3 Mesa 11.2.0 compat\-v: 3.0\fR
.TP
.B \-xx \-I\fR
\- Adds init type version number (and rc if present).
\- Adds other detected installed gcc versions (if present).
\- Adds system default runlevel, if detected. Supports Systemd/Upstart/SysVinit
type defaults.
\- Shows \fBPackages:\fR counts by discovered package manager types. In cases
where only 1 type had results, does not show total after \fBPackages:\fR. Does
not show installed package managers wtih 0 packages. See \fB\-a\fR for full
output. Moves to \fBRepos\fR if \fB\-rxx\fR.
\- Adds parent program (or pty/tty) that started shell, if not IRC client.
.TP
.B \-xx \-j\fR (\fB\-\-swap\fR), \fB\-xx \-p\fR, \fB\-xx \-P\fR
\- Adds swap priority to each swap partition (for \fB\-P\fR) used, and for all
swap types (for \fB\-j\fR).
.TP
.B \-xx \-J\fR (\fB\-\-usb\fR)
\- Adds vendor:chip id.
.TP
.B \-xx \-L\fR, \fB\-xx \-\-logical\fR
\- Adds internal LVM Logical volumes, like raid image and meta data volumes.
\- Adds full list of Components, sub\-components, and their physical devices.
\- For LVM RAID, adds a RAID report line (if not \fB\-R\fR). Read up on LVM
documentation to better understand their use of the term 'stripes'.
.TP
.B \-xx \-m\fR, \fB\-\-memory\-modules\fR
\- Adds memory device Manufacturer.
\- Adds memory device Part Number (\fBpart\-no:\fR). Useful for ordering new
or replacement memory sticks etc. Part numbers are unique, particularly if you
use the word \fBmemory\fR in the search as well. With \fB\-xxx\fR, also shows
serial number.
\- Adds single/double bank memory, if data is found. Note, this may not be
100% right all of the time since it depends on the order that data is found
in \fBdmidecode\fR output for \fBtype 6\fR and \fBtype 17\fR.
.TP
.B \-xx \-M\fR
\- Adds chassis information, if data is available. Also shows BIOS
ROM size if using \fBdmidecode\fR.
.TP
.B \-xx \-N\fR
\- Adds vendor:product ID for each device.
\- Adds PCIe speed and lanes item (Linux only, and if PCIe device and detected).
.TP
.B \-xx \-r\fR
\- Adds Packages info. See \fB\-Ixx\fR
.TP
.B \-xx \-R\fR
\- md\-raid: Adds superblock (if present) and algorithm. If resync,
shows progress bar.
\- Hardware RAID: Adds Chip vendor:product ID.
.TP
.B \-xx \-s\fR
\- Adds DIMM/SOC voltages, if present (\fBipmi\fR only).
.TP
.B \-xx \-S\fR
\- Adds display manager (\fBdm\fR) type, if present. If none, shows N/A.
Supports most known display managers, including gdm, gdm3,
idm, kdm, lightdm, lxdm, mdm, nodm, sddm, slim, tint, wdm, and xdm.
\- Adds, if run in X, window manager type (\fBwm\fR), if available. Not all
window managers are supported. Some desktops support using more than one
window manager, so this can be useful to see what window manager is actually
running. If none found, shows nothing. Uses a less accurate fallback tool
\fBwmctrl\fR if \fBps\fR tests fail to find data.
\- Adds desktop toolkit (\fBtk\fR), if available (Xfce/KDE/Trinity).
.TP
.B \-xx \-\-slots\fR
\- Adds slot length.
.TP
.B \-xx \-w \fR, \fB\-W\fR
\- Adds wind chill, heat index, and dew point, if available.
\- Adds cloud cover, rain, snow, or precipitation (amount in previous hour
to observation time), if available.
.TP
.B \-xxx \-A\fR
\- Adds, if present, serial number.
\- Adds, if present, PCI/USB class ID.
.TP
.B \-xxx \-B\fR
\- Adds battery chemistry (e.g. \fBLi\-ion\fR), cycles (NOTE: there appears to
be a problem with the Linux kernel obtaining the cycle count, so this almost
always shows \fB0\fR. There's nothing that can be done about this glitch, the
data is simply not available as of 2018\-04\-03), location (only available from
\fBdmidecode\fR derived output).
\- Adds attached device \fBrechargeable: [yes|no]\fR information.
.TP
.B \-xxx \-C\fR
\- Adds CPU voltage and external clock speed (this is the motherboard speed).
Requires doas/sudo/root and \fBdmidecode\fR.
\- Adds, if smt (Simultaneous MultiThreading) data is available, after
\fBtype:\fR data \fBsmt: [status]\fR.
.br
\fBsmt: [status]\fR
.br
\fBMT\fR in \fBtype:\fR will show if smt is enabled in general. 3 values are
possible: [\fBenabled|disabled|<unsupported>\fR]. \fB<unsupported>\fR means the
CPU does not support SMT.
.TP
.B \-xxx \-D\fR
\- Adds disk firmware revision number (if available).
\- Adds disk partition scheme (in most cases), e.g. \fBscheme: GPT\fR.
Currently not able to detect all schemes, but handles the most common, e.g.
\fBGPT\fR or \fBMBR\fR.
\- Adds disk type (\fBHDD\fR/\fBSSD\fR), rotation speed (in some but not all
cases), e.g. \fBtype: HDD rpm: 7200\fR, or \fBtype: SSD\fR if positive SSD
identification was made. If no HDD, rotation, or positive SSD ID found, shows
\fBtype: N/A\fR. Not all HDD spinning disks report their speed, so even if they
are spinning, no rpm data will show.
.TP
.B \-xxx \-E\fR (\fB\-\-bluetooth\fR)
\- Adds, if present, PCI/USB class ID.
\- Adds (\fBhciconfig \fRonly) HCI version, revision.
.TP
.B \-xxx \-G\fR
\- Adds, if present, Device PCI/USB class ID.
\- Adds to Device \fBserial:\fR number (if found).
\- \fBXorg:\fR Adds to \fBScreen:\fR \fBs\-size:\fR and \fBs\-diag:\fR. (Screen
size data requires \fBxdpyinfo\fR). This is the X.org Screen dimensions, NOT the
Monitor size!
\- Adds to Monitors (if detected) frequency (\fBhz:\fR).
\- Adds to Monitors (if detected) size (\fBsize: 277x156mm (10.9x6.1")\fR). Note
that this is the real physical monitor size, not the Xorg Screen/Wayland Display
size, which can be quite different (1 Xorg Screen / Wayland Display can for
instance contain two or more monitors).
\- Adds to Monitors \fBmodes: min: max:\fR (if detected). These are the smallest
and largest monitor modes found, using an inexact method, so might not always be
right.
\- Adds to Monitors \fBserial:\fR number (if detected).
\- \fBWayland:\fR Adds to Monitors \fBscale:\fR (if detected).
.TP
.B \-xxx \-I\fR
\- For \fBUptime:\fR adds \fBwakeups:\fR to show how many times the machine
has been woken from suspend state during current uptime period (if available,
Linux only). 0 value means the machine has not been suspended.
\- For \fBShell:\fR adds \fB(su|sudo|login)\fR to shell name if present.
\- For \fBShell:\fR adds \fBdefault:\fR shell if different from
running shell, and default shell \fBv:\fR, if available.
\- For \fBrunning\-in:\fR adds \fB(SSH)\fR to parent, if present. SSH detection
uses the \fBwhoami\fR test.
.TP
.B \-xxx \-J\fR (\fB\-\-usb\fR)
\- Adds, if present, serial number for non hub devices.
\- Adds \fBinterfaces:\fR for non hub devices.
\- Adds, if available, USB speed in \fBMbits/s\fR or \fBGbits/s\fR.
\- Adds, if present, USB class ID.
\- Adds, if non 0, max power in mA.
.TP
.B \-xxx \-m\fR, \fB\-\-memory\-modules\fR
\- Adds memory bus width: primary bus width, and if present, total width. e.g.
\fBbus width: 64 bit (total: 72 bits)\fR. Note that total / data widths are
mixed up sometimes in dmidecode output, so inxi will take the larger value as
the total if present. If no total width data is found, then inxi will not show
that item.
\- Adds device Type Detail, e.g. \fBdetail: DDR3 (Synchronous)\fR.
\- Adds, if present, memory module voltage. Only some systems will have this
data available.
\- Adds device serial number.
.TP
.B \-xxx \-N\fR
\- Adds, if present, serial number.
\- Adds, if present, PCI/USB class ID.
.TP
.B \-xxx \-R\fR
\- md\-raid: Adds system mdraid support types (kernel support, read ahead,
RAID events)
\- zfs\-raid: Adds portion allocated (used) by RAID array/device.
\- Hardware RAID: Adds rev, ports, and (if available and/or relevant)
\fBvendor:\fR item, which shows specific vendor [product] information.
.TP
.B \-xxx \-S\fR
\- Adds, if in X, or with \fB--display\fR, bar/dock/panel/tray items
(\fBinfo\fR). If none found, shows nothing. Supports desktop items like
gnome\-panel, lxpanel, xfce4\-panel, lxqt\-panel, tint2, cairo-dock, trayer,
and many others.
\- Adds (if present), window manager (\fBwm\fR) version number.
\- Adds (if present), display manager (\fBdm\fR) version number.
\- Adds (if available, and in display), virtual terminal (\fBvt\fR) number.
These are the same as \fBctrl+alt+F[x]\fR numbers usually. Some systems
have this, some don't, it varies.
.TP
.B \-xxx \-w \fR, \fB\-W\fR
\- Adds location (city state country), observation altitude (if available),
weather observation time (if available), sunset/sunrise (if available).
.SH ADMIN EXTRA DATA OPTIONS
These options are triggered with \fB\-\-admin\fR or \fB\-a\fR. Admin options
are advanced output options, and are more technical, and mostly of interest to
system administrators or other machine admins.
The \fB\-\-admin\fR option sets \fB\-xxx\fR, and only has to be used once.
It will trigger the following features:
.TP
.B \-a \-A\fR
\- Adds, if present, possible \fBalternate:\fR kernel modules capable of
driving each \fBDevice\-x\fR (not including the current \fBdriver:\fR). If no
non\-driver modules found, shows nothing. NOTE: just because it lists a module
does NOT mean it is available in the system, it's just something the kernel
knows could possibly be used instead.
\- Adds PCIe generation, and, if different than running PCIe generation, speed
or lanes, \fBlink\-max: gen: speed: lanes:\fR (only items different from primary
shown).
.TP
.B \-a \-C\fR
\- Adds CPU family, model\-id, and stepping (replaces \fBrev\fR of \fB\-Cx\fR).
Format is \fBhexadecimal (decimal)\fR if greater than 9, otherwise
\fBhexadecimal\fR.
\- Adds CPU microcode. Format is \fBhexadecimal\fR.
\- Adds socket type (for motherboard CPU socket, if available). If results
doubtful will list two socket types and \fBnote: check\fR. Requires
doas/sudo/root and \fBdmidecode\fR. The item in parentheses may simply be a
different syntax for the same socket, but in general, check this before trusting
it.
Sample: \fBsocket: 775 (478) note: check\fR
.br
Sample: \fBsocket: AM4\fR
\- Adds DMI CPU base and boost/turbo speeds. Requires doas/sudo/root and
\fBdmidecode\fR. In some cases, like with overclocking or 'turbo' or 'boost'
modes, voltage and external clock speeds may be increased, or short term limits
raised on max CPU speeds. These are often not reflected in /sys based CPU
\fBmin/max:\fR speed results, but often are using this source.
Samples:
.br
CPU not overclocked, with boost, like Ryzen:
.nf
\fBSpeed (MHz):
avg: 2861
high: 3250
min/max: 1550/3400
boost: enabled
base/boost: 3400/3900\fR
.fi
Overclocked 2900 MHz CPU, with no boost available:
.nf
\fBSpeed (MHz):
avg: 2345
high: 2900
min/max: 800/2900
base/boost: 3350/3000\fR
.fi
Overclocked 3000 MHz CPU, with boosted max speed:
.nf
\fBSpeed (MHz):
avg: 3260
high: 4190
min/max: 1200/3001
base/boost: 3000/4000\fR
.fi
Note that these numbers can be confusing, but basically, the \fBbase\fR
number is the actual normal top speed the CPU runs at without boost mode, and
the \fBboost\fR number is the max speed the CPU reports itself able to run at.
The actual max speed may be higher than either value, or lower. The \fBboost\fR
number appears to be hard\-coded into the CPU DMI data, and does not seem to
reflect actual max speeds that overclocking or other combinations of speed
boosters can enable, as you can see from the example where the CPU is running
at a speed faster than the min/max or base/boost values.
Note that the normal \fBmin/max:\fR speeds do NOT show actual overclocked OR
boost/turbo mode speeds, and appear to be hard\-coded values, not dynamic real
values. The \fBbase/boost:\fR values are sometimes real, and sometimes not.
\fBbase\fR appears in general to be real.
\- Adds frequency \fBscaling: governor:.. driver:..\fR if found/available. Also
adds scaling min/max speeds if different from standard CPU min/max spees (not
common).
\- Adds description of cache topology per cpu. Linux only.
\- Creates new \fBTopology:\fR line after the \fBInfo:\fR line. Moves cache data
to this line from \fBInfo:\fR line.
Topology line contains, if available and/or relevant: physical CPU count
(\fBcpus:\fR); per physical cpu core count (cores:\fR); threads per core, if > 1
(\fBtpc:\fR); how many \fBthreads:\fR (if more threads than cores); \fBdies:\fR
(rarely detected, but if so, if > 1); smt status (if no smt status found, shows
\fBN/A\fR).
If complex CPU type, like Alder lake, cores; will have a more granular breakdown
of how many mt (multi\-threaded) and how many st (single\-threaded) cores there
in the physical cpu ( \fBmt\-cores:\fR, \fBst\-cores:\fR); For complex CPU
types like ARM SoC devices with 2 CPU types, with different core counts and/or
\fBmin/max:\fR) frequencies, \fBvariant:\fR per type found, with relevant
differences shown, like \fBcores:, \fBmin/max:\fR, etc.
.nf
\fBCPU:
Info:
model: AMD EPYC 7281
bits: 64
type: MT MCP MCM SMP
arch: Zen
family:0x17 (23)
model\-id:1
stepping: 2
microcode: 0x8001250
Topology:
cpus: 2
cores: 16
tpc: 2
threads: 32
dies: 4
cache:
L1: 2x 1.5 MiB (3 MiB)
desc: d\-16x32 KiB; i\-16x64 KiB
L2: 2x 8 MiB (16 MiB)
desc: 16x512 KiB
L3: 2x 32 MiB (64 MiB)
desc: 8x4 MiB
Speed (MHz):
avg: 1195
high: 1197
min/max: 1200/2100
boost: enabled
scaling:
driver: acpi\-cpufreq
governor: ondemand
cores:
1: 1195
2: 1196
....
bogomips: 267823
.fi
\- Adds CPU Vulnerabilities (bugs) as known by your current kernel. Lists by
\fBType: ... (status|mitigation): ....\fR for systems that support this feature
(Linux kernel 4.14 or newer, or patched older kernels).
.TP
.B \-a \-d\fR,\fB\-a \-D\fR
\- Adds logical and physical block size in bytes.
Using \fBsmartctl\fR (requires doas/sudo/root privileges).
\- Adds device model family, like \fBCaviar Black\fR, if available.
\- Adds SATA type (eg 1.0, 2.6, 3.0) if a SATA device.
\- Adds device kernel major:minor number (Linux only).
\- Adds SMART report line: status, enabled/disabled, health, powered on, cycles,
and some error cases if out of range values. Note that for Pre\-fail items, it
will show the VALUE and THRESHOLD numbers. It will also fall back for unknown
attributes that are or have been failing and print out the Attribute name,
value, threshold, and failing message. This way even for unhandled Attribute
names, you should get a solid report for full failure cases. Other cases may
show if inxi believes that the item may be approaching failure. This is a guess
so make sure to check the drive and smartctl full output to verify before taking
any further action.
\- Adds, for USB or other external drives, actual model name/serial if
available, and different from enclosure model/serial, and corrects block sizes
if necessary. Adds in drive temperature for some drives as well, and other
useful data.
.TP
.B \-a \-E\fR (\fB\-\-bluetooth\fR)
\- Adds (\fBhciconfig\fR only) extra line to \fBReport:\fR, \fBInfo:\fR.
Includes, if available, ACL MTU, SCO MTU, Link policy, Link mode,
and Service Classes.
\- Adds PCIe generation, and, if different than running PCIe generation, speed
or lanes, \fBlink\-max: gen: speed: lanes:\fR (only items different from primary
shown. Bluetooth PCIe rare).
.TP
.B \-a \-G\fR
\- Adds, if present, possible \fBalternate:\fR kernel modules capable of driving
each \fBDevice\-x\fR (not including the current \fBloaded:\fR). If no
non\-driver modules found, shows nothing. NOTE: just because it lists a module
does NOT mean it is available in the system, it's just something the kernel
knows could possibly be used instead.
\- Adds PCIe generation, and, if different than running PCIe generation, speed
or lanes, \fBlink\-max: gen: speed: lanes:\fR (only items different from primary
shown).
\- Adds to Monitors \fBbuilt:\fR, \fBgamma:\fR, \fBratio:\fR (if found).
X.org sample (with both \fBxdpyinfo\fR and \fBxrandr\fR data available):
.nf
\fBinxi \-aGz
Graphics:
Device\-1: AMD Cedar [Radeon HD 5000/6000/7350/8350 Series] vendor: XFX Pine
driver: radeon v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 16 link\-max:
gen: 2 speed: 5 GT/s ports: active: DVI\-I\-1,VGA\-1 empty: HDMI\-A\-1
bus-ID: 0a:00.0 chip-ID: 1002:68f9 class\-ID: 0300
Display: x11 server: X.Org v: 1.20.13 compositor: xfwm v: 4.16.1 driver: X:
loaded: modesetting gpu: radeon display\-ID: :0.0 screens: 1
Screen\-1: 0 s\-res: 2560x1024 s\-dpi: 96 s\-size: 677x270mm (26.7x10.6")
s\-diag: 729mm (28.7")
Monitor\-1: DVI\-I\-1 pos: primary,left model: SyncMaster serial: <filter>
built: 2004 res: 1280x1024 hz: 60 dpi: 96 gamma: 1.2
size: 338x270mm (13.3x10.6") diag: 433mm (17") ratio: 5:4 modes:
max: 1280x1024 min: 720x400
Monitor\-2: VGA\-1 pos: right model: DELL 1908FP serial: <filter>
built: 2008 res: 1280x1024 hz: 60 dpi: 86 gamma: 1.4
size: 376x301mm (14.8x11.9") diag: 482mm (19") ratio: 5:4 modes:
max: 1280x1024 min: 720x400
....\fR
.fi
Wayland sample, with Sway/swaymsg:
.nf
\fBinxi \aGz
Graphics:
Device\-1: Advanced Micro Devices [AMD/ATI] Cedar [Radeon HD
5000/6000/7350/8350 Series] vendor: XFX Pine
driver: radeon v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 16 ports:
active: DVI\-I\-1,VGA\-1 empty: HDMI\-A\-1 bus\-ID: 0a:00.0 chip\-ID: 1002:68f9
class\-ID: 0300
Display: wayland server: Xwayland v: 21.1.4 compositor: sway v: 1.6.1
driver: gpu: radeon d\-rect: 2560x1024
Monitor-1: DVI\-I\-1 pos: right model: SyncMaster serial: <filter>
built: 2004 res: 1280x1024 hz: 60 dpi: 96 gamma: 1.2
size: 340x270mm (13.4x10.6") diag: 434mm (17.1") ratio: 5:4 modes:
max: 1280x1024 min: 720x400
Monitor\-2: VGA-1 pos: primary,left model: DELL 1908FP serial: <filter>
res: 1280x1024 hz: 60 gamma: 1.4 dpi: 86 gamma: 1.4
size: 380x300mm (15.0x11.8") diag: 484mm (19.1") ratio: 5:4 modes:
max: 1280x1024 min: 720x400
Message: Wayland GBM/EGL data currently not available.
.fi
.TP
.B \-a \-I\fR
\- Adds Packages, totals, per package manager totals, and number of lib packages
detected per package manager. Also adds detected package managers with 0
packages listed. Moves to \fBRepos\fR if \fB\-ra\fR.
.nf
\fBinxi \-aI
Info:
....
Init: systemd v: 245 runlevel: 5 Compilers: gcc: 9.3.0 alt: 5/6/7/8/9
Packages: apt: 3681 lib: 2096 rpm: 0 Shell: ksh v: A_2020.0.0 default: Bash
v: 5.0.16 running\-in: kate inxi: 3.1.04\fR
.fi
\- Adds service control tool, tested for in the following order: \fBsystemctl
rc\-service rcctl service sv /etc/rc.d /etc/init.d\fR. Can be useful to know
which you need when using an unfamiliar machine.
.TP
.B \-a \-j\fR, \fB\-a \-P\fR [swap], \fB\-a \-P\fR [swap]
\- Adds swappiness and vfs cache pressure, and a message to indicate if the
value is the default value or not (Linux only, and only if available). If not
the default value, shows default value as well, e.g.
For \fB\-P\fR per swap physical partition:
\fBswappiness: 60 (default) cache\-pressure: 90 (default 100)\fR
For \fB\-j\fR row 1 output:
\fBKernel: swappiness: 60 (default) cache\-pressure: 90 (default 100)\fR
\- Adds device kernel major:minor number (Linux only).
.TP
.B \-a \-L\fR
\- Expands Component report, shows size / maj-min of components and devices, and
mapped name for logical components. Puts each component/device on its own line.
\- Adds maj-min to LV and other devices.
.TP
.B \-a \-n\fR, \fB\-a \-N\fR, \fB\-a \-i\fR
\- Adds, if present, possible \fBalternate:\fR kernel modules capable of driving
each \fBDevice\-x\fR (not including the current \fBdriver:\fR). If no
non\-driver modules found, shows nothing. NOTE: just because it lists a module
does NOT mean it is available in the system, it's just something the kernel
knows could possibly be used instead.
\- Adds PCIe generation, and, if different than running PCIe generation, speed
or lanes, \fBlink\-max: gen: speed: lanes:\fR (only items different from primary
shown).
.TP
.B \-a \-o\fR
\- Adds device kernel major:minor number (Linux only).
.TP
.B \-a \-p\fR,\fB\-a \-P\fR
\- Adds raw partition size, including file system overhead, partition table,
e.g.
\fBraw\-size: 60.00 GiB\fR.
\- Adds percent of raw size available to \fBsize:\fR item, e.g.
\fBsize: 58.81 GiB (98.01%)\fR.
Note that \fBused: 16.44 GiB (34.3%)\fR percent refers to the available size,
not the raw size.
\- Adds partition filesystem block size if found (requires root and blockdev).
\- Adds device kernel major:minor number (Linux only).
.TP
.B \-a \-r\fR
\- Adds Packages. See \fB\-Ia\fR
.TP
.B \-a \-R\fR
\- Adds device kernel major:minor number (mdraid, Linux only).
\- Adds, if available, component size, major:minor number (Linux only). Turns
Component report to 1 component per line.
.TP
.B \-a \-S\fR
\- Adds kernel boot parameters to \fBKernel\fR section (if detected). Support
varies by OS type.
.SH ADVANCED OPTIONS
.TP
.B \-\-alt 40\fR
Bypass \fBPerl\fR as a downloader option. Priority is: Perl (HTTP::Tiny), Curl,
Wget, Fetch, (OpenBSD only) ftp.
.TP
.B \-\-alt 41\fR
Bypass \fBCurl\fR as a downloader option. Priority is: Perl (HTTP::Tiny), Curl,
Wget, Fetch, (OpenBSD only) ftp.
.TP
.B \-\-alt 42\fR
Bypass \fBFetch\fR as a downloader option. Priority is: Perl (HTTP::Tiny), Curl,
Wget, Fetch, (OpenBSD only) ftp.
.TP
.B \-\-alt 43\fR
Bypass \fBWget\fR as a downloader option. Priority is: Perl (HTTP::Tiny), Curl,
Wget, Fetch, OpenBSD only: ftp
.TP
.B \-\-alt 44\fR
Bypass \fBCurl\fR, \fBFetch\fR, and \fBWget\fR as downloader options. This
basically forces the downloader selection to use \fBPerl 5.x\fR
\fBHTTP::Tiny\fR, which is generally slower than \fBCurl\fR or \fBWget\fR but it
may help bypass issues with downloading.
.TP
.B \-\-bt\-tool [bt\-adapter|hciconfig|rfkill]\fR
Force the use of the given tool for bluetooth report (\fB\-E\fR). \fBrfkill\fR
does not support mac address data.
.TP
.B \-\-dig\fR
Temporary override of \fBNO_DIG\fR configuration item. Only use to test w/wo
dig. Restores default behavior for WAN IP, which is use dig if present.
.TP
.B \-\-display [:<integer>]\fR
Will try to get display data out of X (does not usually work as root user).
Default gets display info from display \fB:0\fR. If you use the format
\fB\-\-display :1\fR then it would get it from display \fB1\fR instead, or any
display you specify.
Note that in some cases, \fB\-\-display\fR will cause inxi to hang endlessly
when running the option in console with Intel graphics. The situation regarding
other free drivers such as nouveau/ATI is currently unknown. It may be that this
is a bug with the Intel graphics driver \- more information is required.
You can test this easily by running the following command out of X/display
server: \fBglxinfo \-display :0\fR
If it hangs, \fB\-\-display\fR will not work.
.TP
.B \-\-dmidecode\fR
Shortcut. See \fB\-\-force dmidecode\fR.
.TP
.B \-\-downloader [curl|fetch|perl|wget]\fR
Force inxi to use Curl, Fetch, Perl, or Wget for downloads.
.TP
.B \-\-force [colors|dmidecode|hddtemp|lsusb|pkg|usb-sys|wayland|vmstat|wmctrl]\fR
Various force options to allow users to override defaults. Values be given as a
comma separated list:
\fBinxi \-MJ --force dmidecode,lsusb\fR
\- \fBcolors\fR \- Same as \fB\-Y \-2\fR . Do not remove colors from piped or
redirected output.
\- \fBdmidecode\fR \- Force use of \fBdmidecode\fR. This will override
\fB/sys\fR data in some lines, e.g. \fB\-M\fR or \fB\-B\fR.
\- \fBhddtemp\fR \- Force use of hddtemp instead of /sys temp data for disks.
\- \fBlsusb\fR \- Forces the USB data generator to use \fBlsusb\fR as data
source (default). Overrides \fBUSB_SYS\fR in user configuration file(s).
\- \fBpkg\fR \- Force override of disabled package counts. Known package
managers with non\-resolvable issues:
rpm: Due to up to 30 seconds delays executing
.nf
\fBrpm \-qa \-\-nodigest \-\-nosignature\fR
.fi
on older hardware (and over 1 second on new hardware with some rpm versions)
package counts are disabled by default because of the unacceptable slowdowns to
execute a simple package list command.
\- \fBusb-sys\fR \- Forces the USB data generator to use \fB/sys\fR as data
source instead of \fBlsusb\fR (Linux only).
\- \fBvmstat\fR \- Forces use of vmstat for memory data.
\- \fBwayland\fR \- Forces use of Wayland, disables x tools glxinfo, xrandr,
xdpyinfo.
\- \fBwmctrl\fR \- Force \fBSystem\fR item \fBwm\fR to use \fBwmctrl\fR as data
source, override default \fBps\fR source.
.TP
.B \-\-hddtemp\fR
Shortcut. See \fB\-\-force hddtemp\fR.
.TP
.B \-\-html\-wan\fR
Temporary override of \fBNO_HTML_WAN\fR configuration item. Only use to test
w/wo HTML downloaders for WAN IP. Restores default behavior for WAN IP, which is
use HTML downloader if present and if dig failed.
.TP
.B \-\-man\fR
Updates / installs man page with \fB\-U\fR if \fBpinxi\fR or using \fB\-U 3\fR
dev branch. (Only active if \fB\-U\fR is is not disabled by maintainers).
.TP
.B \-\-no\-dig\fR
Overrides default use of \fBdig\fR to get WAN IP address. Allows use of normal
downloader tool to get IP addresses. Only use if dig is failing, since dig is
much faster and more reliable in general than other methods.
.TP
.B \-\-no\-doas\fR
Skips the use of doas to run certain internal features (like \fBhddtemp\fR,
\fBfile\fR) with doas. Not related to running inxi itself with doas/sudo or
super user. Some systems will register errors which will then trigger admin
emails in such cases, so if you want to disable regular user use of doas
(which requires configuration to setup anyway for these options) just use
this option, or \fBNO_DOAS\fR configuration item. See \fB\-\-no\-sudo\fR if
you need to disable both types.
.TP
.B \-\-no\-html-wan\fR
Overrides use of HTML downloaders to get WAN IP address. Use either only dig,
or do not get wan IP. Only use if dig is failing, and the HTML downloaders are
taking too long, or are hanging or failing.
Make permanent with \fBNO_HTML_WAN='true'\fR
.TP
.B \-\-no\-man\fR
Disables man page install with \fB\-U\fR for master and active development
branches. (Only active if \fB\-U\fR is is not disabled by maintainers).
.TP
.B \-\-no\-sensor\-force\fR
Overrides user set \fBSENSOR_FORCE\fR configuration value. Restores default
behavior.
.TP
.B \-\-no\-ssl\fR
Skip SSL certificate checks for all downloader actions (\fB\-U\fR, \fB\-w\fR,
\fB\-W\fR, \fB\-i\fR). Use if your system does not have current SSL certificate
lists, or if you have problems making a connection for any reason. Works with
\fBWget\fR, \fBCurl\fR, \fBPerl HTTP::Tiny\fR and \fBFetch\fR.
.TP
.B \-\-no\-sudo\fR
Skips the use of sudo to run certain internal features (like \fBhddtemp\fR,
\fBfile\fR) with sudo. Not related to running inxi itself with sudo or
superuser. Some systems will register errors which will then trigger admin
emails in such cases, so if you want to disable regular user use of sudo (which
requires configuration to setup anyway for these options) just use this option,
or \fBNO_SUDO\fR configuration item.
.TP
.B \-\-pkg\fR
Shortcut. See \fB\-\-force pkg\fR.
.TP
.B \-\-pm\-type [package manager name]\fR
For distro package maintainers only, and only for non apt, rpm, or pacman
based systems. To be used to test replacement package lists for recommends
for that package manager.
.TP
.B \-\-sensors\-default\fR
Overrides configuration values \fBSENSORS_USE\fR or \fBSENSORS_EXCLUDE\fR
on a one time basis.
.TP
.B \-\-sensors\-exclude\fR
Similar to \fB\-\-sensors\-use\fR except removes listed sensors from sensor
data. Make permanent with \fBSENSORS_EXCLUDE\fR configuration item. Note that
gpu, network, disk, and other specific device monitor chips are excluded by
default.
Example: \fBinxi \-sxx \-\-sensors\-exclude k10temp-pci-00c3\fR
.TP
.B \-\-sensors\-use\fR
Use only the (comma separated) sensor arrays for \fB\-s\fR output. Make
permanent with \fBSENSORS_USE\fR configuration item. Sensor array ID value
must be the exact value shown in lm\-sensors sensors output (Linux/lm-sensors
only). If you only want to exclude one (or more) sensors from the output,
use \fB\-\-sensors\-exclude\fR.
Can be useful if the default sensor data used by inxi is not from the right
sensor array. Note that all other sensor data will be removed, which may lead
to undesired consequences. Please be aware that this can lead to many
undesirable side\-effects, since default behavior is to use all the sensors
arrays and select which values to use from them following a set sequence of
rules. So if you force one to be used, you may lose data that was used from
another one.
Most likely best use is when one (or two) of the sensor arrays has all the
sensor data you want, and you just want to make sure inxi doesn't use data
from another array that has inaccurate or misleading data.
Note that gpu, network, disk, and other specific device monitor chips are
excluded by default, and should not be added since they do not provide cpu,
board, system, etc, sensor data.
Example: \fBinxi \-sxx \-\-sensors\-use nct6791-isa-0290,k10temp-pci-00c3\fR
.TP
.B \-\-sleep [0\-x.x]\fR
Usually in decimals. Change CPU sleep time for \fB\-C\fR (current: \fB\0.35\fR).
Sleep is used to let the system catch up and show a more accurate CPU use.
Example:
\fBinxi \-Cxxx \-\-sleep 0.15\fR
Overrides default internal value and user configuration value:
\fBCPU_SLEEP=0.25\fR
.TP
.B \-\-tty\fR
Forces internal IRC flag to off. Used in unhandled cases where the program
running inxi may not be seen as a shell/pty/tty, but it is not an IRC client.
Put \fB\-\-tty\fR first in option list to avoid unexpected errors. If you want
a specific output width, use the \fB\-\-width\fR option. If you want normal
color codes in the output, use the \fB\-c [color ID]\fR flag.
The sign you need to use this is extra numbers before the key/value pairs of
the output of your program. These are IRC, not TTY, color codes. Please post a
github issue if you find you need to use \fB\-\-tty\fR (including the full
\fB\-Ixxx\fR line) so we can figure out how to add your program to the list of
whitelisted programs.
You can see what inxi believed started it in the \fB\-Ixxx\fR line,
\fBShell:\fR or \fBClient:\fR item. Please let us know what that result was
so we can add it to the parent start program whitelist.
In some cases, you may want to also use \fB\-\-no\-filter\fR/\fB\-Z\fR option if
you want to see filtered values. Filtering is turned on by default if \fBinxi\fR
believes it is running in an IRC client.
.TP
.B \-\-usb\-sys\fR
Shortcut. See \fB\-\-force usb\-sys\fR
.TP
.B \-\-usb\-tool\fR
Shortcut. See \fB\-\-force lsusb\fR
.TP
.B \-\-wan\-ip\-url [URL]\fR
Force \fB\-i\fR to use supplied URL as WAN IP source. Overrides dig or
default IP source urls. URL must start with http[s] or ftp.
The IP address from the URL must be the last item on the last (non\-empty)
line of the page content source code.
Same as configuration value (example):
\fBWAN_IP_URL='https://mysite.com/ip.php'\fR
.TP
.B \-\-wayland\fR, \fB\-\-wl\fR
Shortcut. See \fB\-\-force wayland\fR.
.TP
.B \-\-wm\fR
Shortcut. See \fB\-\-force wmctl\fR.
.SH DEBUGGING OPTIONS
.TP
.B \-\-dbg 1\fR
\- Debug downloader failures. Turns off silent/quiet mode for curl, wget, and
fetch. Shows more downloader action information. Shows some more information
for Perl downloader.
.TP
.B \-\-dbg [2\-xx]\fR
\- See github \fBinxi-perl/docs/inxi-values.txt\fR for specific specialized
debugging options.
.TP
.B \-\-debug [1\-3]\fR
\- On screen debugger output.
.TP
.B \-\-debug 10\fR
\- Basic logging. Check \fB$XDG_DATA_HOME/inxi/inxi.log\fR or
\fB$HOME/.local/share/inxi/inxi.log\fR or \fB$HOME/.inxi/inxi.log\fR.
.TP
.B \-\-debug 11\fR
\- Full file/system info logging.
.TP
.B \-\-debug 20\fR
Creates a tar.gz file of system data and collects the inxi output
in a file.
* tree traversal data file(s) read from \fB/proc\fR and \fB/sys\fR, and
other system data.
* xorg conf and log data, xrandr, xprop, xdpyinfo, glxinfo etc.
* data from dev, disks, partitions, etc.
.TP
.B \-\-debug 21\fR
Automatically uploads debugger data tar.gz file to \fIftp.smxi.org\fR,
then removes the debug data directory, but leaves the debug tar.gz file.
See \fB\-\-ftp\fR for uploading to alternate locations.
.TP
.B \-\-debug 22\fR
Automatically uploads debugger data tar.gz file to \fIftp.smxi.org\fR, then
removes the debug data directory and the tar.gz file.
See \fB\-\-ftp\fR for uploading to alternate locations.
.TP
.B \-\-ftp [ftp.yoursite.com/incoming]\fR
For alternate ftp upload locations: Example:
\fBinxi \-\-ftp \fIftp.yourserver.com/incoming\fB \-\-debug 21\fR
.SH DEBUGGING OPTIONS TO DEBUG DEBUGGER FAILURES
Only use the following in conjunction with \fB\-\-debug 2[012]\fR, and only
use if you experienced a failure or hang, or were instructed to do so.
.TP
.B \-\-debug\-proc\fR
Force debugger to parse \fB/proc\fR directory data when run as root. Normally
this is disabled due to unpredictable data in /proc tree.
.TP
.B \-\-debug\-proc\-print\fR
Use this to locate file that /proc debugger hangs on.
.TP
.B \-\-debug\-no\-exit\fR
Skip exit on error when running debugger.
.TP
.B \-\-debug\-no\-proc\fR
Skip /proc debugging in case of a hang.
.TP
.B \-\-debug\-no\-sys\fR
Skip /sys debugging in case of a hang.
.TP
.B \-\-debug\-sys\fR
Force PowerPC debugger parsing of /sys as doas/sudo/root.
.TP
.B \-\-debug\-sys\-print\fR
Use this to locate file that /sys debugger hangs on.
.SH SUPPORTED IRC CLIENTS
BitchX, Gaim/Pidgin, ircII, Irssi, Konversation, Kopete, KSirc, KVIrc,
Weechat, and Xchat. Plus any others that are capable of displaying either
built\-in or external script output.
.SH RUNNING IN IRC CLIENT
To trigger inxi output in your IRC client, pick the appropriate method from the
list below:
.TP
.B Hexchat, XChat, Irssi
\fR(and many other IRC clients)
.B /exec \-o inxi \fR[\fBoptions\fR]
If you don't include the \fB\-o\fR, only you will see the output on your local
IRC client.
.TP
.B Konversation
.B /cmd inxi
\fR[\fBoptions\fR]
To run inxi in Konversation as a native script if your distribution or inxi
package hasn't already done this for you, create this symbolic link:
KDE 4:
.B ln \-s /usr/local/bin/inxi /usr/share/kde4/apps/konversation/scripts/inxi
KDE 5:
.B ln \-s /usr/local/bin/inxi /usr/share/konversation/scripts/inxi
If inxi is somewhere else, change the path \fB/usr/local/bin\fR to wherever it
is located.
If you are using KDE/QT 5, then you may also need to add the following to get
the Konversation \fR/inxi\fR command to work:
.B ln \-s /usr/share/konversation /usr/share/apps/
Then you can start inxi directly, like this:
.B /inxi
\fR[\fBoptions\fR]
.TP
.B WeeChat
.B NEW: /exec \-o inxi
\fR[\fBoptions\fR]
.B OLD: /shell \-o inxi
\fR[\fBoptions\fR]
Newer (2014 and later) WeeChats work pretty much the same now as other console
IRC clients, with \fB/exec \-o inxi \fR[\fBoptions\fR]. Newer WeeChats
have dropped the \fB\-curses\fR part of their program name, i.e.:
\fBweechat\fR instead of \fBweechat\-curses\fR.
.SH CONFIGURATION FILE
inxi will read its configuration/initialization files in the
following order:
\fB/etc/inxi.conf\fR contains the default configurations. These can be
overridden by creating a \fB/etc/inxi.d/inxi.conf\fR file (global override,
which will prevent distro packages from changing or overwriting your edits. This
method is recommended if you are using a distro packaged inxi and want to
override some configuration items from the package's default
\fB/etc/inxi.conf\fR file but don't want to lose your changes on a package
update.
You can old override, per user, with a user configuration file found in one of
the following locations (inxi will store its config file using the following
precedence:
if \fB$XDG_CONFIG_HOME\fR is not empty, it will go there, else if
\fB$HOME/.conf/inxi.conf\fR exists, it will go there, and as a last default,
the legacy location is used), i.e.:
\fB$XDG_CONFIG_HOME/inxi.conf\fR > \fB$HOME/.conf/inxi.conf\fR >
\fB$HOME/.inxi/inxi.conf\fR
.SH CONFIGURATION OPTIONS
See the documentation page for more complete information on how to set
these up, and for a complete list of options:
.I https://smxi.org/docs/inxi\-configuration.htm
.TP
.B Basic Options
Here's a brief overview of the basic options you are likely to want to use:
\fBCOLS_MAX_CONSOLE\fR The max display column width on terminal. If
terminal/console width or \fB\-\-width\fR is less than wrap width, wrapping of
line starter occurs
\fBCOLS_MAX_IRC\fR The max display column width on IRC clients.
\fBCOLS_MAX_NO_DISPLAY\fR The max display column width in out of X / Wayland /
desktop / window manager.
\fBCPU_SLEEP\fR Decimal value \fB0\fR or more. Default is usually around
\fB0.35\fR seconds. Time that inxi will 'sleep' before getting CPU speed data,
so that it reflects actual system state.
\fBDOWNLOADER\fR Sets default inxi downloader: curl, fetch, ftp, perl, wget.
See \fB\-\-recommends\fR output for more information on downloaders and Perl
downloaders.
\fBFILTER_STRING\fR Default \fB<filter>\fR. Any string you prefer to see
instead for filtered values.
\fBINDENT\fR Change primary indent width of wide mode output. See
\fB\-\-indent\fR.
\fBINDENTS\fR Change primary indents of narrow wrapped mode output, and second
level indents. See \fB\-\-indents\fR.
\fBLIMIT\fR Overrides default of \fB10\fR IP addresses per IF. This is only of
interest to sys admins running servers with many IP addresses.
\fBLINES_MAX\fR Values: [\-2\-xxx]. See \fB\-Y\fR for explanation and values.
Use \fB\-Y \-3\fR to restore default unlimited output lines. Avoid using this in
general unless the machine is a headless system and you want the output to be
always controlled.
\fBMAX_WRAP\fR (or \fBWRAP_MAX\fR) The maximum width where the line starter
wraps to its own line. If terminal/console width or \fB\-\-width\fR is less than
wrap width, wrapping of line starter occurs. Overrides default. See
\fB\-\-max\-wrap\fR. If \fB80\fR or less, wrap will never happen.
\fBNO_DIG\fR Set to \fB1\fR or \fBtrue\fR to disable WAN IP use of \fBdig\fR
and force use of alternate downloaders.
\fBNO_DOAS\fR Set to \fB1\fR or \fBtrue\fR to disable internal use of
\fBdoas\fR.
\fBNO_HTML_WAN\fR Set to \fB1\fR or \fBtrue\fR to disable WAN IP use of
\fBHTML Downloaders\fR and force use of dig only, or nothing if dig disabled
as well. Same as \fB\-\-no\-html\-wan\fR. Only use if dig is failing, and
HTML downloaders are hanging.
\fBNO_SUDO\fR Set to \fB1\fR or \fBtrue\fR to disable internal use of
\fBsudo\fR.
\fBPARTITION_SORT\fR Overrides default partition output sort. See
\fB\-\-partition\-sort\fR for options.
\fBPS_COUNT\fR The default number of items showing per \fB\-t\fR type, \fBm\fR
or \fBc\fR. Default is 5.
\fBSENSORS_CPU_NO\fR In cases of ambiguous temp1/temp2 (inxi can't figure out
which is the CPU), forces sensors to use either value 1 or 2 as CPU
temperature. See the above configuration page on smxi.org for full info.
\fBSENSORS_EXCLUDE\fR Exclude supplied sensor array[s] from sensor output.
Override with \fB\-\-sensors\-default\fR. See \fB\-\-sensors\-exclude\fR.
\fBSENSORS_USE\fR Use only supplied sensor array[s]. Override with
\fB\-\-sensors\-default\fR. See \fB\-\-sensors\-use\fR.
\fBSEP2_CONSOLE\fR Replaces default key / value separator of '\fB:\fR'.
\fBUSB_SYS\fR Forces all USB data to use \fB/sys\fR instead of \fBlsusb\fR.
\fBWAN_IP_URL\fR Forces \fB\-i\fR to use supplied URL, and to not use dig
(dig is generally much faster). URL must begin with http or ftp. Note that if
you use this, the downloader set tests will run each time you start inxi
whether a downloader feature is going to be used or not.
The IP address from the URL must be the last item on the last (non\-empty)
line of the URL's page content source code.
Same as \fB\-\-wan\-ip\-url [URL]\fR
\fBWEATHER_SOURCE\fR Values: [\fB0-9\fR]. Same as \fB\-\-weather\-source\fR.
Values 4\-9 are not currently supported, but this can change at any time.
\fBWEATHER_UNIT\fR Values: [\fBm\fR|\fBi\fR|\fBmi\fR|\fBim\fR]. Same as
\fB\-\-weather\-unit\fR.
.TP
.B Color Options
It's best to use the \fB\-c [94\-99]\fR color selector tool to set the
following values because it will correctly update the configuration file and
remove any invalid or conflicting items, but if you prefer to create your own
configuration files, here are the options. All take the integer value from the
options available in \fB\-c 94\-99\fR.
NOTE: All default and configuration file set color values are removed when
output is piped or redirected. You must use the explicit
\fB\-c <color number>\fR option if you want colors to be present in the
piped/redirected output (creating a PDF for example).
\fBCONSOLE_COLOR_SCHEME\fR The color scheme for console output (not in
X/Wayland).
\fBGLOBAL_COLOR_SCHEME\fR Overrides all other color schemes.
\fBIRC_COLOR_SCHEME\fR Desktop X/Wayland IRC CLI color scheme.
\fBIRC_CONS_COLOR_SCHEME\fR Out of X/Wayland, IRC CLI color scheme.
\fBIRC_X_TERM_COLOR_SCHEME\fR In X/Wayland IRC client terminal color scheme.
\fBVIRT_TERM_COLOR_SCHEME\fR Color scheme for virtual terminal output (in
X/Wayland).
.SH BUGS
Please report bugs using the following resources.
You may be asked to run the inxi debugger tool (see \fB\-\-debug 21/22\fR),
which will upload a data dump of system files for use in debugging inxi. These
data dumps are very important since they provide us with all the real system
data inxi uses to parse out its report.
.TP
.B Issue Report
File an issue report:
.I https://github.com/smxi/inxi/issues
.TP
.B Forums
Post on inxi forums:
.I https://techpatterns.com/forums/forum\-33.html
.TP
.B IRC irc.oftc.net#smxi
You can also visit
.I irc.oftc.net
\fRchannel:\fI #smxi\fR to post issues.
.SH HOMEPAGE
.I https://github.com/smxi/inxi
.I https://smxi.org/docs/inxi.htm
.SH AUTHOR AND CONTRIBUTORS TO CODE
.B inxi
is a fork of \fBlocsmif\fR's very clever \fBinfobash\fR script.
Original infobash author and copyright holder:
Copyright (C) 2005\-2007 Michiel de Boer aka locsmif
inxi version: Copyright (C) 2008\-2021 Harald Hope
This man page was originally created by Gordon Spencer (aka aus9) and is
maintained by Harald Hope (aka h2 or TechAdmin).
Initial CPU logic, konversation version logic, occasional maintenance fixes,
and the initial xiin.py tool for /sys parsing (obsolete, but still very much
appreciated for all the valuable debugger data it helped generate):
Scott Rogers
Further fixes (listed as known):
Horst Tritremmel <hjt at sidux.com>
Steven Barrett (aka: damentz) \- USB audio patch; swap percent used patch.
Jarett.Stevens \- \fBdmidecode \-M\fR patch for older systems with no
\fB/sys\fR.
.SH SPECIAL THANKS TO THE FOLLOWING
The nice people at irc.oftc.net channels #linux\-smokers\-club and #smxi, who
all really have to be considered to be co\-developers because of their non\-stop
enthusiasm and willingness to provide real\-time testing and debugging of inxi
development over the years.
LinuxQuestions.org Slackware forum members, for major help with development and
debugging new or refactored features, particularly the redone CPU logic of
2021\-12.
Siduction forum members, who have helped get some features working by providing
a large number of datasets that have revealed possible variations, particularly
for the RAM \fB\-m\fR option.
AntiX users and admins, who have helped greatly with testing and debugging,
particularly for the 3.0.0 release.
ArcherSeven (Max), Brett Bohnenkamper (aka KittyKatt), and Iotaka, who always
manage to find the weirdest or most extreme hardware and setups that help make
inxi much more robust.
For the vastly underrated skill of output error/glitch catching, Pete Haddow.
His patience and focus in going through inxi repeatedly to find errors and
inconsistencies is much appreciated.
For a huge boost to BSD support, Stan Vandiver, who did a lot of testing
and setup many remote access systems for testing and development.
All the inxi package maintainers, distro support people, forum moderators,
and in particular, sys admins with their particular issues, which almost always
help make inxi better, and any others who contribute ideas, suggestions, and
patches.
Without a wide range of diverse Linux kernel\-based Free Desktop systems to
test on, we could never have gotten inxi to be as reliable and solid as it's
turning out to be.
And of course, a big thanks to locsmif, who figured out a lot of the core
ideas, logic, and tricks originally used in inxi Gawk/Bash.
.\" EOF