inxi :: script configuration
Page Updated: 2022-06-07 inxi version: 3.3.17
inxi features a very wide range of user configurable options. For clarity, let us assume your user name is fred for the rest of this page when it comes to system paths and so on.
Please note, for distributions or packagers that include inxi, they might want to take a look at creating global configurations that more accurately suite their defaults, for example the range of colors that can be used for each purpose. See the options page for more information about colors. In general I suggest running the -c color selector to see what the colors really look like before setting them, and it's easy to use that tool to set the config file data per user.
- Configuration Files – how to create and edit inxi config files
- Configuration Values – the following are basic variables you might
want to change default values of:
- Output Formatting:
- Colors, Colors, and More Colors! – change color defaults
- Data Field Separators – change default key / value separators
- Filter String – set value for <filter> output
- Line/Wrap Lengths – set default maximum widths
- Output Indentation – change indentation defaults
- Output Height – change output height.
- Data Adjustments:
- Allow Update – Change configuration to enable -U self-updater if disabled.
- CPU Spindown – set the time to allow cpu spindown
- Limit IPs – Raise or lower maximum default number of IP addresses that show per interface
- No Dig – Don't use dig for WAN IP
- No Doas – Don't use doas internally.
- No HTML WAN – Don't use HTML downloaders for WAN IP
- No Host – Remove Host: From System Line
- No Sudo – Don't use sudo internally.
- Partition Sort Order – Change Partition Sort Order
- Process Count – Change minimum number of processes that show in -t/--processes.
- Sensors Output Adjustment – change which sensors system shows
- USB /sys – forces USB data to be taken from /sys
- WAN IP URL – Disable dig, and use your own IP url.
- Weather Source – change weather source inxi uses
- Weather Units – change weather units (imperial/metric)
- Developer Configs:
- Fake Data Directory – Change default location of developer fake data directories.
- Output Formatting:
- Setting Up Sudo Permissions
- Adding SSD/NVME Devices to hddtemp db
Configuration Files
You can create inxi configuration files, or let inxi create them for you if you use the -c 94 through 99 color selector.
You can use comments in your config files. Comments use a # mark before the commented text.
As usual, inxi, allows for either a global configuration file, located at:
/etc/inxi.conf
or specific user, including root, configuration files, located at the following possible locations (order listed is order of precedence):
- If you have a path set in $XDG_CONFIG_HOME, then this is where your user
config file should go:
$XDG_CONFIG_HOME/inxi.conf
- This is usually going to be the path in $XDG_CONFIG_HOME, so if that is
empty, but you have the .config directory, use that:
$HOME/.config/inxi.conf
- The previous default was
$HOME/.inxi/inxi.conf
inxi will continue to use this if no $XDG_CONFIG_HOME or $HOME/.config/ exists.
NOTE: this path change was made 2016-12-18, and inxi will automatically move the files in $HOME/.inxi to $HOME/.config/inxi.conf and $HOME/.local/share/inxi if anything was in your .inxi directory. New inxi users will see their data in $HOME/.local/share/inxi and the config local user file in $HOME/.config/inxi.conf unless $XDG_CONFIG_HOME / $XDG_DATA_HOME are different, then it will use those paths.
So let's say you, fred, are logged in as fred, this would put your inxi configuration directory/file here:
/home/fred/.config/inxi.conf
If you wanted the root user to have some different defaults, you'd create/edit this file/directory:
/root/.config/inxi.conf
Please note the . in the config directory, that's a hidden file type, also as usual. Config files inxi needs will be found in there, and other data files in .local/share/inxi, including debugging or log files if you run inxi with those options activated.
Note that file is always checked for, first the /etc, then the specific logged in user's config file, and anything in those will override the script defaults, but will in turn be overridden if you start inxi with an overriding option.
Configuration Values: Output Formatting
The following are options to change the output formatting, line lengths, colors, default filter values, and indentations.
Colors, Colors, and More Colors!
These can all be adjusted on a per user basis using the inxi -c 94 through 99 options.
In general I think it's easier to see the colors using the color selector tool, but if you already know what color scheme you want, or if it's for a distribution or package, of course you can create any color defaults you want.
It's very important NOT to use any other than the basic set of color schemes offered by inxi irc color selectors because the other ones are often not visible to other users on IRC even if you can see it fine on your system. This applies to the default and the IRC colors.
See inxi's help menu (-h or --help) for full explanation of the various colors and schemes, and please run it yourself to see what the colors really look like. These are the active color options. Only add the one(s) you are going to use, and add = plus number after the option item.
DEFAULT_COLOR_SCHEME GLOBAL_COLOR_SCHEME IRC_COLOR_SCHEME IRC_CONS_COLOR_SCHEME IRC_X_TERM_COLOR_SCHEME CONSOLE_COLOR_SCHEME VIRT_TERM_COLOR_SCHEME
Example:
IRC_COLOR_SCHEME=27 IRC_CONS_COLOR_SCHEME=31 IRC_X_TERM_COLOR_SCHEME=12 CONSOLE_COLOR_SCHEME=19 VIRT_TERM_COLOR_SCHEME=21
Data Field Separators
This value adds separators to output, for example:
System: Host: moxie Kernel: 2.6.37-2.dmz.1-liquorix-686 i686 (32 bit, gcc: 4.4.5)
Only sub fields, not line/item starters will be affected. That is, Host: would not be changed, but Kernel: would become Kernel~ if you changed the separator from ':' to '~'
SEP2_CONSOLE=: SEP2_IRC=
Please be aware that many IRC clients add emoticons, so it's generally a BAD idea to add any IRC separator since it may trigger a happy face for other users, or whatever emoticon it is.
<Filter> String
This value is what is displayed when either the IRC filter or the -z triggered filter hides some of the user data.
FILTER_STRING=<filter>
Line Lengths
These can be used to alter how long the lines are, in characters, before they wrap. Most of the lines will wrap when they have enough data to form a new line. Usually you want to leave IRC as is, or even shorter, because you have no control over how wide other IRC user's displays are. However, for your own systems, you might find it useful to alter the COLS_MAX_CONSOLE and COLS_MAX_NO_DISPLAY to suite your taste.
COLS_MAX_CONSOLE will also set the default max width for the help/version output.
Note that the max number dictates the maximum columns that will be used in the output. You can test these with the -y / --width option.
2014-03-14: Changed variable names to be more sensible.
COLS_MAX_CONSOLE=115 # in display, terminal client max width COLS_MAX_IRC=105 COLS_MAX_NO_DISPLAY=130 # not in display, no X/Wayland running.
Deprecated:
LINE_MAX_CONSOLE=115 LINE_MAX_IRC=105
The maximum width where the line starter (Info:, Graphics:, etc) wraps to its own line and data line indentation drops to 2 (or number set with INDENTS/--indents). Overrides default. If 80 or less, wrap will never happen. The default is 110 (90 prior to 3.3.10). Test with --wrap-max (or --max-wrap)
WRAP_MAX=85 # or MAX_WRAP=95
Note that you can use WRAP_MAX/--wrap-max or MAX_WRAP/--max-wrap for this because different people think of this feature in different ways.
Legacy (3.2.01 or older): INDENT_MIN
Output Indentation
You can change the default inxi wide (non-wrapped) indentation of the single line items, but be aware that if it's less 11, the line starter will be on its own line, and the data for that item will have an indent of 2. If you want a bigger indentation you can do that. Not recommended to change it though. Test with --indent [number]
INDENT=12
To change -y 1 and second level indentation widths, use INDENTS. Test with --indents [number]
INDENTS=1
Output Height
Set inxi output line heights. Note that for -1 to xxx execution of inxi halts between blocks of output, which is not really desirable. Test with -Y [number] first! -1-xxx require [enter] key press to continue. Not recommended!! Possible values:
- -2: do not disable colors when piped to something, like less. No change to default output height behavior.
- -1: output one data block at a time, a primary data item, that is, like -S, -C, P, etc.
- 0: output one screen at a time.
- 1-xxx: output given number of lines at a time.
LINES_MAX=0
Override this configuraiton item with -Y -3.
Avoid using this feature in general unless the machine is a headless system and you want the output to be always controlled. Generally piping to less is preferred if you are working in console with no frame buffer scrollback option, otherwise use native console if not fbuffer.
In general, in console, the following are preferred:
- If non frame buffer console, or if frame buffer supports scroll back:
inxi -v8 + shift pgup/pgdown
- If kernel has disabled framebuffer scrollback (inxi -Y -2 + less -R preserves
piped colors):
inxi -v8 -Y-2 | less -R
- Use inxi's internal height output controls:
inxi -v8Y # full screen inxi -V8Y-1 # one primary block at a time
- 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.
-
Metric (imperial) - default value. Shows: 16 C (61 F); 4.0 m/s (14 km/h, 9
mph); 519.1 m (1703 ft); 1019 mb (30.09 in):
WEATHER_UNIT=mi
-
Imperial (metric). Shows: 61 F (16 C); 9 mph (4.0 m/s, 14 km/h); 30.09 in (1019
mb); 1703 ft (519.1 m):
WEATHER_UNIT=im
-
Metric. Shows: 16 C; 4.0 m/s (14 km/h); 1019 mb; 519.1 m:
WEATHER_UNIT=m
-
Imperial. Shows: 61 F; 9 mph; 30.09 in; 1703 ft:
WEATHER_UNIT=i
Configuration Values: Data Adjustments
The following values adjust how inxi handles data internally, along with some on/off switches for various inxi features.
Allow Update
Many distribution inxi packages have disabled the -U self-updater option. If you would like to get an up-to-date inxi, open as root or with sudo the file: /etc/inxi.conf then change the false value to true:
B_ALLOW_UPDATE=true
and then save the file. When you next run:
sudo inxi -U
inxi will now update itself and the man page. Note that as long as inxi is managed by the distribution package system, your updated inxi and inxi man page will be overwritten in the next update of inxi in your repos.
CPU Spindown
This lets the CPU 'spin down' as it were to avoid the CPU speed spike that inxi itself running can cause. 0.3 seconds seems to be enough for most systems. The main function here is to see the CPU speed as it would be if inxi were not running.
CPU_SLEEP=0.3
Limit IPs
Change the default maximum number of IP addresses per interface showing for -i. Default is 10.
LIMIT=20
Partition Sort Order
Change Partition report sort order. Available sort options are:
PARTITION_SORT=percent-used
Process Count
Change the default count of processes inxi shows for -t/--processes option (default 5).
PS_COUNT=6
Disable dig for WAN IP
Disable use of default dig for WAN IP detection, use regular downloaders instead. Not recommended unless that particular system is firewalled or for some other reason dig is failing. Dig is much faster, better in every way, more long term reliable, so never use this unless you have to. Default value is false, so only true makes any sense as an option. Same as --no-dig. Override with --dig.
NO_DIG=true
No Doas
Skips the use of doas [clean easy to configure tool, like sudo] to run certain internal features (like hddtemp, file) with sudo. Not related to running inxi itself with doas 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 NO_DOAS configuration item. Note: only accepts true/false value, false is default.
NO_DOAS=true
Remove Host: From System Line
If you don't want to show people your hostname in the -S line, you can set this to false, and it won't show that information. If you want to temporarily override this, use: inxi --host (inxi 2.9 and newer) / inxi -! 32 (inxi 2.3.56 and older)
SHOW_HOST=false
Disable HTML Downloaders for WAN IP
Disable use of HTML downloaders for WAN IP detection, use only dig instead. Since HTML downloaders are a fallback for failed dig, there is little reason to use this feature, but here it is.
NO_HTML_WAN=true
No Sudo
Skips the use of sudo to run certain internal features (like hddtemp, file) with sudo. Not related to running inxi itself with 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 sudo (which requires configuration to setup anyway for these options) just use this option, or NO_SUDO configuration item. Note: only accepts true/false value, false is default.
NO_SUDO=true
Sensors Output Adjustments - Expert Only
Match temp1/2 to CPU
For specific cases where you aren't getting consistent sensors output, that usually happens when cpu / fan speed in sensors output aren't labeled clearly, just with say, temp1 and fan1, inxi has to guess which is which, this lets you hard code that data in, so it will always use the right sensors for cpu.
Only use this if the output of sensors shows no specific cpu for fan or temp, and if it does show for example, temp1/temp2, fan1 fan2.
SENSORS_CPU_NO=1
Exclude sensor array IDs
If you do not want the data from one or more of the sensors used, set this to exclude that sensor array ID. Sensor ID must be the value listed on top of each sensor block in lm-sensors 'sensors' tool. Takes a lit of one or more comma separated sesnor IDs. You can override this setting with --sensors-default.
SENSORS_EXCLUDE=k10temp-pci-00c3
Use sensor array IDs
If you want to exclude data from one or more of the sensors used, set this to exclude those sensor array IDs. Sensor ID must be the value listed on top of each sensor block in lm-sensors 'sensors' tool. Takes a lit of one or more comma separated sesnor IDs. You can override this setting with --sensors-default.
SENSORS_USE=k10temp-pci-00c3
USB /sys
Set to true if you want inxi to use /sys for your USB information. While this is much faster than default lsusb, it's sometimes not very accurate, and tends to be missing various bits of data.
inxi will default to using /sys on Linux kernel systems without lsusb installed as a fallback.
USB_SYS=true
WAN IP URL
Use an alternate source for the WAN IP. Disables dig, and uses a downloader to grab the IP from the URL you give.
The URL must start with http or ftp. 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.
WAN_IP_URL=https://mysite.com/ip_tool.php
Weather Source
Active as of inxi 3.0.31. Accepts values 0-9. 0 switches inxi to use a legacy and deprecated source which will probably fail, as does 1. Corresponds with --weather-source option so you can test which works best for you before using this configuration option. 4-9 are not currently active but may be in the future.
WEATHER_SOURCE=2
Weather Units
[inxi 3.0.09 and newer] Change the weather units. Units are (metric::imperial): C::F, m/s,km/h::mph, mb::in, m::ft
Setting Sudoers Permissions
If you are setting up multiple permissions and want to allow users to be able to use certain tools without being root for full inxi output, try this simple addition to /etc/sudoers:
User_Alias INXI = user1, user2, user3 Cmnd_Alias INXI_CMD = tool1, tool2, tool3 INXI ALL = NOPASSWD: INXI_CMD ## example: User_Alias INXI = fredg,boba Cmnd_Alias INXI_CMD = hddtemp,dmidecode,file INXI ALL = NOPASSWD: INXI_CMD
hddtemp configurations
This may be useful to you if you are trying to get temperatures from SSD or NVME drives.
From a LinuxQuestions.org thread:
Note: I following this thread, I installed hddtemp from SBo and then added two entries to /etc/hddtemp/hddtemp.db (alternate: /etc/hddtemp.db) for my Samsung SSD and NVME Drives:
# # kjh was here # "Samsung SSD 850 PRO" 190 C "Samsung SSD 850 PRO" "SAMSUNG MZHPV512HDGL" 194 C "Samsung SM951 512gb" # # kjh was there #
Developer Configs
These are only for developers, to let you tweak your settings to fit your system:
Fake Data Directory
Use full, not relative, path. Do not end in a /. Directory should exist, of course. Default is: $HOME/bin/scripts/inxi/data
This is where raw data used together with --fake [data type] flags go.
FAKE_DATA_DIR=/my/system/path/to/inxi/fake/data
Have Fun!
And that's about it for variables you'd have any reason to change, or that would be potentially useful.