inxi :: script configuration
Page Version: 1.7 Page Updated: 2018-08-11 inxi version: 3.0.21
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.
- Script Configuration Files – how to create and edit inxi config files
- Default Variables – the following are basic variables you might want to change default values of:
- CPU Spindown – set the time to allow cpu spindown
- IRC Filter String – set value for filter output
- Inxi Line Lengths – set default max widths
- Data Field Separators – change default field separators
- Colors, Colors, and More Colors! – change color defaults
- Script Output Indentation – change indent defaults
- Sensors Output Adjustment – change which sensors system shows
- USB /sys – forces USB data to be taken from /sys
- Fine Tunings – small adjustments to inxi
- Weather Units – change weather units (imperial/metric)
- Setting Up Sudo Permissions
- Adding SSD/NVME Devices to hddtemp db
Script 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.
As usual, inxi, allows for either a global configuration file, located at:
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:
- 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:
- The previous default was
$HOME/.inxi/inxi.confinxi 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:
If you wanted the root user to have some different defaults, you'd create/edit this file/directory:
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.
Short List of Script Built in Default Variables for Change
You can use comments in your config files. Comments use a # mark before the commented text.
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.
IRC Filter String
This value is what is displayed when either the IRC filter or the -z triggered filter hides some of the user data.
Inxi 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 to suite your taste.
COLS_MAX_CONSOLE will also set the default max width for the help/version output.
However, for help/version, that width is set dynamically to fit into your terminal/console width, as will more of the inxi line widths in the main output (improved line wraps based on dynamic sizing in console/terminal started 2014-03-13, should be done by 2014-04). Note that the max number dictates the maximum columns that will be used in the output.
2014-03-14: Changed variable names to be more sensible.
NOTE: the following variables are deprecated, but they will keep working if you have already created a conf option for default widths. inxi translates those internally to the new COLS ones.
The point where the line starter wrapping to its own line happens. Overrides default. If 80 or less, wrap will never happen. The default is 90.
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 '~'
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.
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
IRC_COLOR_SCHEME=27 IRC_CONS_COLOR_SCHEME=31 IRC_X_TERM_COLOR_SCHEME=12 CONSOLE_COLOR_SCHEME=19 VIRT_TERM_COLOR_SCHEME=21
Script Output Indentation
You can change the default inxi indentation of the single line items, but be aware that if it's less than the given 10, 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.
Sensors Output Adjustments - Expert Only
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.
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.
If you're shy and 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)
[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
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):
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):
Metric. Shows: 16 C; 4.0 m/s (14 km/h); 1019 mb; 519.1 m:
Imperial. Shows: 61 F; 9 mph; 30.09 in; 1703 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
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 #
And that's about it for variables you'd have any reason to change, or that would be potentially useful.