inxi is a package available in the Universe repository. The version of inxi in 18.04.1 is 2.3.56. It uses Gawk/Bash to examine your system to extract a variety of information that could be helpful in describing your system when seeking help.
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.
The man page lists numerous inxi options but to summarize the uppercase options:
-A = Audio
-B = Battery
-C = CPU
-D = Hard Disk
-G = Graphics
-I = Information about processes, uptime, memory, inxi version
-M = Machine data such as device (laptop/desktop), motherboard, BIOS, etc
-N = Network information
-P = Partition information
-R = RAID information
-S = System information such as hostname, kernel, 32/64-bit, desktop environment, distro, etc
-W = Weather but this maybe unreliable!
And here's just a few of the lowercase ones:
-c0 turns off colored output and is useful for redirecting cleanly (without escape codes) to a text file
-c when used in inxi -t c10, as an example, would list the top ten processes in terms of CPU usage
-m when used in inxi -t m10, as an example, would list the top ten processes in terms of RAM usage
-n shows advanced network information
-t as illustrated above, is required to generate a numbered list of processes such as specified by -cN or -mN where N is the number of processes required
-r lists repository data including ppas
-s provides information on temperatures (mobo/cpu/gpu) and fan speeds
Privacy considerations
Since inxi output is often posted in public fora, the -z option filters out data such as MAC addresses. If the hostname (normally generated by -S), is to be hidden, -! 31 can be used.
The -x factor
The following example illustrates the use of -x, -xx, and -xxx and should be self-explanatory:
sudo inxi -U will, when run for the first time, install the corresponding man pages and, on subsequent runs, will install newer versions of inxi and its man page. The changelog is very good reading for those interested in the inner workings of inxi.
Easy way to see if you have legacy or current inxi: inxi -v8
If you get an error, you have legacy inxi, if you get a huge page of output, you have current inxi. -v8 level was added in 2.9, the beta test release for 3.0. It's the 'everything plus the kitchen sink option'. Almost everything anyway.
Interesting options:
--usb - uses lsusb and/or /sys data to construct your usb report.
--slots - lists board PCI slots. I've noticed that sometimes the system is wrong about what slots it has, but that's not an inxi bug.But still useful.
-a/--admin - Just extended in 3.0.23 to include CPU vulnerability report. Earlier versions had a simplistic report. If you get
unsupported option error, you either have legacy inxi, or your
current inxi is not new enough. As of 3.0.33, a quite useful support debugging option adds kernel boot parameters to the System: line, which can help show if they have blacklisted nouveau, for example. Also added partition raw size, as well as the available size, and swap information.
-Cxx - in 3.0.24, which just hit Debian sid, and may just squeeze into 18-10, L1 and L3 cache report if you run it as sudo/root
-S, -Sx, -Sxx, -Sxxx - hugely enhanced desktop/window manager, display manager, and extra info data like taskbars, docks, panels.
While it doesn't technically support all window managers, it supports
most of the ones that seem to be in actual use.
-G, -Gxxx - shows all known display compositors, and if available, version number.
There are also some specific options that are useful now and then. All the -! and -@ options from legacy inxi were given long option names.
--no-host - turns off hostname, for users who don't want to post it, this corresponds nicely with the -z option in terms of output filtering/sanitization.
--display - a little known option, that will try to get desktop data if you are out of X, say, via SSH. This only works as non root, and doesn't always work. Can target a specific display if you use a value like :1 for display 1.
--no-ssl - this is useful if you are on a very old system with expired ssl certificates, it will bypass for certain actions the ssl checks, it depends.
--usb-sys - forces use of only /sys data for USB report. This can be useful because the values are often quite different between /sys and lsusb for the vendor/product data.
Basically all options are enhanced in 3.x, some more than others. Dynamic line wrap is much better as well, and some old glitches like not removing color codes when piping or redirecting were corrected, which removed the requirement to use the -c 0 flag to force color code removal. All option names have long forms in 3.x.
There are also some more obscure options, like being able to export to xml or json if users want.
Support for ARM and ARM SOC (system on chip, or SBC, single board computer) devices (like rasberry pi) is hugely upgraded in 3.0, along with various other obscure architectures like MIPS and SPARC which recently saw basic support added.
The most common use of inxi I believe is for forum/irc support for distro users, and for sys admin use, particularly when you ssh into a machine and need to know what it is. The most common option seems to be, at least on forums, -Fxz, though some prefer the shorter -bxxz
As noted, the Unit193 PPA can be added, there are never any dependency issues so you can install current inxi on a 10 year old system and it should all 'just work'. You can also just directly install it, there's a shortcut URL to the GitHub location: wget -Nc smxi.org/inxi which I find easier to remember than the longer GitHub URL path. If you are not using the packaged version, the options sudo inxi -U will update inxi and the man page using GitHub sources.
inxi is a package available in the Universe repository. The version of
inxi
in 18.04.1 is2.3.56
. It uses Gawk/Bash to examine your system to extract a variety of information that could be helpful in describing your system when seeking help.From the man page:
The
man
page lists numerousinxi
options but to summarize the uppercase options:-A
= Audio-B
= Battery-C
= CPU-D
= Hard Disk-G
= Graphics-I
= Information about processes, uptime, memory,inxi
version-M
= Machine data such as device (laptop/desktop), motherboard, BIOS, etc-N
= Network information-P
= Partition information-R
= RAID information-S
= System information such as hostname, kernel, 32/64-bit, desktop environment, distro, etc-W
= Weather but this maybe unreliable!And here's just a few of the lowercase ones:
-c0
turns off colored output and is useful for redirecting cleanly (without escape codes) to a text file-c
when used ininxi -t c10
, as an example, would list the top ten processes in terms of CPU usage-m
when used ininxi -t m10
, as an example, would list the top ten processes in terms of RAM usage-n
shows advanced network information-t
as illustrated above, is required to generate a numbered list of processes such as specified by-cN
or-mN
whereN
is the number of processes required-r
lists repository data including ppas-s
provides information on temperatures (mobo/cpu/gpu) and fan speedsPrivacy considerations
Since
inxi
output is often posted in public fora, the-z
option filters out data such as MAC addresses. If the hostname (normally generated by-S
), is to be hidden,-! 31
can be used.The
-x
factorThe following example illustrates the use of
-x
,-xx
, and-xxx
and should be self-explanatory:Conclusion: So, what's a convenient command for someone wanting to present information concisely?
inxi -Fxxxz
for starters where-F
is shorthand for including all uppercase options, plus-s
and-n
inxi -t cm10
may helpinxi -r
would list your repos and ppas and their statusFootnote: a newer Perl-based version of
inxi
is available via:after which
sudo inxi -U
will, when run for the first time, install the correspondingman
pages and, on subsequent runs, will install newer versions ofinxi
and itsman
page. The changelog is very good reading for those interested in the inner workings ofinxi
.Another option is to add Unit 193's personal package archive which closely tracks the github version.
To add to the answer from DK Bose, and focusing on current inxi, not the legacy 2.3 or 2.2 versions, which are technically EOL, and unsupported:
Easy way to see if you have legacy or current inxi:
inxi -v8
If you get an error, you have legacy inxi, if you get a huge page of output, you have current inxi. -v8 level was added in 2.9, the beta test release for 3.0. It's the 'everything plus the kitchen sink option'. Almost everything anyway.Interesting options:
--usb
- useslsusb
and/or/sys
data to construct your usb report.--slots
- lists board PCI slots. I've noticed that sometimes the system is wrong about what slots it has, but that's not an inxi bug.But still useful.-a
/--admin
- Just extended in 3.0.23 to include CPU vulnerability report. Earlier versions had a simplistic report. If you get unsupported option error, you either have legacy inxi, or your current inxi is not new enough. As of 3.0.33, a quite useful support debugging option adds kernel boot parameters to the System: line, which can help show if they have blacklisted nouveau, for example. Also added partition raw size, as well as the available size, and swap information.-Cxx
- in 3.0.24, which just hit Debian sid, and may just squeeze into 18-10, L1 and L3 cache report if you run it as sudo/root-S
,-Sx
,-Sxx
,-Sxxx
- hugely enhanced desktop/window manager, display manager, and extra info data like taskbars, docks, panels. While it doesn't technically support all window managers, it supports most of the ones that seem to be in actual use.-G
,-Gxxx
- shows all known display compositors, and if available, version number.There are also some specific options that are useful now and then. All the -! and -@ options from legacy inxi were given long option names.
--no-host
- turns off hostname, for users who don't want to post it, this corresponds nicely with the -z option in terms of output filtering/sanitization.--display
- a little known option, that will try to get desktop data if you are out of X, say, via SSH. This only works as non root, and doesn't always work. Can target a specific display if you use a value like:1
for display 1.-no-ssl
- this is useful if you are on a very old system with expired ssl certificates, it will bypass for certain actions the ssl checks, it depends.--usb-sys
- forces use of only/sys
data for USB report. This can be useful because the values are often quite different between/sys
andlsusb
for the vendor/product data.Basically all options are enhanced in 3.x, some more than others. Dynamic line wrap is much better as well, and some old glitches like not removing color codes when piping or redirecting were corrected, which removed the requirement to use the -c 0 flag to force color code removal. All option names have long forms in 3.x.
There are also some more obscure options, like being able to export to xml or json if users want.
Support for ARM and ARM SOC (system on chip, or SBC, single board computer) devices (like rasberry pi) is hugely upgraded in 3.0, along with various other obscure architectures like MIPS and SPARC which recently saw basic support added.
The most common use of inxi I believe is for forum/irc support for distro users, and for sys admin use, particularly when you ssh into a machine and need to know what it is. The most common option seems to be, at least on forums, -Fxz, though some prefer the shorter -bxxz
As noted, the Unit193 PPA can be added, there are never any dependency issues so you can install current inxi on a 10 year old system and it should all 'just work'. You can also just directly install it, there's a shortcut URL to the GitHub location:
wget -Nc smxi.org/inxi
which I find easier to remember than the longer GitHub URL path. If you are not using the packaged version, the optionssudo inxi -U
will update inxi and the man page using GitHub sources.