Ubuntu – What can `inxi` be used for

command linesystem

There are several questions and answers here that include the output of inxi. What can inxi be used for?

Best Answer

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.

From the man page:

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:

dkb@dkb-xubu:~$ 
dkb@dkb-xubu:~$ inxi -S
System:    Host: dkb-xubu Kernel: 4.15.0-33-generic x86_64 bits: 64 Desktop: Xfce 4.12.3
           Distro: Ubuntu 18.04.1 LTS
dkb@dkb-xubu:~$ inxi -Sx
System:    Host: dkb-xubu Kernel: 4.15.0-33-generic x86_64 bits: 64 gcc: 7.3.0
           Desktop: Xfce 4.12.3 (Gtk 2.24.31) Distro: Ubuntu 18.04.1 LTS
dkb@dkb-xubu:~$ inxi -Sxx
System:    Host: dkb-xubu Kernel: 4.15.0-33-generic x86_64 bits: 64 gcc: 7.3.0
           Desktop: Xfce 4.12.3 (Gtk 2.24.31) dm: lightdm Distro: Ubuntu 18.04.1 LTS
dkb@dkb-xubu:~$ inxi -Sxxx
System:    Host: dkb-xubu Kernel: 4.15.0-33-generic x86_64 bits: 64 gcc: 7.3.0
           Desktop: Xfce 4.12.3 (Gtk 2.24.31) info: xfce4-panel dm: lightdm Distro: Ubuntu 18.04.1 LTS
dkb@dkb-xubu:~$ 

Conclusion: So, what's a convenient command for someone wanting to present information concisely?

  • I'd go with inxi -Fxxxz for starters where -F is shorthand for including all uppercase options, plus -s and -n
  • For reporting on CPU/RAM, something like inxi -t cm10 may help
  • inxi -r would list your repos and ppas and their status

Footnote: a newer Perl-based version of inxi is available via:

sudo wget -O /usr/local/bin/inxi https://github.com/smxi/inxi/raw/master/inxi
sudo chmod +x /usr/local/bin/inxi

after which

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.

Another option is to add Unit 193's personal package archive which closely tracks the github version.

Related Question