diff --git a/inxi b/inxi index f453508..6694477 100755 --- a/inxi +++ b/inxi @@ -1,25 +1,40 @@ -#!/bin/bash -################################################################################### -SCRIPT_NAME="inxi" -SCRIPT_VERSION_NUMBER="1.0.18" -#### Date: 7 July 2009 -################################################################################### +#!/usr/bin/env bash +######################################################################## +SELF_NAME='inxi' +# don't quote the following, parsers grab these too +SELF_VERSION=2.3.41 +SELF_DATE=2017-10-29 +SELF_PATCH=00-b2 +######################################################################## #### SPECIAL THANKS -################################################################################### -#### -#### http://code.google.com/p/inxi/wiki/SpecialThanks -#### -################################################################################### +######################################################################## +#### Special thanks to all those in #lsc and #smxi for their tireless +#### dedication helping test inxi modules. +######################################################################## #### ABOUT INXI -################################################################################### +######################################################################## +#### inxi is a fork of infobash 3.02, the original bash sys info tool by locsmif +#### As time permits functionality improvements and recoding will occur. #### -#### 'About' wiki : http://code.google.com/p/inxi/wiki/About -#### Current script home page: http://www.inxi.org -#### Script svn: http://code.google.com/p/inxi +#### inxi, the universal, portable, system information tool for irc. +#### Tested with Irssi, Xchat, Konversation, BitchX, KSirc, ircII, +#### Gaim/Pidgin, Weechat, KVIrc and Kopete. +#### Original infobash author and copyright holder: +#### Copyright (C) 2005-2007 Michiel de Boer a.k.a. locsmif +#### inxi version: Copyright (C) 2008-2017 Harald Hope +#### Additional features (C) Scott Rogers - kde, cpu info +#### Further fixes (listed as known): Horst Tritremmel +#### Steven Barrett (aka: damentz) - usb audio patch; swap percent used patch +#### Jarett.Stevens - dmidecde -M patch for older systems with the /sys #### -################################################################################### -#### LICENSE -################################################################################### +#### Current script home page/wiki/git: https://github.com/smxi/inxi +#### Documentation/wiki pages will move to https://smxi.org soon. +#### Script forums: http://techpatterns.com/forums/forum-33.html +#### IRC support: irc.oftc.net channel #smxi +#### Version control: +#### * https://github.com/smxi/inxi +#### * git: git pull https://github.com/smxi/inxi master +#### * source checkout url: https://github.com/smxi/inxi #### #### This program is free software; you can redistribute it and/or modify #### it under the terms of the GNU General Public License as published by @@ -36,404 +51,1054 @@ SCRIPT_VERSION_NUMBER="1.0.18" #### #### If you don't understand what Free Software is, please read (or reread) #### this page: http://www.gnu.org/philosophy/free-sw.html +######################################################################## +#### +#### PACKAGE NAME NOTES +#### * Package names in (...) are the Debian Squeeze package name. Check your +#### distro for proper package name by doing this: which +#### then find what package owns that application file. Or run --recommends +#### which shows package names for Debian/Ubuntu, Arch, and Fedora/Redhat/Suse #### -################################################################################### #### DEPENDENCIES -################################################################################### +#### * bash >=3.0 (bash); df, readlink, stty, tr, uname, wc (coreutils); +#### gawk (gawk); grep (grep); lspci (pciutils); +#### ps, find (findutils) +#### * Also the proc filesystem should be present and mounted for Linux +#### * Some features, like -M and -d will not work, or will work incompletely, +#### if /sys is missing #### -#### http://code.google.com/p/inxi/wiki/Dependencies +#### Apparently unpatched bash 3.0 has arrays broken; bug reports: +#### http://ftp.gnu.org/gnu/bash/bash-3.0-patches/bash30-008 +#### http://lists.gnu.org/archive/html/bug-bash/2004-08/msg00144.html +#### Bash 3.1 for proper array use #### -################################################################################### +#### Arrays work in bash 2.05b, but "grep -Em" does not +#### +#### RECOMMENDS (Needed to run certain features, listed by option) +#### -A - for output of usb audio information: lsusb (usbutils) +#### -Ax -Nx - for audio/network module version: modinfo (module-init-tools) +#### -Dx - for hdd temp output (root only default): hddtemp (hddtemp) +#### For user level hdd temp output: sudo (sudo) +#### Note: requires user action for this feature to run as user (edit /etc/sudoers file) +#### -G - full graphics output requires: glxinfo (mesa-utils); xdpyinfo (X11-utils); +#### xrandr (x11-xserver-utils) +#### -i - IP information, local/wan - ip (iproute) legacy, not used if ip present: ifconfig (net-tools) +#### -I - uptime (procps, check Debian if changed) +#### -Ix - view current runlevel while not in X window system (or with -x): runlevel (sysvinit) +#### -m - all systems, dmidecode, unless someone can find a better way. +#### -M - for older systems whose kernel does not have /sys data for machine, dmidecode (dmidecode) +#### -o - for unmounted file system information in unmounted drives (root only default): file (file) +#### Note: requires user action for this feature to run as user (edit /etc/sudoers file) +#### For user level unmounted file system type output: sudo (sudo) +#### -s For any sensors output, fan, temp, etc: sensors (lm-sensors) +#### Note: requires setup of lm-sensors (sensors-detect and adding modules/modprobe/reboot, +#### and ideally, pwmconfig) prior to full output being available. +#### -S For desktop environment, user must be in X and have xprop installed (in X11-utils) +######################################################################## +#### BSD Adjustments +#### * sed -i '' form supported by using SED_I="-i ''". +#### * Note: New BSD sed supports using -r instead of -E for compatibility with gnu sed +#### However, older, like FreeBSD 7.x, does not have -r so using SED_RX='-E' for this. +#### * Gnu grep options can be used if the function component is only run in linux +#### These are the options that bsd grep does not support that inxi uses: -m -o +#### so make sure if you use those to have them in gnu/linux only sections. +#### It appears that freebsd uses gnu grep but openbsd uses bsd grep, however. +#### * BSD ps does not support --without-headers option, and also does not support --sort