branch three, inxi test

This commit is contained in:
inxi-svn 2014-08-11 23:02:30 +00:00
parent a67aab89b1
commit 6ae2e5d7ce
3 changed files with 105 additions and 2461 deletions

242
inxi Executable file → Normal file
View file

@ -1,8 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
######################################################################## ########################################################################
#### Script Name: inxi #### Script Name: inxi
#### Version: 2.1.29 #### Version: 2.1.27
#### Date: 2014-08-08 #### Date: 2014-05-02
#### Patch Number: 00 #### Patch Number: 00
######################################################################## ########################################################################
#### SPECIAL THANKS #### SPECIAL THANKS
@ -1575,7 +1575,7 @@ debug_data_collector()
local xiin_app='' xiin_data_file='' xiin_download='' error='' b_run_xiin='false' local xiin_app='' xiin_data_file='' xiin_download='' error='' b_run_xiin='false'
local debug_data_dir='' bsd_string='' xorg_d_files='' xorg_file='' a_distro_ids='' local debug_data_dir='' bsd_string='' xorg_d_files='' xorg_file='' a_distro_ids=''
local completed_gz_file='' xiin_file='xiin.py' ftp_upload='ftp.techpatterns.com/incoming' local completed_gz_file='' xiin_file='xiin.py' ftp_upload='ftp.techpatterns.com/incoming'
local Line='-------------------------' root_string='' local Line='-------------------------'
local start_directory=$( pwd ) local start_directory=$( pwd )
local host=$( tr '[A-Z]' '[a-z]' <<< "$HOSTNAME" ) local host=$( tr '[A-Z]' '[a-z]' <<< "$HOSTNAME" )
if [[ -n $host ]];then if [[ -n $host ]];then
@ -1586,11 +1586,8 @@ debug_data_collector()
if [[ -n $BSD_TYPE ]];then if [[ -n $BSD_TYPE ]];then
bsd_string="-$BSD_TYPE" bsd_string="-$BSD_TYPE"
fi fi
if [[ $( whoami ) == 'root' ]];then
root_string='-root'
fi
debug_data_dir="inxi$bsd_string-$host-$(date +%Y%m%d-%H%M%S)-$1$root_string" debug_data_dir="inxi$bsd_string-$host-$(date +%Y%m%d-%H%M%S)-$1"
if [[ $B_IRC == 'false' ]];then if [[ $B_IRC == 'false' ]];then
if [[ -n $ALTERNATE_FTP ]];then if [[ -n $ALTERNATE_FTP ]];then
@ -1672,8 +1669,6 @@ debug_data_collector()
ls /usr/bin/gcc* &> $debug_data_dir/gcc-sys-versions.txt ls /usr/bin/gcc* &> $debug_data_dir/gcc-sys-versions.txt
gcc --version &> $debug_data_dir/gcc-version.txt gcc --version &> $debug_data_dir/gcc-version.txt
clang --version &> $debug_data_dir/clang-version.txt clang --version &> $debug_data_dir/clang-version.txt
cat /etc/src.conf &> $debug_data_dir/bsd-etc-src-conf.txt
cat /etc/make.conf &> $debug_data_dir/bsd-etc-make-conf.txt
cat /etc/issue &> $debug_data_dir/etc-issue.txt cat /etc/issue &> $debug_data_dir/etc-issue.txt
cat $FILE_LSB_RELEASE &> $debug_data_dir/lsb-release.txt cat $FILE_LSB_RELEASE &> $debug_data_dir/lsb-release.txt
cat $FILE_OS_RELEASE &> $debug_data_dir/os-release.txt cat $FILE_OS_RELEASE &> $debug_data_dir/os-release.txt
@ -1832,7 +1827,7 @@ debug_data_collector()
echo 'Creating inxi output file now. This can take a few seconds...' echo 'Creating inxi output file now. This can take a few seconds...'
echo "Starting $SCRIPT_NAME from: $start_directory" echo "Starting $SCRIPT_NAME from: $start_directory"
cd $start_directory cd $start_directory
$SCRIPT_PATH/$SCRIPT_NAME -FRfrploudixxx -c 0 -@ 8 -y 120 > $SCRIPT_DATA_DIR/$debug_data_dir/inxi-FRfrploudixxxy120.txt $SCRIPT_PATH/$SCRIPT_NAME -FRfrploudxxx -c 0 -@ 8 -y 120 > $SCRIPT_DATA_DIR/$debug_data_dir/inxi-FRfrploudxxxy120.txt
cp $LOG_FILE $SCRIPT_DATA_DIR/$debug_data_dir cp $LOG_FILE $SCRIPT_DATA_DIR/$debug_data_dir
if [[ -f $SCRIPT_DATA_DIR/$debug_data_dir.tar.gz ]];then if [[ -f $SCRIPT_DATA_DIR/$debug_data_dir.tar.gz ]];then
echo "Found and removing previous tar.gz data file: $debug_data_dir.tar.gz" echo "Found and removing previous tar.gz data file: $debug_data_dir.tar.gz"
@ -3467,7 +3462,7 @@ get_audio_data()
else if (/kernel modules:/) { else if (/kernel modules:/) {
modules[audioCard] = modules[audioCard] gensub( /(.*): (.*)/ ,"\\2" ,"g" ,$0 ) "" modules[audioCard] = modules[audioCard] gensub( /(.*): (.*)/ ,"\\2" ,"g" ,$0 ) ""
} }
else if (/^[[:space:]]*I\/O/) { else if (/I\/O/) {
portsTemp = gensub(/\t*I\/O ports at (.*) \[.*\]/,"\\1","g",$0) portsTemp = gensub(/\t*I\/O ports at (.*) \[.*\]/,"\\1","g",$0)
ports[audioCard] = ports[audioCard] portsTemp " " ports[audioCard] = ports[audioCard] portsTemp " "
} }
@ -4170,7 +4165,7 @@ get_desktop_environment()
eval $LOGFS eval $LOGFS
# set the default, this function only runs in X, if null, don't print data out # set the default, this function only runs in X, if null, don't print data out
local desktop_environment='' xprop_root='' version2='' local desktop_environment='' xprop_root=''
local version='' version_data='' toolkit='' local version='' version_data='' toolkit=''
# works on 4, assume 5 will id the same, why not, no need to update in future # works on 4, assume 5 will id the same, why not, no need to update in future
@ -4256,7 +4251,7 @@ get_desktop_environment()
desktop_environment="MATE" desktop_environment="MATE"
# note, GNOME_DESKTOP_SESSION_ID is deprecated so we'll see how that works out # note, GNOME_DESKTOP_SESSION_ID is deprecated so we'll see how that works out
# https://bugzilla.gnome.org/show_bug.cgi?id=542880 # https://bugzilla.gnome.org/show_bug.cgi?id=542880
elif [[ -n $GNOME_DESKTOP_SESSION_ID || $XDG_CURRENT_DESKTOP == 'GNOME' ]]; then elif [[ -n $GNOME_DESKTOP_SESSION_ID ]]; then
if type -p gnome-shell &>/dev/null;then if type -p gnome-shell &>/dev/null;then
version=$( get_program_version 'gnome-shell' 'gnome' '3' ) version=$( get_program_version 'gnome-shell' 'gnome' '3' )
elif type -p gnome-about &>/dev/null;then elif type -p gnome-about &>/dev/null;then
@ -4320,23 +4315,16 @@ get_desktop_environment()
# note: openbox-lxde --version may be present, but returns openbox data # note: openbox-lxde --version may be present, but returns openbox data
version=$( get_program_version 'openbox' '^openbox' '2' ) version=$( get_program_version 'openbox' '^openbox' '2' )
if [[ $XDG_CURRENT_DESKTOP == 'LXDE' || \ if [[ $XDG_CURRENT_DESKTOP == 'LXDE' || \
-n $( grep -is '/lxsession' <<< "$Ps_aux_Data" ) ]];then -n $( grep -is 'lxde' <<< "$Ps_aux_Data" ) ]];then
if [[ -n $version ]];then if [[ -n $version ]];then
version="(Openbox $version)" version="(Openbox $version)"
fi fi
desktop_environment='LXDE' desktop_environment='LXDE'
elif [[ $XDG_CURRENT_DESKTOP == 'Razor' || $XDG_CURRENT_DESKTOP == 'LXQt' ]] || \
[[ -n $( grep -Eis '(razor-desktop|lxqt-session)' <<< "$Ps_aux_Data" ) ]];then
if [[ -n $( grep -is 'lxqt-session' <<< "$Ps_aux_Data" ) ]];then
desktop_environment='LXQt'
elif [[ -n $( grep -is 'razor-desktop' <<< "$Ps_aux_Data" ) ]];then elif [[ -n $( grep -is 'razor-desktop' <<< "$Ps_aux_Data" ) ]];then
desktop_environment='Razor-Qt'
else
desktop_environment='LX-Qt-Variant'
fi
if [[ -n $version ]];then if [[ -n $version ]];then
version="(Openbox $version)" version="(Openbox $version)"
fi fi
desktop_environment='Razor-QT'
else else
desktop_environment='Openbox' desktop_environment='Openbox'
fi fi
@ -6321,7 +6309,6 @@ get_module_version_number()
eval $LOGFE eval $LOGFE
} }
## create array of network cards ## create array of network cards
get_networking_data() get_networking_data()
{ {
@ -6332,64 +6319,72 @@ get_networking_data()
IFS=$'\n' IFS=$'\n'
A_NETWORK_DATA=( $( A_NETWORK_DATA=( $(
echo "$Lspci_v_Data" | gawk ' echo "$Lspci_v_Data" | gawk '
# NOTE: see version 2.1.28 or earlier for old logic if for some reason it is needed again
# that used a modified string made from nic name for index, why, I have no idea, makes no sense and leads
# to wrong ordered output as well. get_audio_data uses the old logic for now too.
BEGIN { BEGIN {
IGNORECASE=1 IGNORECASE=1
counter=0 counter=0 # required to handle cases of > 1 instance of the same chipset
} }
/^[0-9a-f:\.]+ ((ethernet|network) (controller|bridge)|infiniband)/ || /^[0-9a-f:\.]+ [^:]+: .*(ethernet|infiniband|network).*$/ { /^[0-9a-f:\.]+ (ethernet|network) (controller|bridge)/ || /^[0-9a-f:\.]+ [^:]+: .*(ethernet|network).*$/ {
aNic[counter]=gensub(/^[0-9a-f:\.]+ [^:]+: (.+)$/,"\\1","g",$0) nic=gensub(/^[0-9a-f:\.]+ [^:]+: (.+)$/,"\\1","g",$0)
#gsub(/realtek semiconductor/, "Realtek", aNic[counter]) #gsub(/realtek semiconductor/, "Realtek", nic)
#gsub(/davicom semiconductor/, "Davicom", aNic[counter]) #gsub(/davicom semiconductor/, "Davicom", nic)
# The doublequotes are necessary because of the pipes in the variable. # The doublequotes are necessary because of the pipes in the variable.
gsub(/'"$BAN_LIST_NORMAL"'/, "", aNic[counter]) gsub(/'"$BAN_LIST_NORMAL"'/, "", nic)
gsub(/,/, " ", aNic[counter]) gsub(/,/, " ", nic)
gsub(/^ +| +$/, "", aNic[counter]) gsub(/^ +| +$/, "", nic)
gsub(/ [ \t]+/, " ", aNic[counter]) gsub(/ [ \t]+/, " ", nic)
aPciBusId[counter] = gensub(/(^[0-9a-f:\.]+) [^:]+: .+$/,"\\1","g",$0) # construct a unique string ending for each chipset detected, this allows for
# multiple instances of the same exact chipsets, ie, dual gigabit
nic = nic "~~" counter++
aPciBusId[nic] = gensub(/(^[0-9a-f:\.]+) [^:]+: .+$/,"\\1","g",$0)
# I do not understand why incrementing a string index makes sense?
eth[nic]++
while ( getline && !/^$/ ) { while ( getline && !/^$/ ) {
gsub(/,/, "", $0) gsub(/,/, "", $0)
if ( /^[[:space:]]*I\/O/ ) { if ( /I\/O/ ) {
aPorts[counter] = aPorts[counter] $4 " " ports[nic] = ports[nic] $4 " "
} }
if ( /driver in use/ ) { if ( /driver in use/ ) {
aDrivers[counter] = aDrivers[counter] gensub( /(.*): (.*)/ ,"\\2" ,"g" ,$0 ) "" drivers[nic] = drivers[nic] gensub( /(.*): (.*)/ ,"\\2" ,"g" ,$0 ) ""
} }
else if ( /kernel modules/ ) { else if ( /kernel modules/ ) {
aModules[counter] = aModules[counter] gensub( /(.*): (.*)/ ,"\\2" ,"g" ,$0 ) "" modules[nic] = modules[nic] gensub( /(.*): (.*)/ ,"\\2" ,"g" ,$0 ) ""
} }
} }
counter++
} }
END { END {
for (i=0;i<counter;i++) { j=0
for (i in eth) {
useDrivers="" useDrivers=""
usePorts="" usePorts=""
useModules="" useModules=""
useNic=""
usePciBusId="" usePciBusId=""
if ( eth[i] > 1 ) {
a[j] = eth[i] "x " i
}
else {
a[j] = i
}
## note: this loses the plural ports case, is it needed anyway? ## note: this loses the plural ports case, is it needed anyway?
if ( aPorts[i] != "" ) { if ( ports[i] != "" ) {
usePorts = aPorts[i] usePorts = ports[i]
} }
if ( aDrivers[i] != "" ) { if ( drivers[i] != "" ) {
useDrivers = aDrivers[i] useDrivers = drivers[i]
} }
if ( aModules[i] != "" ) { if ( modules[i] != "" ) {
useModules = aModules[i] useModules = modules[i]
}
if ( aNic[i] != "" ) {
useNic=aNic[i]
} }
if ( aPciBusId[i] != "" ) { if ( aPciBusId[i] != "" ) {
usePciBusId = aPciBusId[i] usePciBusId = aPciBusId[i]
} }
# create array primary item for master array # create array primary item for master array
# and strip out the counter again, this handled dual cards with same chipset
sub( /~~[0-9]+$/, "", a[j] )
sub( / $/, "", usePorts ) # clean off trailing whitespace sub( / $/, "", usePorts ) # clean off trailing whitespace
print useNic "," useDrivers "," usePorts "," useModules, "," usePciBusId print a[j] "," useDrivers "," usePorts "," useModules, "," usePciBusId
j++
} }
}' ) ) }' ) )
IFS="$ORIGINAL_IFS" IFS="$ORIGINAL_IFS"
@ -6406,60 +6401,43 @@ get_networking_data()
get_network_advanced_data() get_network_advanced_data()
{ {
eval $LOGFS eval $LOGFS
local a_network_adv_working='' if_data='' working_path='' working_uevent_path='' dir_path='' local a_network_adv_working='' if_path='' working_path='' working_uevent_path='' dir_path=''
local if_id='' speed='' duplex='' mac_id='' oper_state='' chip_id='' b_path_made='true' local if_id='' speed='' duplex='' mac_id='' oper_state='' chip_id=''
local usb_data='' usb_vendor='' usb_product='' product_path='' driver_test='' array_counter=0 local usb_data='' usb_vendor='' usb_product='' product_path='' driver_test=''
local full_path=''
# we need to change to holder since we are updating the main array
IFS=$'\n'
local a_main_working=(${A_NETWORK_DATA[@]})
IFS="$ORIGINAL_IFS"
for (( i=0; i < ${#a_main_working[@]}; i++ )) for (( i=0; i < ${#A_NETWORK_DATA[@]}; i++ ))
do do
IFS="," IFS=","
a_network_adv_working=( ${a_main_working[i]} ) a_network_adv_working=( ${A_NETWORK_DATA[i]} )
IFS="$ORIGINAL_IFS"
# reset these every go round # reset these every go round
driver_test='' driver_test=''
if_data='' if_id=''
product_path='' speed=''
duplex=''
mac_id=''
oper_state=''
usb_data='' usb_data=''
usb_product='' chip_id=''
usb_vendor=''
working_path=''
working_uevent_path=''
if [[ -z $( grep '^usb-' <<< ${a_network_adv_working[4]} ) ]];then if [[ -z $( grep '^usb-' <<< ${a_network_adv_working[4]} ) ]];then
# note although this may exist technically don't use it, it's a virtual path # note although this may exist technically don't use it, it's a virtual path
# and causes weird cat errors when there's a missing file as well as a virtual path # and causes weird cat errors when there's a missing file as well as a virtual path
# /sys/bus/pci/devices/0000:02:02.0/net/eth1 # /sys/bus/pci/devices/0000:02:02.0/net/eth1
# real paths are: /sys/devices/pci0000:00/0000:00:1e/0/0000:02:02.0/net/eth1/uevent # real paths are: /sys/devices/pci0000:00/0000:00:1e/0/0000:02:02.0/net/eth1/uevent
# and on older debian kernels: /sys/devices/pci0000:00/0000:02:02.0/net:eth1/uevent # and on older debian kernels: /sys/devices/pci0000:00/0000:02:02.0/net:eth1/uevent
# but broadcom shows this sometimes, and older kernels maybe: # but broadcom shows this sometimes:
# /sys/devices/pci0000:00/0000:00:01.0/0000:05:00.0/net/eth0/
# /sys/devices/pci0000:00/0000:00:03.0/0000:03:00.0/ssb0:0/uevent:['DRIVER=b43', 'MODALIAS=ssb:v4243id0812rev0D']: # /sys/devices/pci0000:00/0000:00:03.0/0000:03:00.0/ssb0:0/uevent:['DRIVER=b43', 'MODALIAS=ssb:v4243id0812rev0D']:
# echo a ${a_network_adv_working[4]}
if [[ -d /sys/bus/pci/devices/ ]];then
working_path="/sys/bus/pci/devices/0000:${a_network_adv_working[4]}" working_path="/sys/bus/pci/devices/0000:${a_network_adv_working[4]}"
elif [[ -d /sys/devices/pci0000:00/ ]];then
working_path="/sys/devices/pci0000:00/0000:00:01.0/0000:${a_network_adv_working[4]}"
fi
#echo wp ${a_network_adv_working[4]} $i
# now we want the real one, that xiin also displays, without symbolic links. # now we want the real one, that xiin also displays, without symbolic links.
if [[ -n $working_path && -e $working_path ]];then if [[ -e $working_path ]];then
working_path=$( readlink -f $working_path 2>/dev/null ) working_path=$( readlink -f $working_path 2>/dev/null )
else
working_path=$( find -P /sys/ -type d -name "*:${a_network_adv_working[4]}" 2>/dev/null )
# just on off chance we get two returns, just one one
working_path=${working_path%% *}
fi
# sometimes there is another directory between the path and /net # sometimes there is another directory between the path and /net
if [[ -n $working_path && ! -e $working_path/net ]];then if [[ ! -e $working_path/net ]];then
# using find here, probably will need to also use it in usb part since the grep # using find here, probably will need to also use it in usb part since the grep
# method seems to not be working now. Slice off the rest, which leaves the basic path # method seems to not be working now. Slice off the rest, which leaves the basic path
working_path=$( find $working_path/*/net/*/uevent 2>/dev/null | \ working_path=$( find $working_path/*/net/*/uevent 2>/dev/null | \
sed 's|/net.*||' ) sed 's|/net.*||' )
fi fi
fi
# working_path=$( ls /sys/devices/pci*/*/0000:${a_network_adv_working[4]}/net/*/uevent ) # working_path=$( ls /sys/devices/pci*/*/0000:${a_network_adv_working[4]}/net/*/uevent )
else else
# now we'll use the actual vendor:product string instead # now we'll use the actual vendor:product string instead
@ -6481,6 +6459,7 @@ get_network_advanced_data()
product_path=$( grep -s "$usb_product" /sys/devices/pci*/*/usb*/*/*/idProduct | \ product_path=$( grep -s "$usb_product" /sys/devices/pci*/*/usb*/*/*/idProduct | \
sed -e "s/idProduct:$usb_product//" -e '/driver/d' ) sed -e "s/idProduct:$usb_product//" -e '/driver/d' )
fi fi
# make sure it's the right product/vendor match here, it will almost always be but let's be sure # make sure it's the right product/vendor match here, it will almost always be but let's be sure
if [[ -n $working_path && -n $product_path ]] && [[ $working_path == $product_path ]];then if [[ -n $working_path && -n $product_path ]] && [[ $working_path == $product_path ]];then
#if [[ -n $working_path ]];then #if [[ -n $working_path ]];then
@ -6498,89 +6477,50 @@ get_network_advanced_data()
a_network_adv_working[1]=$driver_test a_network_adv_working[1]=$driver_test
fi fi
fi fi
#echo wp: $working_path
log_function_data "PRE: working_path: $working_path\nworking_uevent_path: $working_uevent_path" log_function_data "PRE: working_path: $working_path\nworking_uevent_path: $working_uevent_path"
# this applies in two different cases, one, default, standard, two, for usb, this is actually # this applies in two different cases, one, default, standard, two, for usb, this is actually
# the short path, minus the last longer numeric directory name, ie: # the short path, minus the last longer numeric directory name, ie:
# from debian squeeze 2.6.32-5-686: # from debian squeeze 2.6.32-5-686:
# /sys/devices/pci0000:00/0000:00:0b.1/usb1/1-1/net/wlan0/address # /sys/devices/pci0000:00/0000:00:0b.1/usb1/1-1/net/wlan0/address
if [[ -e $working_path/net ]];then if [[ -e $working_path/net ]];then
# in cases like infiniband dual port devices, there can be two ids, like ib0 ib1, if_path=$( ls $working_path/net 2>/dev/null )
# with line break in output if_id=$if_path
if_data=$( ls $working_path/net 2>/dev/null ) working_path=$working_path/net/$if_path
b_path_made='false'
# this is the normal usb detection if the first one didn't work # this is the normal usb detection if the first one didn't work
elif [[ -n $usb_data && -e $working_uevent_path/net ]];then elif [[ -n $usb_data && -e $working_uevent_path/net ]];then
if_data=$( ls $working_uevent_path/net 2>/dev/null ) if_path=$( ls $working_uevent_path/net 2>/dev/null )
working_path=$working_uevent_path/net/$if_data if_id=$if_path
working_path=$working_uevent_path/net/$if_path
# 2.6.32 debian lenny kernel shows not: /net/eth0 but /net:eth0 # 2.6.32 debian lenny kernel shows not: /net/eth0 but /net:eth0
elif [[ -n ${working_path/\/sys*/} ]];then
if_data=$( ls $working_path 2>/dev/null | grep 'net:' )
if [[ -n $if_data ]];then
working_path=$working_path/$if_data
# we won't be using this for path any more, just the actual if id output
# so prep it for the loop below
if_data=$( cut -d ':' -f 2 <<< "$if_data" )
fi
fi
# just in case we got a failed path, like /net or /, clear it out for tests below
if [[ -n ${working_path/\/sys*/} ]];then
working_path=''
fi
#echo id: $if_data
log_function_data "POST: working_path: $working_path\nif_data: $if_data - if_id: $if_id"
# there are virtual devices that will have no if data but which we still want in the array
# as it loops. These will also have null working_path as well since no **/net is found
# echo if_data: $if_data
if [[ -z $if_data ]];then
if_data='null-if-id'
fi
## note: in cases of dual ports with different ids, this loop will create extra array items
for if_item in $if_data
do
chip_id=
duplex=''
full_path=''
if_id=''
mac_id=''
oper_state=''
speed=''
# strip out trailing spaces
if_item=${if_item%% }
if_id=$if_item
#echo wp1: $working_path
if [[ $working_path != '' ]];then
if [[ $b_path_made == 'false' ]];then
full_path=$working_path/net/$if_item
else else
full_path=$working_path if_path=$( ls $working_path 2>/dev/null | grep 'net:' )
if_id=$( cut -d ':' -f 2 <<< "$if_path" )
working_path=$working_path/$if_path
fi fi
if [[ -r $full_path/speed ]];then log_function_data "POST: working_path: $working_path\nif_path: $if_path - if_id: $if_id"
speed=$( cat $full_path/speed 2>/dev/null )
if [[ -n $if_path ]];then
if [[ -r $working_path/speed ]];then
speed=$( cat $working_path/speed 2>/dev/null )
fi fi
if [[ -r $full_path/duplex ]];then if [[ -r $working_path/duplex ]];then
duplex=$( cat $full_path/duplex 2>/dev/null ) duplex=$( cat $working_path/duplex 2>/dev/null )
fi fi
if [[ -r $full_path/address ]];then if [[ -r $working_path/address ]];then
mac_id=$( cat $full_path/address 2>/dev/null ) mac_id=$( cat $working_path/address 2>/dev/null )
fi fi
if [[ -r $full_path/operstate ]];then if [[ -r $working_path/operstate ]];then
oper_state=$( cat $full_path/operstate 2>/dev/null ) oper_state=$( cat $working_path/operstate 2>/dev/null )
fi fi
fi
if [[ -n ${a_network_adv_working[10]} ]];then if [[ -n ${a_network_adv_working[10]} ]];then
chip_id=${a_network_adv_working[10]} chip_id=${a_network_adv_working[10]}
fi fi
fi A_NETWORK_DATA[i]=${a_network_adv_working[0]}","${a_network_adv_working[1]}","${a_network_adv_working[2]}","${a_network_adv_working[3]}","${a_network_adv_working[4]}","$if_id","$oper_state","$speed","$duplex","$mac_id","$chip_id
#echo fp: $full_path IFS="$ORIGINAL_IFS"
#echo id: $if_id
# echo "$if_data ii: $if_item $array_counter i: $i"
A_NETWORK_DATA[$array_counter]=${a_network_adv_working[0]}","${a_network_adv_working[1]}","${a_network_adv_working[2]}","${a_network_adv_working[3]}","${a_network_adv_working[4]}","$if_id","$oper_state","$speed","$duplex","$mac_id","$chip_id
((array_counter++))
done done
done
a_temp=${A_NETWORK_DATA[@]}
log_function_data "A_NETWORK_DATA (advanced): $a_temp"
eval $LOGFE eval $LOGFE
} }
@ -6657,7 +6597,7 @@ get_networking_wan_ip_data()
# awk has bad regex handling so checking it with grep -E instead # awk has bad regex handling so checking it with grep -E instead
# ip=$( echo 2001:0db8:85a3:0000:0000:8a2e:0370:7334 | gawk --re-interval ' # ip=$( echo 2001:0db8:85a3:0000:0000:8a2e:0370:7334 | gawk --re-interval '
# ip=$( wget -q -O - $WAN_IP_URL | gawk --re-interval ' # ip=$( wget -q -O - $WAN_IP_URL | gawk --re-interval '
ip=$( wget -t 4 -T $WGET_TIMEOUT -q -O - $WAN_IP_URL | gawk --re-interval ' ip=$( wget -t 1 -T $WGET_TIMEOUT -q -O - $WAN_IP_URL | gawk --re-interval '
{ {
#gsub("\n","",$2") #gsub("\n","",$2")
print $NF print $NF
@ -10380,7 +10320,7 @@ print_info_data()
if [[ $shell_parent == 'login' ]];then if [[ $shell_parent == 'login' ]];then
shell_parent='' shell_parent=''
elif [[ -n $shell_parent ]];then elif [[ -n $shell_parent ]];then
shell_parent=" running in ${shell_parent##*/}" shell_parent=" running in $shell_parent"
fi fi
fi fi
IRC_CLIENT="$IRC_CLIENT ($shell_data$shell_parent)" IRC_CLIENT="$IRC_CLIENT ($shell_data$shell_parent)"

568
inxi.1
View file

@ -1,568 +0,0 @@
.TH INXI 1 "2014\-05\-01" inxi "inxi manual"
.SH NAME
inxi \- Command line system information script for console and IRC
.SH SYNOPSIS
.B inxi \fR \- Single line, short form. Very basic output.
.B inxi \fR[\fB\-AbCdDfFGhHiIlMnNopPrRsSuw\fR] \fR[\fB\-c NUMBER\fR] \fR[\fB\-v NUMBER\fR]
.B inxi \fR[\fB\-t \fR(\fBc\fR or\fB m\fR or\fB cm\fR or\fB mc NUMBER\fR)] \fR[\fB\-x \-OPTION\fR(\fBs\fR)] \fR[\fB\-xx \-OPTION\fR(\fBs\fR)] \fR[\fB\-xxx \-OPTION\fR(\fBs\fR)]
.B inxi \fR[\fB\-\-help\fR] \fR[\fB\-\-recommends\fR] \fR[\fB\-\-version\fR] \fR[\fB\-@ NUMBER\fR]
.SH DESCRIPTION
.B inxi\fR is a command line system information script built for for console and IRC. It is also used for forum technical support, as a debugging tool, to quickly ascertain user system configuration 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.
.B inxi\fR output varies between CLI and IRC, with some default filters and color options applied to IRC use. Script colors can
be turned off if desired with \fB\-c 0\fR, or changed using the \fB\-c\fR color options listed in the OPTIONS section below.
.SH PRIVACY AND SECURITY
In order to maintain basic privacy and security, inxi filters out automatically on IRC things like
your network card mac address, WAN and LAN IP, your \fB/home\fR username directory in partitions,
and a few other things.
Because inxi is often used on forums for support, you can also trigger this filtering with the \fB\-z\fR
option (\fB\-Fz\fR, for example). To override the IRC filter, you can use the \fB\-Z\fR option. This can be useful
to debug network connection issues online in a private chat, for example.
.SH USING OPTIONS
Options can be combined if they do not conflict. Either group the letters
together or separate them.
Letters with numbers can have no gap or a gap at your discretion unless using \fB \-t\fR.
For example:
.B inxi \-AG\fR or \fBinxi \-A \-G\fR or \fBinxi \-c10
.SH STANDARD OPTIONS
.TP
.B \-A
Show Audio/sound card information.
.TP
.B \-b
Shows basic output, short form (previously \fB\-d\fR). Same as: \fBinxi \-v 2
.TP
.B \-c \fR[\fB0\fR\-\fB32\fR]
Available color schemes. Scheme number is required.
Supported color schemes: \fB0\-32
.TP
.B \-c \fR[\fB94\fR\-\fB99\fR]
Color selectors run a color selector option prior to inxi starting which lets
you set the config file value for the selection.
Color selectors for each type display (NOTE: irc and global only show safe color set):
.TP
.B \-c 94\fR
\- Console, out of X.
.TP
.B \-c 95\fR
\- Terminal, running in X \- like xTerm.
.TP
.B \-c 96\fR
\- Gui IRC, running in X \- like Xchat, Quassel,
Konversation etc.
.TP
.B \-c 97\fR
\- Console IRC running in X \- like irssi in xTerm.
.TP
.B \-c 98\fR
\- Console IRC not in X.
.TP
.B \-c 99\fR
\- Global \- Overrides/removes all settings.
Setting specific color type removes the global color selection.
.TP
.B \-C
Show full CPU output, including per CPU clockspeed if available. See \fB\-x\fR for more options.
.TP
.B \-d
Shows optical drive data. Same as \fB\-Dd\fR. With \fB\-x\fR, adds features line to output.
\fB\-xx\fR adds a few more features.
.TP
.B \-D
Show full hard Disk info, not only model, ie: \fB/dev/sda ST380817AS 80.0GB\fR. Shows disk space
total + used percentage. The disk used percentage includes space used by swap partition(s), since
those are not usable for data storage. Note that with RAID disks, the percentage will be wrong
since the total is computed from the disk sizes, but the used is computed from mounted partition used
percentages. This small defect may get corrected in the future. Also, unmounted partitions are not
counted in disk use percentages since inxi has no access to that data.
.TP
.B \-f
Show all cpu flags used, not just the short list. Not shown with \fB\-F\fR to avoid
spamming. ARM cpus: show \fBfeatures\fR items.
.TP
.B \-F
Show Full output for inxi. Includes all Upper Case line letters, plus \fB\-s\fR and \fB\-n\fR.
Does not show extra verbose options like \fB\-x \-d \-f \-u \-l \-o \-p \-t \-r\fR unless you use
that argument.
.TP
.B \-G
Show Graphic card information. Card(s), Display Server (vendor and version number), for example:
\fBDisplay Server: Xorg 1.15.1 \fR
,screen resolution(s), glx renderer, version). At some point Wayland and other display servers
may be added once enough data has been collected.
.TP
.B \-h
The help menu. Features dynamic sizing to fit into terminal window. Set script global \fBCOLS_MAX_CONSOLE\fR
if you want a different default value, or use \fB-y <width>\fR to temporarily override the defaults or actual window width.
.TP
.B \-\-help
Same as \fB\-h\fR
.TP
.B \-H
The help menu, plus developer options. Do not use dev options in normal
operation!
.TP
.B \-i
Show Wan IP address, and shows local interfaces (requires ifconfig network tool).
Same as \-Nni. Not shown with \fB\-F\fR for user security reasons, you shouldn't
paste your local/wan IP.
.TP
.B \-I
Show Information: processes, uptime, memory, irc client (or shell type if run in shell, not irc), inxi version.
See \fB\-x\fR and \fB\-xx\fR for extra information (init type/version, runlevel).
.TP
.B \-l
Show partition labels. Default: short partition \fB\-P\fR. For full \fB\-p\fR output, use: \fB\-pl\fR (or \fB\-plu\fR).
.TP
.B \-M
Show machine data. Motherboard, Bios, and if present, System Builder (Like Lenovo).
Older systems/kernels without the required \fB/sys\fR data can use dmidecode instead, run as root. If using dmidecode,
may also show bios revision as well as version. \fB\-! 33\fR can force use of \fBdmidecode\fR data instead of \fB/sys\fR.
.TP
.B \-n
Show Advanced Network card information. Same as \fB\-Nn\fR. Shows interface, speed,
mac id, state, etc.
.TP
.B \-N
Show Network card information. With \fB\-x\fR, shows PCI BusID, Port number.
.TP
.B \-o
Show unmounted partition information (includes UUID and LABEL if available).
Shows file system type if you have \fBfile\fR installed, if you are root OR if you have
added to \fB/etc/sudoers\fR (sudo v. 1.7 or newer):
.B <username> ALL = NOPASSWD: /usr/bin/file (sample)
Does not show components (partitions that create the md raid array) of md\-raid arrays.
.TP
.B \-p
Show full partition information (\fB\-P\fR plus all other detected partitions).
.TP
.B \-P
Show Partition information (shows what \fB\-v 4\fR would show, but without extra data).
Shows, if detected: \fB/ /boot /home /tmp /usr /var\fR. Use \fB\-p\fR to see all mounted partitions.
.TP
.B \-r
Show distro repository data. Currently supported repo types:
\fBAPT\fR (Debian, Ubuntu + derived versions)
\fBPACMAN\fR (Arch Linux + derived versions)
\fBPISI\fR (Pardus + derived versions)
\fBURPMQ\fR (Mandriva, Mageia + derived versions)
\fBYUM\fR (Fedora, Redhat, maybe Suse + derived versions)
(as distro data is collected more will be added. If your's is missing please show us how to get this
information and we'll try to add it.)
.TP
.B \-R
Show RAID data. Shows RAID devices, states, levels, and components, and extra data with \fB\-x\fR / \fB\-xx\fR.
md\-raid: If device is resyncing, shows resync progress line as well.
.TP
.B \-\-recommends
Checks inxi application dependencies + recommends, and directories, then shows
what package(s) you need to install to add support for that feature.
.TP
.B \-s
Show sensors output (if sensors installed/configured): mobo/cpu/gpu temp; detected
fan speeds. Gpu temp only for Fglrx/Nvidia drivers. Nvidia shows screen number for > 1 screens.
.TP
.B \-S
Show System information: host name, kernel, desktop environment (if in X), distro. With \fB\-xx\fR show
dm \- or startx \- (only shows if present and running if out of X), and if in X, with \fB\-xxx\fR show more desktop info, like shell/panel etc.
.TP
.B \-t \fR[\fBc\fR or\fB m\fR or\fB cm\fR or\fB mc NUMBER\fR]\fR
Show processes. If followed by numbers \fB1\-20\fR, shows that number of processes for each type
(default: \fB5\fR; if in irc, max: \fB5\fR)
Make sure to have no space between letters and numbers (\fB\-t cm10\fR \- right, \fB\-t cm 10\fR \- wrong).
.TP
.B \-t c\fR
\- cpu only. With \fB\-x\fR, shows also memory for that process on same line.
.TP
.B \-t m\fR
\- memory only. With \fB\-x\fR, shows also cpu for that process on same line.
.TP
.B \-t cm\fR
\- cpu+memory. With \fB\-x\fR, shows also cpu or memory for that process on same line.
.TP
.B \-u
Show partition UUIDs. Default: short partition \fB\-P\fR. For full \fB\-p\fR output, use: \fB\-pu\fR (or \fB\-plu\fR).
.TP
.B \-U
Note \- Maintainer may have disabled this function.
If inxi \fB\-h\fR has no listing for \fB\-U\fR then its disabled.
Auto\-update script. Note: if you installed as root, you must be root to update,
otherwise user is fine. Also installs / updates this Man Page to: \fB/usr/share/man/man8\fR
This requires that you be root to write to that directory.
.TP
.B \-V
inxi version information. Prints information then exits.
.TP
.B \-\-version
same as \fB\-V\fR
.TP
.B \-v
Script verbosity levels. Verbosity level number is required. Should not be used with \fB\-b\fR or \fB\-F\fR.
Supported levels: \fB0\-7\fR Examples :\fB inxi \-v 4 \fR or \fB inxi \-v4\fR
.TP
.B \-v 0
\- Short output, same as: \fBinxi\fR
.TP
.B \-v 1
\- Basic verbose, \fB\-S\fR + basic CPU + \fB\-G\fR + basic Disk + \fB\-I\fR.
.TP
.B \-v 2
\- Adds networking card (\fB\-N\fR), Machine (\fB\-M\fR) data, and shows basic hard disk data
(names only). Same as: \fBinxi \-b
.TP
.B \-v 3
\- Adds advanced CPU (\fB\-C\fR); network (\fB\-n\fR) data; triggers \fB\-x\fR advanced data option.
.TP
.B \-v 4
\- Adds partition size/filled data (\fB\-P\fR) for (if present):\fB/ /home /var/ /boot\fR
Shows full disk data (\fB\-D\fR)
.TP
.B \-v 5
\- Adds audio card (\fB\-A\fR); sensors (\fB\-s\fR), partition label (\fB\-l\fR) and UUID (\fB\-u\fR), short form of
optical drives.
.TP
.B \-v 6
\- Adds full partition data (\fB\-p\fR), unmounted partition data (\fB\-o\fR), optical drive data (\fB\-d\fR);
triggers \fB\-xx\fR extra data option.
.TP
.B \-v 7
\- Adds network IP data (\fB\-i\fR); triggers \fB\-xxx\fR
.TP
.B \-w
Adds weather line. Note, this depends on an unreliable api so it may not always be working in the future.
To get weather for an alternate location, use \fB\-W <location_string>\fR. See also \fB\-x\fR, \fB\-xx\fR, \fB\-xxx\fR option.
Please note, your distribution's maintainer may chose to disable this feature, so if \fB\-w\fR or \fB\-W\fR don't work, that's why.
.TP
.B \-W <location_string>
Get weather/time for an alternate location. Accepts postal/zip code, city,state pair, or latitude,longitude.
Note: city/country/state names must not contain spaces. Replace spaces with '\fB+\fR' sign. No spaces around \fB,\fR (comma).
Use only ascii letters in city/state/country names, sorry.
Examples: \fB\-W 95623\fR OR \fB\-W Boston,MA\fR OR \fB\-W45.5234,\-122.6762\fR OR \fB\-W new+york,ny\fR
OR \fB\-W bodo,norway\fR.
.TP
.B \-y <integer >= 80>
This is an absolute width override which sets the output line width max. Overrides \fBCOLS_MAX_IRC\fR / \fBCOLS_MAX_CONSOLE\fR globals, or the actual widths of the terminal. If used with \fB\-h\fR or \fB\-c 94-99\fR, put \fB\-y\fR option first or the override will be ignored. Cannot be used with \fB\-\-help\fR/\fB\-\-version\fR/\fB\-\-recommends\fR type long options. Example: \fBinxi \-y 130 \-Fxx\fR
.TP
.B \-z
Adds security filters for IP addresses, Mac, location (\fB\-w\fR), and user home directory name. Default on for irc clients.
.TP
.B \-Z
Absolute override for output filters. Useful for debugging networking issues in irc for example.
.SH EXTRA DATA OPTIONS
These options are for long form only, and can be triggered by one or more \fB\-x\fR, like \fB\-xx\fR.
Alternately, the \fB\-v\fR options trigger them in the following way:
\fB\-v 3\fR adds \fB\-x\fR; \fB\-v 6\fR adds \fB\-xx\fR; \fB\-v 7\fR adds \fB\-xxx\fR
These extra data triggers can be useful for getting more in\-depth data on various options.
Can be added to any long form option list, like: \fB\-bxx\fR or \fB\-Sxxx\fR
There are 3 extra data levels: \fB\-x\fR; \fB\-xx\fR; and \fB\-xxx\fR
The following shows which lines / items get extra information with each extra data level.
.TP
.B \-x \-A
\- Adds version/port(s)/driver version (if available) for each Audio device.
.TP
.B \-x \-A
\- Shows PCI Bus ID/Usb ID number of each Audio device.
.TP
.B \-x \-C
\- bogomips on CPU (if available); CPU Flags (short list).
.TP
.B \-x \-d
\- Adds items to features line of optical drive; adds rev version to optical drive.
.TP
.B \-x \-D
\- Hdd temp with disk data if you have hddtemp installed, if you are root OR if you have added to
\fB/etc/sudoers\fR (sudo v. 1.7 or newer):
.B <username> ALL = NOPASSWD: /usr/sbin/hddtemp (sample)
.TP
.B \-x \-G
\- Direct rendering status for Graphics (in X).
.TP
.B \-x \-G
\- (for single gpu, nvidia driver) screen number gpu is running on.
.TP
.B \-x \-G
\- Shows PCI Bus ID/Usb ID number of each Graphics card.
.TP
.B \-x \-i
\- Show IPv6 as well for LAN interface (IF) devices.
.TP
.B \-x \-I
\- Show current init system (and init rc in some cases, like OpenRC). With \-xx, shows init/rc
version number, if available.
.B \-x \-I
\- Show system GCC, default. With \-xx, also show other installed GCC versions.
.TP
.B \-x \-I
\- Show current runlevel (not available with all init systems).
.TP
.B \-x \-I
\- If in shell (not in IRC client, that is), show shell version number (if available).
.TP
.B \-x \-N
\- Adds version/port(s)/driver version (if available) for each Network card;
.TP
.B \-x \-N
\- Shows PCI Bus ID/Usb ID number of each Network card.
.TP
.B \-x \-R
\- md\-raid: Shows component raid id. Adds second RAID Info line: raid level; report on drives
(like 5/5); blocks; chunk size; bitmap (if present). Resync line, shows blocks synced/total blocks.
\- zfs\-raid: Shows raid array full size; available size; portion allocated to RAID (ie, not available as storage)."
.TP
.B \-x \-S
\- Desktop toolkit if available (GNOME/XFCE/KDE only); Kernel gcc version.
.TP
.B \-x \-t
\- Adds memory use output to cpu (\fB\-xt c\fR), and cpu use to memory (\fB\-xt m\fR).
.TP
.B \-x \-w / \-W
\- Adds wind speed and time zone (\-w only), and makes output go to two lines.
.TP
.B \-xx \-A
\- Adds vendor:product ID of each Audio device.
.TP
.B \-xx \-D
\- Adds disk serial number.
.TP
.B \-xx \-G
\- Adds vendor:product ID of each Graphics card.
.TP
.B \-xx \-I
\- Show init type version number (and rc if present).
.TP
.B \-xx \-I
\- Adds other detected installed gcc versions to primary gcc output (if present).
.TP
.B \-xx \-I
\- Show, if detected, system default runlevel. Supports Systemd/Upstart/Sysvinit type defaults. Note that
not all systemd systems have the default value set, in that case, if present, it will use the data from
\fB/etc/inittab\fR.
.TP
.B \-xx \-I
\- Adds parent program (or tty) that started shell, if not IRC client, to shell information.
.TP
.B \-xx \-M
\- Adds chassis information, if any data for that is available. Also shows BIOS rom size if using dmidecode.
.TP
.B \-xx \-N
\- Adds vendor:product ID of each Network card.
.TP
.B \-xx \-R
\- md\-raid: Adds superblock (if present); algorythm, U data. Adds system info line (kernel support,
read ahead, raid events). Adds if present, unused device line. If device is resyncing, shows
resync progress line as well.
.TP
.B \-xx \-S
\- Adds, if run in X, display manager type to Desktop information, if present. If none, shows N/A.
Supports most known display managers, like xdm, gdm, kdm, slim, lightdm, or mdm.
.TP
.B \-xx \-w / \-W
\- Adds humidity and barometric pressure.
.TP
.B \-xx \-@ <11\-14>
\- Automatically uploads debugger data tar.gz file to \fIftp.techpatterns.com\fR.
.TP
.B \-xxx \-S
\- Adds, if run in X, shell/panel type info to Desktop information, if present. If none, shows nothing.
Supports some current desktop extras like gnome\-panel, lxde\-panel, and others. Added mainly for Mint support.
.TP
.B \-xxx \-w / \-W
\- Adds location (city state country), weather observation time, altitude of system.
If wind chill, heat index, or dew point are available, shows that data as well.
.SH ADVANCED OPTIONS
.TP
.B \-! 31
Turns off hostname in System line. Useful, with \fB\-z\fR, for anonymizing your inxi output for posting on
forums or IRC.
.TP
.B \-! 32
Turns on hostname in System line. Overrides inxi config file value (if set): B_SHOW_HOST='false'.
.TP
.B \-! 33
Force use of \fBdmidecode\fR. This will override \fB/sys\fR data in some lines, like \fB\-M\fR.
.SH DEBUGGING OPTIONS
.TP
.B \-%
Overrides defective or corrupted data.
.TP
.B \-@
Triggers debugger output. Requires debugging level \fB1\-14\fR (\fB8\-10\fR \- logging of data).
Less than 8 just triggers inxi debugger output on screen.
.TP
.B \-@ \fR[\fB1\fR\-\fB7\fR]
\- On screen debugger output.
.TP
.B \-@ 8
\- Basic logging. Check \fB/home/yourname/.inxi/inxi*.log
.TP
.B \-@ 9
\- Full file/sys info logging.
.TP
.B \-@ 10
\- Color logging.
.TP
.B \-@ <11\-14>
The following create a tar.gz file of system data, plus collecting the inxi output to file:
To automatically upload debugger data tar.gz file to \fIftp.techpatterns.com\fR:
\fBinxi \-xx@ <11\-14>\fR
For alternate ftp upload locations: Example:
.B inxi \-! \fIftp.yourserver.com/incoming\fB \-xx@ 14\fR
.TP
.B \-@ 11
\- With data file of xiin read of \fB/sys
.TP
.B \-@ 12
\- With xorg conf and log data, xrandr, xprop, xdpyinfo, glxinfo etc.
.TP
.B \-@ 13
\- With data from dev, disks, partitions, etc., plus xiin data file.
.TP
.B \-@ 14
\- Everything, full data collection.
.SH SUPPORTED IRC CLIENTS
BitchX, Gaim/Pidgin, ircII, Irssi, Konversation, Kopete, KSirc, KVIrc, Weechat, and Xchat. Plus any others that
are capable of displaying either built in or external script output.
.SH RUNNING IN IRC CLIENT
To trigger inxi output in your IRC client, pick the appropriate method from the list below:
.TP
.B Xchat, irssi \fR(and many other IRC clients)
.B /exec \-o inxi \fR[\fBoptions\fR]
If you leave off the \fB\-o\fR, only you will see the output on your local IRC client.
.TP
.B Konversation
.B /cmd inxi \fR[\fBoptions\fR]
To run inxi in konversation as a native script if your distribution or inxi package did not do this for you,
create this symbolic link:
.B ln \-s /usr/local/bin/inxi /usr/share/kde4/apps/konversation/scripts/inxi
If inxi is somewhere else, change the path \fB/usr/local/bin\fR to wherever it is located.
Then you can start inxi directly, like this:
.B /inxi \fR[\fBoptions\fR]
.TP
.B WeeChat
.B NEW: /exec \-o inxi \fR[\fBoptions\fR]
.B OLD: /shell \-o inxi \fR[\fBoptions\fR]
Newer (2014 and later) WeeChats work pretty much the same now as other console IRC
clients, with \fB/exec \-o inxi \fR[\fBoptions\fR]. Also, newer WeeChats have dropped
the \fB\-curses\fR part of their program name, ie: \fBweechat\fR instead of \fBweechat-curses\fR.
Deprecated:
Before WeeChat can run external scripts like inxi, you need to install the
weechat\-plugins package. This is automatically installed for Debian users.
Next, if you don't already have it, you need to install shell.py,
which is a python script.
In a web browser, Click on the download button at:
.I http://www.weechat.org/scripts/source/stable/shell.py.html/
Make the script executable by
.B chmod +x shell.py
Move it to your home folder: \fB/.weechat/python/autoload/\fR then logout, and start WeeChat with
.B weechat\-curses
Top of screen should say what pythons scripts have loaded, and should include shell. Then to run inxi,
you would enter a command like this:
.B /shell \-o inxi \-bx
If you leave off the \fB\-o\fR, only you will see the output on your local weechat. WeeChat
users may also like to check out the weeget.py
.SH INITIALIZATION FILE
.TP
inxi will read the following configuration/initialization files in the following order:
.TP
.B /etc/inxi.conf
.TP
.B $HOME/.inxi/inxi.conf
.TP
See wiki pages for more information on how to set these up:
.TP
.I http://code.google.com/p/inxi/wiki/script_configuration_files
.SH BUGS
Please report bugs using the following resources.
You may be asked to run the inxi debugger tool which will upload a data dump of all
system files for use in debugging inxi. These data dumps are very important since
they provide us with all the real system data inxi uses to parse out its report.
.TP
inxi main website/svn/wiki, file an issue report:
.I http://code.google.com/p/inxi/issues/list
.TP
post on inxi developer forums:
.I http://techpatterns.com/forums/forum\-32.html
.TP
You can also visit
.I irc.oftc.net \fRchannel:\fI #smxi
to post issues.
.SH HOMEPAGE
.I http://code.google.com/p/inxi
.SH AUTHOR AND CONTRIBUTORS TO CODE
.B inxi
is is a fork of locsmif's largely unmaintained yet very clever, infobash script.
Original infobash author and copyright holder:
Copyright (C) 2005\-2007 Michiel de Boer a.k.a. locsmif
inxi version: Copyright (C) 2008\-13 Scott Rogers & Harald Hope
Further fixes (listed as known): Horst Tritremmel <hjt at sidux.com>
Steven Barrett (aka: damentz) \- usb audio patch; swap percent used patch.
Jarett.Stevens \- dmidecode \-M patch for older systems with no /sys
And a special thanks to the nice people at irc.oftc.net channels #linux\-smokers\-club and #smxi,
who all really have to be considered to be co\-developers because of their non\-stop enthusiasm
and willingness to provide real time testing and debugging of inxi development.
Without a wide range of diverse Linux kernel based Free Desktop systems to test on, we could
never have gotten inxi to be as reliable and solid as it's turning out to be.
And of course, big thanks locsmif, who figured out a lot of the core methods, logic,
and tricks used in inxi.
Further thanks to the various inxi package maintainers, distro support people, forum
moderators, and others, who contribute ideas, suggestions, and patches.
This Man page was originally created by Gordon Spencer (aka aus9) and is maintained by
Harald Hope (aka h2 or TechAdmin).

File diff suppressed because it is too large Load diff