inxi man page

inxi — Command line system information script for console and IRC

Examples (TL;DR)



inxi [-AbBCdDfFGhiIlmMnNopPrRsSuUVwzZ]

inxi [-c NUMBER] [-t  [c|m|cm|mc][NUMBER]]  [-v NUMBER] [-W LOCATION]  [--weather-unit {m|i|mi|im}] [-y WIDTH]  inxi [--memory-modules] [--memory-short]  [--recommends] [--slots] [--usb]

inxi [-x|-xx|-xxx|-a|--admin] -OPTION(s)

All options have long form variants - see below for these and more advanced options.


inxi 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.

inxi 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 -c 0, or changed  using the -c color options listed in the Standard Options section below.

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 /home 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 -z option (-Fz, for example). To override the IRC filter, you can use the -Z option. This can be useful in debugging network connection issues online in a private chat, for example.

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 -t.

For example: inxi -AG or inxi -A -G or inxi -c10

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.

Standard Options

-A, --audio

Show Audio/sound card(s) information, including card driver.

-b, --basic

Show basic output, short form. Same as: inxi -v 2

-B, --battery

Show system battery (ID-x) data, charge, condition, plus extra information  (if battery present). Uses /sys or, for BSDs without systctl battery data,  dmidecode. dmidecode does not have very much information, and none  about current battery state/charge/voltage. Supports multiple batteries when  using /sys data.

Note that for charge, 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 22.2 Wh.

charge: 20.1 Wh 95.4%

The condition item shows the remaining available capacity / original design capacity, and then this figure as a percentage of original capacity available in the battery.

condition: 22.2/36.4 Wh (61%)

With -x shows attached Device-x information (mouse, keyboard, etc.)  if they are battery powered.

-c, --color [0-42]

Set color scheme. If no scheme number is supplied, 0 is assumed.

-c [94-99]

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 -c <color number> 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):

-c 94

- Console, out of X.

-c 95

- Terminal, running in X - like xTerm.

-c 96

- GUI IRC, running in X - like XChat, Quassel, Konversation etc.

-c 97

- Console IRC running in X - like irssi in xTerm.

-c 98

- Console IRC not in  X.

-c 99

- Global - Overrides/removes all settings.

Setting a specific color type removes the global color selection.

-C, --cpu

Show full CPU output, including per CPU clock speed and CPU max speed (if available). If max speed data present, shows (max) in short output formats (inxi, inxi -b) if actual CPU speed matches max CPU speed. If max CPU speed does not match actual CPU speed, shows both actual and max speed information. See -x for more options.

For certain CPUs (some ARM, and AMD Zen family) shows CPU die count.

The details for each CPU include a technical description e.g. type: MT MCP

* MT - Multi/Hyper Threaded CPU, more than 1 thread per core (previously HT).

* MCM - Multi Chip Model (more than 1 die per CPU).

* MCP - Multi Core Processor (more than 1 core per CPU).

* SMP - Symmetric Multi Processing (more than 1 physical CPU).

* UP - Uni (single core) Processor.

-d, --disk-full,--optical

Show optical drive data as well as -D hard drive data. With -x, 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 I am aware of, so it will simply show the floppy ID without any extra data. -xx adds a few more features.

-D, --disk

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. Note that with RAID disks, the percentage will be wrong since  the total is computed from the disk sizes, but used is computed from mounted  partition used percentages. This small defect may get corrected in the future.  Also, unmounted partitions are not counted in disk use percentages since inxi  has no access to the used amount.

Also shows per disk information: Disk ID, type (if present), vendor (if detected),  model, and size. See Extra Data Options for more features.

-f, --flags

Show all CPU flags used, not just the short list. Not shown with -F in order to avoid spamming. ARM CPUs: show features items.

-F, --full

Show Full output for inxi. Includes all Upper Case line letters except -W, plus -s and -n. Does not show extra verbose options such as -d -f -i -l -m -o -p -r -t -u -x unless you use those arguments in the command, e.g.: inxi -Frmxx

-G, --graphics

Show Graphic card(s) information, including details of card and card driver, display protocol (if available), display server (vendor and version number), e.g.:

Display: x11 server: Xorg 1.15.1

If protocol is not detected, shows:

Display: server: Xorg 1.15.1

Also shows screen resolution(s), OpenGL renderer, OpenGL core profile version/OpenGL version.

Compositor information will show if detected using -xx option.

-h, --help

The help menu. Features dynamic sizing to fit into terminal window. Set script global COLS_MAX_CONSOLE if you want a different default value, or use -y <width> to temporarily override the defaults or actual window width.

-i, --ip

Show WAN IP address and local interfaces (latter requires ifconfig or ip network tool), as well as network output from -n. Not shown with -F for user security reasons. You shouldn't paste your local/WAN IP. Shows both IPv4 and IPv6 link IP addresses.

-I, --info

Show Information: processes, uptime, memory, IRC client (or shell type if run in shell, not IRC), inxi version. See -x and -xx for extra information (init type/version, runlevel).

Note: if -m is used or triggered, the memory item will show in the main Memory: report of -m, not in Info:.

Rasberry Pi only: uses vcgencmd get_mem gpu to get gpu RAM amount,  if user is in video group and vcgencmd is installed. Uses  this result to increase the Memory: amount and used: amounts.

-l, --label

Show partition labels. Default: main partitions -P. For full -p output, use: -pl.

-m, --memory

Memory (RAM) data. Does not display with  -b or  -F unless you use -m explicitly. Ordered by system board physical system memory array(s) (Array-[number]), and individual memory devices (Device-[number]). 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: type: DDR3).

Note: -m uses dmidecode, which must be run as root (or start inxi with sudo), unless you figure out how to set up sudo to permit dmidecode to read /dev/mem as user. speed and bus width will not show if No Module Installed is found in size.

Note: If -m is triggered RAM total/used report will appear in this section,  not in -I or -tm items.

Because dmidecode data is extremely unreliable, inxi will try to make best guesses. If you see (check) after the capacity number, you should check it with the specifications. (est) is slightly more reliable, but you should still check the real specifications before buying RAM. Unfortunately there is nothing inxi can do to get truly reliable data about the system RAM; maybe one day the kernel devs will put this data into /sys, 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.

See --memory-modules and --memory-short if you want a shorter report.


Memory (RAM) data. Show only RAM arrays and modules in Memory report.  Skip empty slots. See -m.


Memory (RAM) data. Show a one line RAM report in Memory, e.g.  Report: arrays: 1 slots: 4 modules: 2 type: DDR4 See -m.

-M, --machine

Show machine data. Device, Motherboard, BIOS, and if present, System Builder (Like Lenovo). Older systems/kernels without the required /sys data can use dmidecode instead, run as root. If using dmidecode, may also show BIOS/UEFI revision as well as version. --dmidecode forces use of dmidecode data instead of /sys. 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 /sys or dmidecode. Note that 'other-vm?' 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.

-n, --network-advanced

Show Advanced Network card information in addition to that produced by -N. Shows interface, speed, MAC ID, state, etc.

-N, --network

Show Network card(s) information, including card driver. With -x, shows PCI BusID,  Port number.

-o, --unmounted

Show unmounted partition information (includes UUID and LABEL if available). Shows file system type if you have lsblk installed (Linux only). For BSD/GNU Linux: shows file system type if file is installed, and if you are root or if you have added to /etc/sudoers (sudo v. 1.7 or newer):

<username> ALL = NOPASSWD: /usr/bin/file (sample)

Does not show components (partitions that create the md-raid array) of md-raid arrays.

-p, --partitions-full

Show full Partition information (-P plus all other detected mounted partitions).

-P, --partitions

Show basic Partition information. Shows, if detected: / /boot /home /opt /tmp /usr /usr/home /var /var/tmp /var/log. Use -p to see all mounted partitions.

-r, --repos

Show distro repository data. Currently supported repo types:

APK (Alpine Linux + derived versions)

APT (Debian, Ubuntu + derived versions, as well as RPM based  APT distros like PCLinuxOS or Alt-Linux)

CARDS (NuTyX + derived versions)

EOPKG (Solus)

PACMAN (Arch Linux, KaOS + derived versions)

PACMAN-G2 (Frugalware + derived versions)

PISI (Pardus + derived versions)

PORTAGE (Gentoo, Sabayon + derived versions)

PORTS (OpenBSD, FreeBSD, NetBSD + derived OS types)

SLACKPKG (Slackware + derived versions)

TCE (TinyCore)

URPMQ (Mandriva, Mageia + derived versions)

XBPS (Void)

YUM/ZYPP (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.

-R, --raid

Show RAID data. Shows RAID devices, states, levels and components, and extra data with -x / -xx.

md-raid: If device is resyncing, also shows resync progress line.

Note: Only md-raid and ZFS are currently supported. Other software RAID types could be added, but only if users supply all data required, and if the software RAID actually can be made to give the required output.

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.


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.

-s, --sensors

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.


Show PCI slots with type, speed, and status information.

-S, --system

Show System information: host name, kernel, desktop environment (if in X), distro. With -xx show dm - or startx - (only shows if present and running if out of X), and if in X, with -xxx show more desktop info, e.g. taskbar or panel.

-t, --processes

[c|m|cm|mc NUMBER] Show processes. If no arguments, defaults to cm. If followed by a number, shows that number of processes for each type (default: 5; if in IRC, max: 5)

Make sure that there is no space between letters and numbers (e.g. write as -t cm10).

-t c

- CPU only. With -x, also shows memory for that process on same line.

-t m

- memory only. With -x, also shows CPU for that process on same line. If the -I line is not triggered, will also show the system RAM used/total information.

-t cm

- CPU+memory. With -x, shows also CPU or memory for that process on same line.


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: Device-3: 4-3.2.1:2 or Hub: 4-0:1

The rev: 2.0 item refers to the USB revision number, like 1.0 or 3.1.

-u, --uuid

Show partition UUIDs. Default: main partitions -P. For full -p output, use: -pu.

-U, --update

Note - Maintainer may have disabled this function.

If inxi -h has no listing for -U 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: /usr/local/share/man/man1 (if /usr/local/share/man/ exists AND there is no inxi man page in /usr/share/man/man1, otherwise it goes to /usr/share/man/man1). This requires that you be root to write to that directory. See --man or --no-man to force or disable  man install.

-V, --version

inxi version information. Prints information then exits.

-v, --verbosity

Script verbosity levels. If no verbosity level number is given, 0 is assumed. Should not be used with -b or -F.

Supported levels: 0-8 Examples : inxi -v 4 or inxi -v4

-v 0

- Short output, same as: inxi

-v 1

- Basic verbose, -S + basic CPU (cores, type, clock speed, and min/max speeds, if available) + -G + basic Disk + -I.

-v 2

- Adds networking card (-N), Machine (-M) data, Battery (-B) (if available). Same as: inxi -b

-v 3

- Adds advanced CPU (-C) and network (-n) data; triggers -x advanced data option.

-v 4

- Adds partition size/used data (-P) for (if present): / /home /var/ /boot. Shows full disk data (-D)

-v 5

- Adds audio card (-A), memory/RAM (-m), sensors (-s), partition label (-l), UUID (-u), and short form of optical drives.

-v 6

- Adds full mounted partition data (-p), unmounted partition data (-o), optical drive data (-d), USB (--usb); triggers -xx extra data  option.

-v 7

- Adds network IP data (-i); triggers -xxx

-v 8

- All system data available. Adds Repos (-r), PCI slots (--slots),  processes (-tcm), admin (--admin). Useful for testing output and to  see what data you can get from your system.

-w, --weather

Adds weather line. To get weather for an alternate location, use -W [location]. See also -x, -xx, -xxx options. Please note that your distribution's maintainer may chose to disable this feature.

DO NOT USE THIS FEATURE FOR AUTOMATED WEATHER UPDATES! You will be 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.

-W, --weather-location <location_string>

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 '+' 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 for current 2 letter  country codes.

Use only ASCII letters in city/state/country names.

Examples: -W 95623,us OR -W Boston,MA OR  -W 45.5234,-122.6762 OR -W new+york,ny OR -W bodo,norway.

DO NOT USE THIS FEATURE FOR AUTOMATED WEATHER UPDATES! Use of automated queries,  will result in your access being blocked. If you try to work around the ban, you  will be permanently banned from this service.

--weather-source, --ws <unit>

[1-9] Switches weather data source. Possible values are 1-9. 1-4 will generally be active, and 5-9 may or may not be active, so check. 1 may not support city / country names with spaces (even if you use the + sign instead of space). 2 offers pretty good data, but may not have all small  city names for -W.

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.

--weather-unit <unit>

[m|i|mi|im] Sets weather units to metric (m), imperial (i),  metric (imperial) (mi, default), imperial (metric) (im). If metric or imperial  not found,sets to default value, or N/A.

-y, --width <integer>

This is an absolute width override which sets the output line width max. Overrides COLS_MAX_IRC / COLS_MAX_CONSOLE globals, or the actual widths of the terminal. 80 is the minimum width supported.  -1 removes width limits. Example: inxi -Fxx -y 130

-z, --filter

Adds security filters for IP addresses, serial numbers, MAC,  location (-w), and user home directory name. On by default for IRC clients.

-Z, --filter-override

Absolute override for output filters. Useful for debugging networking issues in IRC for example.

Extra Data Options

These options can be triggered by one or more -x. Alternatively, the -v options trigger them in the following way: -v 3 adds -x; -v 6 adds -xx; -v 7 adds -xxx

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.: -bxx or -Sxxx

There are 3 extra data levels:

-x, -xx, -xxx
--extra 1, --extra 2, --extra 3
The following details show which lines / items display extra information for each extra data level.
-x -A

- Adds (if available and/or relevant) vendor: item, which shows  specific vendor [product] information.

- Adds version/port(s)/driver version (if available) for each Audio device.

- Adds PCI Bus ID/USB ID number of each Audio device.

-x -B

- Adds vendor/model, battery status (if battery present).

- Adds attached battery powered peripherals (Device-[number]:) if  detected (keyboard, mouse, etc.).

-x -C

- Adds bogomips on CPU (if available)

- Adds CPU Flags (short list). Use -f 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 and model ID.

Examples: arch: Sandy Bridge rev: 2, arch: K8 rev.F+ rev: 2

-x -d

- Adds more items to Features line of optical drive;  dds rev version to optical drive.

-x -D

- Adds HDD temperature with disk data if you have hddtemp installed, if you are root or if you have added to /etc/sudoers (sudo v. 1.7 or newer):

<username> ALL = NOPASSWD: /usr/sbin/hddtemp (sample)

-x -G

- Adds (if available and/or relevant) vendor: item, which shows  specific vendor [product] information.

- Adds direct rendering status.

- Adds (for single GPU, nvidia driver) screen number that GPU is running on.

- Adds PCI Bus ID/USB ID number of each Graphics card.

-x -i

- Adds IP v6 additional scope data, like Global, Site, Temporary for each interface.

Note that there is no way I am aware of to filter out the deprecated IP v6 scope site/global temporary addresses from the output of ifconfig. The ip tool shows that clearly.

ip-v6-temporary - (ip tool only), scope global temporary. Scope global temporary deprecated is not shown

ip-v6-global - scope global (ifconfig will show this for all types, global, global temporary, and global temporary deprecated, ip shows it only for global)

ip-v6-link - scope link (ip/ifconfig) - default for -i.

ip-v6-site - scope site (ip/ifconfig). This has been deprecated in IPv6, but still exists. ifconfig may show multiple site values, as with global temporary, and global temporary deprecated.

ip-v6-unknown - unknown scope

-x -I

- Adds current init system (and init rc in some cases, like OpenRC). With -xx, shows init/rc version number, if available.

- Adds default system gcc. With -xx, also show other installed gcc versions.

- Adds current runlevel (not available with all init systems).

- If in shell (i.e. not in IRC client), adds shell version number, if available.

-x -m, --memory-modules

- 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.

-x -N

- Adds (if available and/or relevant) vendor: item, which shows  specific vendor [product] information.

- Adds version/port(s)/driver version (if available) for each Network card;

- Adds PCI Bus ID/USB ID number of each Network card.

-x -R

- 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.

-x -s

- Adds basic voltages: 12v, 5v, 3.3v, vbat (ipmi, lm-sensors if present).

-x -S

- Adds Kernel gcc version.

- Adds to Distro: base: 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.

-x -t

- Adds memory use output to CPU (-xt c), and CPU use to memory (-xt m).

-x --usb

- For Devices, adds driver(s).

-x -w, -W

- Adds humidity and barometric pressure.

- Adds wind speed and direction.

-xx -A

- Adds vendor:product ID for each Audio device.

-xx -B

- Adds serial number, voltage (if available). Note that volts shows the  data (if available) as the voltage now / minimum design voltage.

-xx -C

- Adds L1 cache: and L3 cache: if either are available. Requires  dmidecode and sudo/root.

-xx -D

- 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 8 GT/s and 4 lanes  (8GT/s * 128/130 * 4 = 31.6 Gb/s):

speed: 31.6 Gb/s lanes: 4

-xx -G

- Adds vendor:product ID of each Graphics card.

- Adds compositor, if found (experimental).

- For free drivers, adds OpenGL compatibility version number if  available. For nonfree drivers, the core version and compatibility versions are usually the same. Example:

v: 3.3 Mesa 11.2.0 compat-v: 3.0

- If available, shows alternate: Xorg drivers. This means a driver on  the default list of drivers Xorg automatically checks for the card, but which  is not installed. For example, if you have nouveau driver, nvidia would  show as alternate if it was not installed. Note that alternate: 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 card. This can let you know there are other driver options. Note that if you have explicitly set the driver in xorg.conf, Xorg will not  create this automatic check driver list.

-xx -I

- 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.

- Adds parent program (or tty) that started shell, if not IRC client.

-xx -m, --memory-modules

- Adds memory device Manufacturer.

- Adds  memory device Part Number (part-no:). Useful for ordering new or replacement memory sticks etc. Part numbers are unique, particularly if you use the word memory in the search as well. With -xxx, 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 dmidecode output for type 6 and type 17.

-xx -M

- Adds chassis information, if data is available. Also shows BIOS ROM size if using dmidecode.

-xx -N

- Adds vendor:product ID for each Network card.

-xx -R

- md-raid: Adds superblock (if present) and algorithm. If resync, shows progress bar.

- Hardware RAID: Adds Chip vendor:product ID.

-xx -s

- Adds DIMM/SOC voltages, if present (ipmi only).

-xx -S

- Adds display manager (dm) 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 (wm), 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 wmctrl  if ps tests fail to find data.

- Adds desktop toolkit (tk), if available (Xfce/KDE/Trinity).

-xx --slots

- Adds slot length.

-xx --usb

- Adds vendor:chip id.

-xx -w, -W

- 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.

-xxx -A

- Adds, if present, serial number.

-xxx -B

- Adds battery chemistry (e.g. Li-ion), cycles (NOTE: there appears to be a problem with the Linux kernel obtaining the cycle count, so this almost always shows 0. 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 dmidecode derived output).

- Adds attached device rechargeable: [yes|no] information.

-xxx -C

- Adds boost: [enabled|disabled] if detected, aka turbo. Not all CPUs  have this feature.

-xxx -D

- Adds disk firmware revision number (if available).

- Adds disk partition scheme (in most cases), e.g. scheme: GPT. Currently not  able to detect all schemes, but handles the most common, e.g. GPT or MBR.

- Adds disk rotation speed (in some but not all cases), e.g. rotation: 7200 rpm.  Only appears if detected (SSD drives do not have rotation speeds, for example). If none  found, nothing shows. Not all disks report this speed, so even if they are spinnning, no data will show.

-xxx -G

- Adds (if available) compositor: version v:.

-xxx -I

- For Shell: adds (su|sudo|login) to shell name if present.

- For running in: adds (SSH) to parent, if present. SSH detection uses the who am i test.

-xxx -m, --memory-modules

- Adds memory bus width: primary bus width, and if present, total width. e.g. bus width: 64 bit (total: 72 bits). 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. detail: DDR3 (Synchronous).

- Adds, if present, memory module voltage. Only some systems will have this data available.

- Adds device serial number.

-xxx -N

- Adds, if present, serial number.

-xxx -R

- 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)  vendor: item, which shows specific vendor [product] information.

-xxx -S

- Adds, if in X, or with --display, bar/dock/panel/tray items  (info). 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 (wm) version number.

- Adds (if present), display manager (dm) version number.

-xxx --usb

- Adds, if present, serial number for non hub devices.

- Adds interfaces: for non hub devices.

- Adds, if available, USB speed in Mbits/s or Gbits/s.

-xxx -w, -W

- Adds location (city state country), observation altitude (if available),  weather observation time (if available), sunset/sunrise (if available).

Admin Extra Data Options

These options are triggered with --admin or -a. Admin options are  advanced output options, and are more technical, and mostly of interest to system  administrators or other machine admins.  The --admin option only has to be used once, and will trigger the following features.

-a -C

- Adds CPU family, model-id, and stepping (replaces rev of -Cx).  Format is hexadecimal (decimal) if greater than 9, otherwise hexadecimal.

- Adds CPU microcode. Format is hexadecimal.

- Adds CPU Vulnerabilities (bugs) as known by your current kernel. Lists by Type: ... (status|mitigation): .... for systems that support this feature  (Linux kernel 4.14 or newer, or patched older kernels).

-a -d,-a -D

- Adds logical and physical block size in bytes.

-a -p,-a -P

- Adds raw partition size, including file system overhead, partition table, e.g.  

raw size: 60.00 GiB.

- Adds percent of raw size available to size: item, e.g.

size: 58.81 GiB (98.01%).

Note that used: 16.44 GiB (34.3%) percent refers to the available size,  not the raw size.

- Adds partition filesystem block size if found (requires root and blockdev).

- For swap, adds swappiness and vfs cache pressure, and a message to indicate  if it is the default value or not (Linux only, and only if available). If not,  shows default value as well, e.g.

swappiness: 60 (default) cache pressure: 90 (default 100).

-a -S

- Adds kernel boot parameters to Kernel section (if detected). Support  varies by OS type.

Advanced Options

--alt 40

Bypass Perl as a downloader option. Priority is: Perl (HTTP::Tiny), Curl, Wget, Fetch, (OpenBSD only) ftp.

--alt 41

Bypass Curl as a downloader option. Priority is: Perl (HTTP::Tiny), Curl, Wget, Fetch, (OpenBSD only) ftp.

--alt 42

Bypass Fetch as a downloader option. Priority is: Perl (HTTP::Tiny), Curl, Wget, Fetch, (OpenBSD only) ftp.

--alt 43

Bypass Wget as a downloader option. Priority is: Perl (HTTP::Tiny), Curl, Wget, Fetch, OpenBSD only: ftp

--alt 44

Bypass Curl, Fetch, and Wget as downloader options. This basically forces the downloader selection to use Perl 5.x HTTP::Tiny, which is generally slower than Curl or Wget but it may help bypass issues with downloading.

--display [:<integer>]

Will try to get display data out of X (does not usually work as root user). Default gets display info from display :0. If you use the format --display :1 then it would get it from display 1 instead, or any display you specify.

Note that in some cases, --display 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: glxinfo -display :0

If it hangs, --display will not work.


Force use of dmidecode. This will override /sys data in some lines, e.g. -M or -B.

--downloader [curl|fetch|perl|wget]

Force inxi to use Curl, Fetch, Perl, or Wget for downloads.


Turns on hostname in System line. Overrides inxi config file value (if set):


--indent-min [integer]

Overrides default indent minimum value. This is the value that makes inxi change from wrapped line starters [like Info] to non wrapped. If less than 80, no wrapping will occur. Overrides internal default value and user configuration value:


--limit [-1 - x]

Raise or lower max output limit of IP addresses for -i. -1 removes limit.


Updates / installs man page with -U if pinxi or using -U 3 dev branch. (Only active if -U is is not disabled by maintainers).


Turns off hostname in System line. Useful, in combination with -z, for anonymizing inxi output for posting on forums or IRC. Same as configuration value:



Disables man page install with -U for master and active development branches. (Only active if -U is is not disabled by maintainers).


Skip SSL certificate checks for all downloader actions (-U, -w, -W, -i). Use if your system does not have current SSL certificate lists, or if you have problems making a connection for any reason. Works with Wget, Curl, and Fetch only.

--output [json|screen|xml]

Change data output type. Requires --output-file if not screen.

--output-file [full path to output file|print]

The given directory path must exist. The directory path given must exist, The print options prints to stdout. Required for non-screen --output formats (json|xml).

--partition-sort [dev-base|fs|id|label|percent-used|size|uuid|used]

Change default sort order of partition output. Corresponds to PARTITION_SORT configuration item. These are the available sort options:

dev-base - /dev partition identifier, like /dev/sda1.  Note that it's an alphabetic sort, so sda12 is before sda2.

fs - Partition filesystem. Note that sorts will be somewhat random if all  filesystems are the same.

id - Mount point of partition (default).

label - Label of partition. If partitions have no labels,  sort will be random.

percent-used - Percentage of partition size used.

size - KiB size of partition.

uuid - UUID of the partition.

used - KiB used of partition.

--pm-type [package manager name]

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.

--sleep [0-x.x]

Usually in decimals. Change CPU sleep time for -C (current: .35). Sleep is used to let the system catch up and show a more accurate CPU use. Example:

inxi -Cxxx --sleep 0.15

Overrides default internal value and user configuration value:



Forces internal IRC flag to off. Used in unhandled cases where the program running inxi may not be seen as a shell/tty, but it is not an IRC client. Put --tty  first in option list to avoid unexpected errors. If you want a specific  output width, use the --width option. If you want normal color codes in the output, use the  -c [color ID] 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 --tty (including the full  -Ixxx 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 -Ixxx line, Shell: or  Client: item. Please let us know what that result was so we can add it to the  parent start program whitelist.


Forces the USB data generator to use /sys as data source  instead of lsusb.


Forces the USB data generator to use lsusb as data source. Overrides  USB_SYS in user configuration file(s).

--wan-ip-url [URL]

Force -i 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):



Force System item wm to use wmctrl as data source,  override default ps source.

Debugging Options

--dbg 1

- 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.

--debug [1-3]

- On screen debugger output. Output varies depending on current needs Usually nothing changes.

--debug 10

- Basic logging. Check $XDG_DATA_HOME/inxi/inxi.log or $HOME/.local/share/inxi/inxi.log or $HOME/.inxi/inxi.log.

--debug 11

- Full file/system info logging.

--debug 20

Creates a tar.gz file of system data and collects the inxi output in a file.

* tree traversal data file(s) read from /proc and /sys, and  other system data.

* xorg conf and log data, xrandr, xprop, xdpyinfo, glxinfo etc.

* data from dev, disks, partitions, etc.

--debug 21

Automatically uploads debugger data tar.gz file to, then removes the debug data directory, but leaves the debug tar.gz file. See --ftp for uploading to alternate locations.

--debug 22

Automatically uploads debugger data tar.gz file to, then removes the debug data directory and the tar.gz file. See --ftp for uploading to alternate locations.

--ftp []

For alternate ftp upload locations: Example:

inxi --ftp --debug 21

Debugging Options to Debug Debugger Failures

Only used the following in conjunction with --debug 2[012], and only  use if you experienced a failure or hang, or were instructed to do so.


Force debugger to parse /proc directory data when run as root. Normally this is disabled due to unpredictable data in /proc tree.


Use this to locate file that /proc debugger hangs on.


Skip exit on error when running debugger.


Skip /proc debugging in case of a hang.


Skip /sys debugging in case of a hang.


Force PowerPC debugger parsing of /sys as sudo/root.


Use this to locate file that /sys debugger hangs on.

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.

Running in IRC Client

To trigger inxi output in your IRC client, pick the appropriate method from the list below:

Hexchat, XChat, Irssi

(and many other IRC clients) /exec -o inxi [options] If you don't include the -o, only you will see the output on your local IRC client.


/cmd inxi [options]

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: ln -s /usr/local/bin/inxi /usr/share/kde4/apps/konversation/scripts/inxi

KDE 5: ln -s /usr/local/bin/inxi /usr/share/konversation/scripts/inxi

If inxi is somewhere else, change the path /usr/local/bin 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 /inxi command to work:

ln -s /usr/share/konversation /usr/share/apps/

Then you can start inxi directly, like this:

/inxi [options]


NEW: /exec -o inxi [options]

OLD: /shell -o inxi [options]

Newer (2014 and later) WeeChats work pretty much the same now as other console IRC clients, with /exec -o inxi [options]. Newer WeeChats have dropped the -curses part of their program name, i.e.: weechat instead of weechat-curses.

Configuration File

inxi will read its configuration/initialization files in the following order:

/etc/inxi.conf contains the default configurations. These can be overridden by user configurations found in one of the following locations (inxi will store its config file using the following precedence: if $XDG_CONFIG_HOME is not empty, it will go there, else if $HOME/.conf/inxi.conf exists, it will go there, and as a last default, the legacy location is used), i.e.:

$XDG_CONFIG_HOME/inxi.conf > $HOME/.conf/inxi.conf > $HOME/.inxi/inxi.conf

Configuration Options

See the documentation page for more complete information on how to set these up, and for a complete list of options:

Basic Options

Here's a brief overview of the basic options you are likely to want to use:

COLS_MAX_CONSOLE The max display column width on terminal.

COLS_MAX_IRC The max display column width on IRC clients.

COLS_MAX_NO_DISPLAY The max display column width in console, out of GUI desktop.

CPU_SLEEP Decimal value 0 or more. Default is usually around 0.35 seconds. Time that inxi will 'sleep' before getting CPU speed data, so that it reflects actual system state.

DOWNLOADER Sets default inxi downloader: curl, fetch, ftp, perl, wget. See --recommends output for more information on downloaders and Perl downloaders.

FILTER_STRING Default <filter>. Any string you prefer to see instead for filtered values.

INDENT_MIN The point where the line starter wrapping to its own line happens. Overrides default. See --indent-min. If 80 or less, wrap will never happen.

LIMIT Overrides default of 10 IP addresses per IF. This is only of interest to sys admins running servers with many IP addresses.

PARTITION_SORT Overrides default partition output sort. See  --partition-sort for options.

PS_COUNT The default number of items showing per -t type, m or  c. Default is 5.

SENSORS_CPU_NO 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 for full info.

SEP2_CONSOLE Replaces default key / value separator of ':'.

USB_SYS Forces all USB data to use /sys instead of lsusb.

WAN_IP_URL Forces -i 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 --wan-ip-url [URL]

WEATHER_SOURCE Values: [0-9]. Same as --weather-source. Values 4-9 are not currently supported, but this can change at any time.

WEATHER_UNIT Values: [c|f|cf|fc]. Same as --weather-unit.

Color Options

It's best to use the -c [94-99] 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 -c 94-99.

NOTE: All default and configuration file set color values are removed when output is  piped or redirected. You must use the explicit -c <color number> option  if you want colors to be present in the piped/redirected output (creating a PDF for example).

CONSOLE_COLOR_SCHEME The color scheme for console output (not in X/Wayland).

GLOBAL_COLOR_SCHEME Overrides all other color schemes.

IRC_COLOR_SCHEME Desktop X/Wayland IRC CLI color scheme.

IRC_CONS_COLOR_SCHEME Out of X/Wayland, IRC CLI color scheme.

IRC_X_TERM_COLOR_SCHEME In X/Wayland IRC client terminal color scheme.

VIRT_TERM_COLOR_SCHEME Color scheme for virtual terminal output (in X/Wayland).


Please report bugs using the following resources.

You may be asked to run the inxi debugger tool (see --debug 21/22), 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.

Issue Report

File an issue report:

Developer Forums

Post on inxi developer forums:


You can also visit channel: #smxi to post issues.


Author and Contributors to Code

inxi is a fork of locsmif's very clever infobash script.

Original infobash author and copyright holder: Copyright (C) 2005-2007  Michiel de Boer aka locsmif

inxi version: Copyright (C) 2008-18 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 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>

Steven Barrett (aka: damentz) - USB audio patch; swap percent used patch.

Jarett.Stevens - dmidecode -M patch for older systems with no /sys.

Special Thanks to the Following

The nice people at 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.

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 -m 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.

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 methods, logic, and tricks originally used in inxi Gawk/Bash.


2019-08-14 inxi manual