inxi(1) Command line system information script for console and IRC

SYNOPSIS

inxi - Single line, short form. Very basic output.

inxi [-AbBCdDfFGhHiIlmMnNopPrRsSuw] [-c NUMBER] [-v NUMBER]

inxi [-t (c or m or cm or mc NUMBER)] [-x -OPTION(s)] [-xx -OPTION(s)] [-xxx -OPTION(s)]

inxi [--help] [--recommends] [--version] [-@ NUMBER]

DESCRIPTION

inxi is a command line system information script built for for console and IRC. It is also used for forum technical support, as a debugging tool, to quickly ascertain user system configuration 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 between CLI and IRC, with some default filters and color options applied to IRC use. Script colors can be turned off if desired with -c 0, or changed using the -c color options listed in the OPTIONS section below.

PRIVACY AND SECURITY

In order to maintain basic privacy and security, inxi filters out automatically on IRC things like your network card mac address, WAN and LAN IP, your /home username directory in partitions, and a few other things.

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 to debug network connection issues online in a private chat, for example.

USING OPTIONS

Options can be combined if they do not conflict. Either group the letters together or separate them.

Letters with numbers can have no gap or a gap at your discretion unless using -t.

For example:

inxi -AG or inxi -A -G or inxi -c10

STANDARD OPTIONS

-A
Show Audio/sound card information.
-b
Shows basic output, short form (previously -d). Same as: inxi -v 2
-B
Shows Battery data, charge, condition, plus extra information (if battery present). Uses /sys or for BSDs, dmidecode. dmidecode does not have very much information, and none about current battery state/charge/voltage. Supports multiple batteries when using /sys data.

Note on the charge item, the output shows the current charge, and the percent of the available capacity, which can be less than the original design capacity. In the following example, the actual current capacity of the battery is 22.2 Wh, so the charge shows what percent of the current capacity is charged.

For example: 20.1 Wh 95.4%

The condition item shows the current available capacity / original design capacity, then the percentage of original capacity available in the battery. In the following example, the battery capacity is only 61% of it's original amount.

For example: 22.2/36.4 Wh 61%

-c [0-32]
Available color schemes. Scheme number is required.
   Supported color schemes: 0-42
-c [94-99]
Color selectors run a color selector option prior to inxi starting which lets you set the config file value for the selection.

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 specific color type removes the global color selection.

-C
Show full CPU output, including per CPU clockspeed and CPU max speed (if available). If max speed data present, shows (max) in short output formats (inxi, inxi -b) if CPU actual speed matches CPU max speed. If CPU max speed does not match CPU actual speed, shows both actual and max speed information. See -x and -xx for more options.
-d
Shows optical drive data. Same as -Dd. With -x, adds features line to output. -xx adds a few more features.
-D
Show full hard Disk info, not only model, ie: /dev/sda ST380817AS 80.0GB. Shows disk space total + 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 the 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 that data.
-f
Show all cpu flags used, not just the short list. Not shown with -F to avoid spamming. ARM cpus: show features items.
-F
Show Full output for inxi. Includes all Upper Case line letters, plus -s and -n. Does not show extra verbose options like -d -f -l -m -o -p -r -t -u -x unless you use those arguments in the command, like: inxi -Frmxx
-G
Show Graphic card information. Card(s), Display Server (vendor and version number), for example: Display Server: Xorg 1.15.1 ,screen resolution(s), glx renderer, version). At some point Wayland and other display servers may be added once enough data has been collected.
-h
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.
--help
Same as -h
-H
The help menu, plus developer options. Do not use dev options in normal operation!
-i
Show Wan IP address, and shows local interfaces (requires ifconfig network tool). Same as -Nni. Not shown with -F for user security reasons, you shouldn't paste your local/wan IP.
-I
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).
-l
Show partition labels. Default: short partition -P. For full -p output, use: -pl (or -plu).
-m
Memory (RAM) data. Does not show with -b or -F unless you use -m explicitly. Ordered by system board physical system memory array(s) (Array-[number] capacity:), and individual memory devices (Device-[number]). Physical memory array(s) data shows array capacity, and number of devices supported, and Error Correction information. Devices shows locator data (highly variable in syntax), size, speed, type (eg: type: DDR3).

Note that -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. Note that speed will not show if No Module Installed is found in size. This will also turn off Bus Width data output if it is null.

Because dmidecode data is extremely unreliable, inxi will try to make best guesses. If you see (check) after capacity number, you should check it for sure with 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 wron max module size, if present, or max capacity.

-M
Show machine data. 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 revision as well as version. -! 33 can force use of dmidecode data instead of /sys.
-n
Show Advanced Network card information. Same as -Nn. Shows interface, speed, mac id, state, etc.
-N
Show Network card information. With -x, shows PCI BusID, Port number.
-o
Show unmounted partition information (includes UUID and LABEL if available). Shows file system type if you have file installed, 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
Show full partition information (-P plus all other detected partitions).
-P
Show Partition information (shows what -v 4 would show, but without extra data). Shows, if detected: / /boot /home /tmp /usr /var. Use -p to see all mounted partitions.
-r
Show distro repository data. Currently supported repo types:

APT (Debian, Ubuntu + derived versions)

PACMAN (Arch Linux + derived versions)

PISI (Pardus + derived versions)

PORTAGE (Gentoo, Sabayon + derived versions)

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

SLACKPKG (Slackware + derived versions)

URPMQ (Mandriva, Mageia + derived versions)

YUM/ZYPP (Fedora, Redhat, maybe Suse + derived versions)

(as distro data is collected more will be added. If your's is missing please show us how to get this information and we'll try to add it.)

-R
Show RAID data. Shows RAID devices, states, levels, and components, and extra data with -x / -xx. md-raid: If device is resyncing, shows resync progress line as well.
--recommends
Checks inxi application dependencies + recommends, and directories, then shows what package(s) you need to install to add support for that feature.
-s
Show sensors output (if sensors installed/configured): mobo/cpu/gpu temp; detected fan speeds. Gpu temp only for Fglrx/Nvidia drivers. Nvidia shows screen number for > 1 screens.
-S
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, like shell/panel etc.
-t [c or m or cm or mc NUMBER]
Show processes. If followed by numbers 1-20, shows that number of processes for each type (default: 5; if in irc, max: 5)

Make sure to have no space between letters and numbers (-t cm10 - right, -t cm 10 - wrong).

-t c
- cpu only. With -x, shows also memory for that process on same line.
-t m
- memory only. With -x, shows also cpu for that process on same line. If the i-I line is not triggered, will also show the system used/total ram information in the first Memory line of output.
-t cm
- cpu+memory. With -x, shows also cpu or memory for that process on same line.
-u
Show partition UUIDs. Default: short partition -P. For full -p output, use: -pu (or -plu).
-U
Note - Maintainer may have disabled this function.

If inxi -h has no listing for -U then its 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/share/man/man8 This requires that you be root to write to that directory.

-V
inxi version information. Prints information then exits.
--version
same as -V
-v      
Script verbosity levels. Verbosity level number is required. Should not be used with -b or -F.

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

-v 0
- Short output, same as: inxi
-v 1
- Basic verbose, -S + basic CPU (cores, model, clock speed, and max speed, if available) + -G + basic Disk + -I.
-v 2
- Adds networking card (-N), Machine (-M) data, Battery (-B) (if available), and shows basic hard disk data (names only). Same as: inxi -b
-v 3
- Adds advanced CPU (-C); network (-n) data; triggers -x advanced data option.
-v 4
- Adds partition size/filled 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) and UUID (-u), short form of optical drives.
-v 6
- Adds full partition data (-p), unmounted partition data (-o), optical drive data (-d); triggers -xx extra data option.
-v 7
- Adds network IP data (-i); triggers -xxx
-w
Adds weather line. Note, this depends on an unreliable api so it may not always be working in the future. To get weather for an alternate location, use -W <location_string>. See also -x, -xx, -xxx option. Please note, your distribution's maintainer may chose to disable this feature, so if -w or -W don't work, that's why.
-W <location_string>
Get weather/time for an alternate location. Accepts postal/zip code, city,state pair, or latitude,longitude. Note: city/country/state names must not contain spaces. Replace spaces with '+' sign. No spaces around , (comma). Use only ascii letters in city/state/country names, sorry.

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

-y <integer >= 80>
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. If used with -h or -c 94-99, put -y option first or the override will be ignored. Cannot be used with --help/--version/--recommends type long options. Example: inxi -y 130 -Fxx
-z
Adds security filters for IP addresses, Mac, location (-w), and user home directory name. Default on for irc clients.
-Z
Absolute override for output filters. Useful for debugging networking issues in irc for example.

EXTRA DATA OPTIONS

These options are for long form only, and can be triggered by one or more -x, like -xx. Alternately, 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. Can be added to any long form option list, like: -bxx or -Sxxx

There are 3 extra data levels: -x; -xx; and -xxx

The following shows which lines / items get extra information with each extra data level.

-x -A
- Adds version/port(s)/driver version (if available) for each Audio device.
-x -A
- Shows PCI Bus ID/Usb ID number of each Audio device.
-x -B
- Shows Vendor/Model, battery status (if battery present).
-x -C
- bogomips on CPU (if available); CPU Flags (short list).
-x -d
- Adds items to features line of optical drive; adds rev version to optical drive.
-x -D
- Hdd temp 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
- Direct rendering status for Graphics (in X).
-x -G
- (for single gpu, nvidia driver) screen number gpu is running on.
-x -G
- Shows PCI Bus ID/Usb ID number of each Graphics card.
-x -i
- Show IPv6 as well for LAN interface (IF) devices.
-x -I
- Show current init system (and init rc in some cases, like OpenRC). With -xx, shows init/rc version number, if available. -x -I - Show system GCC, default. With -xx, also show other installed GCC versions.
-x -I
- Show current runlevel (not available with all init systems).
-x -I
- If in shell (not in IRC client, that is), show shell version number (if available).
-x -m
- Shows memory device Part Number (part:). Useful to order new or replacement memory sticks etc. Usually part numbers are unique, particularly if you use the word memory in the search as well. With -xx, shows Serial Number and Manufactorer as well.
-x -m
- If present, shows maximum memory module/device size in the Array line. Only some systems will have this data available.
-x -N
- Adds version/port(s)/driver version (if available) for each Network card;
-x -N
- Shows PCI Bus ID/Usb ID number of each Network card.
-x -R
- md-raid: Shows component raid id. Adds second RAID Info line: raid level; report on drives (like 5/5); blocks; chunk size; bitmap (if present). Resync line, shows blocks synced/total blocks.

- zfs-raid: Shows raid array full size; available size; portion allocated to RAID (ie, not available as storage)."

-x -S
- Desktop toolkit if available (GNOME/XFCE/KDE only); Kernel gcc version.
-x -t
- Adds memory use output to cpu (-xt c), and cpu use to memory (-xt m). For -xt c will also show system Used/Total ram data if -t m (memory) is not used AND -I is not triggered.
-x -w / -W
- Adds wind speed and time zone (-w only), and makes output go to two lines.
-xx -A
- Adds vendor:product ID of each Audio device.
-xx -B
- Adds serial number, voltage (if available).

Note that volts shows the data (if available) as: Voltage Now / Minimum Design Voltage

-xx -C
- Shows Minimum CPU speed (if available).
-xx -D
- Adds disk serial number.
-xx -G
- Adds vendor:product ID of each Graphics card.
-xx -I
- Show init type version number (and rc if present).
-xx -I
- Adds other detected installed gcc versions to primary gcc output (if present).
-xx -I
- Show, if detected, system default runlevel. Supports Systemd/Upstart/Sysvinit type defaults. Note that not all systemd systems have the default value set, in that case, if present, it will use the data from /etc/inittab.
-xx -I
- Adds parent program (or tty) that started shell, if not IRC client, to shell information.
-xx -m
- Shows memory device Manufacturer and Serial Number.
-xx -m
- 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 any data for that is available. Also shows BIOS rom size if using dmidecode.
-xx -N
- Adds vendor:product ID of each Network card.
-xx -R
- md-raid: Adds superblock (if present); algorythm, U data. Adds system info line (kernel support, read ahead, raid events). Adds if present, unused device line. If device is resyncing, shows resync progress line as well.
-xx -S
- Adds, if run in X, display manager type to Desktop information, if present. If none, shows N/A. Supports most known display managers, like xdm, gdm, kdm, slim, lightdm, or mdm.
-xx -w / -W
- Adds humidity and barometric pressure.
-xx -@ <11-14>
- Automatically uploads debugger data tar.gz file to ftp.techpatterns.com.
-xxx -B
- Adds battery chemistry (like: 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 availabe as of 2016-04-18), location (only available from dmidecode derived output).
-xxx -m
- Memory bus width: primary bus width, and if present, total width. eg: 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 total if present. If no total width data is found, then inxi will not show that item.
-xxx -m
- Adds device Type Detail, eg: DDR3 (Synchronous).
-xxx -m
- If present, will add memory module voltage. Only some systems will have this data available.
-xxx -S
- Adds, if run in X, shell/panel type info to Desktop information, if present. If none, shows nothing. Supports some current desktop extras like gnome-panel, lxde-panel, and others. Added mainly for Mint support.
-xxx -w / -W
- Adds location (city state country), weather observation time, altitude of system. If wind chill, heat index, or dew point are available, shows that data as well.

ADVANCED OPTIONS

-! 31
Turns off hostname in System line. Useful, with -z, for anonymizing your inxi output for posting on forums or IRC.
-! 32
Turns on hostname in System line. Overrides inxi config file value (if set): B_SHOW_HOST='false'.
-! 33
Force use of dmidecode. This will override /sys data in some lines, like -M.

DEBUGGING OPTIONS

-%
Overrides defective or corrupted data.
-@
Triggers debugger output. Requires debugging level 1-14 (8-10 - logging of data). Less than 8 just triggers inxi debugger output on screen.
-@ [1-7]
- On screen debugger output.
-@ 8
- Basic logging. Check /home/yourname/.inxi/inxi*.log
-@ 9
- Full file/sys info logging.
-@ 10
- Color logging.
-@ <11-14>
The following create a tar.gz file of system data, plus collecting the inxi output to file: To automatically upload debugger data tar.gz file to ftp.techpatterns.com:

inxi -xx@ <11-14>

For alternate ftp upload locations: Example:

inxi -! ftp.yourserver.com/incoming -xx@ 14

-@ 11
- With data file of xiin read of /sys
-@ 12
- With xorg conf and log data, xrandr, xprop, xdpyinfo, glxinfo etc.
-@ 13
- With data from dev, disks, partitions, etc., plus xiin data file.
-@ 14
- Everything, full data collection.

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:
Xchat, irssi (and many other IRC clients)
/exec -o inxi [options] If you leave off the -o, only you will see the output on your local IRC client.
Konversation
/cmd inxi [options] To run inxi in konversation as a native script if your distribution or inxi package did not do this for you, create this symbolic link:

ln -s /usr/local/bin/inxi /usr/share/kde4/apps/konversation/scripts/inxi

If inxi is somewhere else, change the path /usr/local/bin to wherever it is located.

Then you can start inxi directly, like this:

/inxi [options]

WeeChat
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]. Also, newer WeeChats have dropped the -curses part of their program name, ie: weechat instead of weechat-curses.

Deprecated:

Before WeeChat can run external scripts like inxi, you need to install the weechat-plugins package. This is automatically installed for Debian users. Next, if you don't already have it, you need to install shell.py, which is a python script.

In a web browser, Click on the download button at: https://www.weechat.org/scripts/source/stable/shell.py.html/

Make the script executable by

chmod +x shell.py

Move it to your home folder: /.weechat/python/autoload/ then logout, and start WeeChat with

weechat-curses

Top of screen should say what pythons scripts have loaded, and should include shell. Then to run inxi, you would enter a command like this:

/shell -o inxi -bx

If you leave off the -o, only you will see the output on your local weechat. WeeChat users may also like to check out the weeget.py

INITIALIZATION FILE

inxi will read the following configuration/initialization files in the following order:
/etc/inxi.conf
$HOME/.inxi/inxi.conf
See wiki pages for more information on how to set these up:
http://smxi.org/docs/inxi-configuration.htm

BUGS

Please report bugs using the following resources.

You may be asked to run the inxi debugger tool which will upload a data dump of all 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.

inxi main website/svn/wiki, file an issue report:
https://github.com/smxi/inxi/issues
post on inxi developer forums:
http://techpatterns.com/forums/forum-32.html
You can also visit
irc.oftc.net channel: #smxi to post issues.

AUTHOR AND CONTRIBUTORS TO CODE

inxi is is a fork of locsmif's largely unmaintained yet very clever, infobash script.

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

inxi version: Copyright (C) 2008-15 Scott Rogers & Harald Hope

Further fixes (listed as known): Horst Tritremmel <hjt at sidux.com>

Steven Barrett (aka: damentz) - usb audio patch; swap percent used patch. Jarett.Stevens - dmidecode -M patch for older systems with no /sys

And a special thanks to 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.

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, big thanks locsmif, who figured out a lot of the core methods, logic, and tricks used in inxi.

Further thanks to the various inxi package maintainers, distro support people, forum moderators, and others, who contribute ideas, suggestions, and patches.

This Man page was originally created by Gordon Spencer (aka aus9) and is maintained by Harald Hope (aka h2 or TechAdmin).