mirror of
https://github.com/smxi/inxi.git
synced 2024-11-16 16:21:39 +00:00
New version, new man page.
Bugs: 1. Both a fix and a bug, in that inxi had an out of date list of Xorg drivers. This led to all the newer Intel devices failing to show their drivers in the Xorg driver lines, like i915, i965, and so on. Updated to full current list of Xorg drivers. This is not technically a bug since it's simply things that came into existence after that logic was last updated. But it looks like a bug. Fixes: 1. Issues #170 and #168 showed a problem with inxi believing it was running in IRC when Ansible or MOTD started inxi. This is because they are not tty so trip the non tty flag, which assumes it's in IRC in that case. The fix was to add a whitelist of known clients based on the parent name inxi discovers while running inside that parent. MOTD confirmed fixed, Ansible not confirmed. Why do people file issue reports then not follow them? Who knows. Note that this issue is easy to trip by simply doing this: echo 'fred' | inxi which disables the tty test as well. To handle that scenario, that is, when inxi is not first in the pipe, I added many known terminal client names to the whitelists. This works in my tests, though the possible terminals, or programs with embedded terminals, is quite large, but inxi handles most of them automatically. When it doesn't, file an issue and I'll add your client ID to the whitelist, and use --tty in the meantime. 2. Issue #171 by Vascom finally pinned down the wide character issue which manifests in some character sets, like greek or russian utf8. The fix was more of a work-around than a true fix, but inxi now simply checks the weather local time output for wide characters, and if detected, switches the local date/time format to iso standard, which is does not contain non ascii characters as far as I can tell. This seemed to fix the issue. 3. Added iso9660 from excluded file systems for partitions, not sure how inxi missed that one for so long. 4. See bug 1, expanded and made current supported intel drivers, and a few other drivers, so now inxi has all the supported xorg drivers again. Updated docs as well to indicate where to get that data. Enhancements: 1. As usual, more disk vendor/product ID matches, thanks to linuxlite hardware database, which never stops providing new or previously unseen disk ids. Latest favorite? Swissarmy knife maker victorinox Swissflash usb device. 2. Added Elive system base ID. 3. Added Nutyx CARDS repo type.
This commit is contained in:
parent
b119455049
commit
1976702562
157
inxi
157
inxi
|
@ -31,8 +31,8 @@ use POSIX qw(uname strftime ttyname);
|
|||
|
||||
## INXI INFO ##
|
||||
my $self_name='inxi';
|
||||
my $self_version='3.0.29';
|
||||
my $self_date='2018-12-10';
|
||||
my $self_version='3.0.30';
|
||||
my $self_date='2018-12-31';
|
||||
my $self_patch='00';
|
||||
## END INXI INFO ##
|
||||
|
||||
|
@ -2134,17 +2134,17 @@ sub upload_file {
|
|||
}
|
||||
# random tests for various issues
|
||||
sub user_debug_test_1 {
|
||||
open(my $duped, '>&', STDOUT);
|
||||
local *STDOUT = $duped;
|
||||
my $item = POSIX::strftime("%c", localtime);
|
||||
print "Testing character encoding handling. Perl IO data:\n";
|
||||
print(join(', ', PerlIO::get_layers(STDOUT)), "\n");
|
||||
print "Without binmode: ", $item,"\n";
|
||||
binmode STDOUT,":utf8";
|
||||
print "With binmode: ", $item,"\n";
|
||||
print "Perl IO data:\n";
|
||||
print(join(', ', PerlIO::get_layers(STDOUT)), "\n");
|
||||
close($duped);
|
||||
# open(my $duped, '>&', STDOUT);
|
||||
# local *STDOUT = $duped;
|
||||
# my $item = POSIX::strftime("%c", localtime);
|
||||
# print "Testing character encoding handling. Perl IO data:\n";
|
||||
# print(join(', ', PerlIO::get_layers(STDOUT)), "\n");
|
||||
# print "Without binmode: ", $item,"\n";
|
||||
# binmode STDOUT,":utf8";
|
||||
# print "With binmode: ", $item,"\n";
|
||||
# print "Perl IO data:\n";
|
||||
# print(join(', ', PerlIO::get_layers(STDOUT)), "\n");
|
||||
# close($duped);
|
||||
}
|
||||
|
||||
#### -------------------------------------------------------------------
|
||||
|
@ -4474,8 +4474,8 @@ sub show_options {
|
|||
/ /boot /home /opt /tmp /usr /usr/home /var /var/log /var/tmp. Use -p to see all
|
||||
mounted ${partition_string}s." ],
|
||||
['1', '-r', '--repos', "Distro repository data. Supported repo types: APK,
|
||||
APT, EOPKG, PACMAN, PACMAN-G2, PISI, PORTAGE, PORTS (BSDs), SLACKPKG, TCE,
|
||||
URPMQ, XBPS, YUM/ZYPP." ],
|
||||
APT, CARDS, EOPKG, PACMAN, PACMAN-G2, PISI, PORTAGE, PORTS (BSDs), SLACKPKG,
|
||||
TCE, URPMQ, XBPS, YUM/ZYPP." ],
|
||||
['1', '-R', '--raid', "RAID data. Shows RAID devices, states, levels,
|
||||
and components. md-raid: If device is resyncing, also shows resync progress line." ],
|
||||
['1', '-s', '--sensors', "Sensors output (if sensors installed/configured):
|
||||
|
@ -4535,8 +4535,9 @@ sub show_options {
|
|||
PCI Bus ID/USB ID number of card; Version/port(s)/driver version (if available)." ],
|
||||
['2', '-B', '', "Vendor/model, status (if available); attached devices
|
||||
(e.g. wireless mouse, keyboard, if present)." ],
|
||||
['2', '-C', '', "CPU $flags, Bogomips on CPU; CPU microarchitecture +
|
||||
revision (if found, or unless --admin, then shows as 'stepping')." ],
|
||||
['2', '-C', '', "CPU $flags (short list, use -f to see full list), Bogomips
|
||||
on CPU; CPU microarchitecture + revision (if found, or unless --admin,
|
||||
then shows as 'stepping')." ],
|
||||
['2', '-d', '', "Extra optical drive features data; adds rev version to
|
||||
optical drive." ],
|
||||
['2', '-D', '', "HDD temp with disk data if you have hddtemp installed,
|
||||
|
@ -4707,9 +4708,10 @@ sub show_options {
|
|||
['1', '', '--sleep', "[0-x.x] Change CPU sleep time, in seconds, for -C
|
||||
(default:^$cpu_sleep). Allows system to catch up and show a more accurate CPU
|
||||
use. Example:^$self_name^-Cxxx^--sleep^0.15" ],
|
||||
['1', '', '--tty', "Forces irc flag to false. Useful for running Ansible or Chef.
|
||||
Must use -y [width] option if you want a specific output width. Always put this option
|
||||
first in an option list."],
|
||||
['1', '', '--tty', "Forces irc flag to false. Generally useful if $self_name is running
|
||||
inside of another tool like Chef or MOTD and returns corrupted color codes. Please see
|
||||
man page or file an issue if you need to use this flag. Must use -y [width] option if
|
||||
you want a specific output width. Always put this option first in an option list."],
|
||||
['1', '', '--usb-sys', "Force USB data to use /sys as data source (Linux only)." ],
|
||||
['1', '', '--usb-tool', "Force USB data to use lsusb as data source (Linux only)." ],
|
||||
['1', '', '--wm', "Force wm: to use wmctrl as data source. Default uses ps." ],
|
||||
|
@ -4871,6 +4873,7 @@ sub get_client_name {
|
|||
$client{'name'} = $client_name;
|
||||
get_client_version();
|
||||
# print "c:$client_name p:$pppid\n";
|
||||
#print "$client{'name-print'}\n";
|
||||
}
|
||||
else {
|
||||
if (! check_modern_konvi() ){
|
||||
|
@ -4991,7 +4994,26 @@ sub get_client_version {
|
|||
perl_python_client();
|
||||
}
|
||||
if (!$client{'name-print'}) {
|
||||
$client{'name-print'} = 'Unknown Client: ' . $client{'name'};
|
||||
# NOTE: these must be empirically determined, not all events that
|
||||
# show no tty are actually IRC.
|
||||
my $wl_terms = 'alacritty|evilvte|germinal|guake|hyper|kate|kitty|kmscon|';
|
||||
$wl_terms .= 'konsole|putty|rxvt|sakura|shellinabox|^st$|sudo|term|tilda|';
|
||||
$wl_terms .= 'tilix|urvxt|yaft|yakuake';
|
||||
my $wl_clients = 'ansible|chef|run-parts';
|
||||
my $whitelist = "$wl_terms|$wl_clients";
|
||||
# print "$client{'name'}\n";
|
||||
if ($client{'name'} =~ /($whitelist)/i){
|
||||
if ($client{'name'} =~ /($wl_terms)/i){
|
||||
main::get_shell_data($ppid);
|
||||
}
|
||||
else {
|
||||
$client{'name-print'} = $client{'name'};
|
||||
}
|
||||
$b_irc = 0;
|
||||
}
|
||||
else {
|
||||
$client{'name-print'} = 'Unknown Client: ' . $client{'name'};
|
||||
}
|
||||
}
|
||||
eval $end if $b_log;
|
||||
}
|
||||
|
@ -5076,7 +5098,6 @@ sub perl_python_client {
|
|||
## and all other irc clients are not running. As of 2014-03-25 this isn't used in my cases
|
||||
sub check_modern_konvi {
|
||||
eval $start if $b_log;
|
||||
|
||||
return 0 if ! $client{'qdbus'};
|
||||
my $b_modern_konvi = 0;
|
||||
my $konvi_version = '';
|
||||
|
@ -8656,7 +8677,7 @@ sub device_vendor {
|
|||
my @vendors = (
|
||||
## These go first because they are the most likely and common ##
|
||||
['(Crucial|^(FC)?CT|-CT|^M4\b)','Crucial','Crucial',''],
|
||||
['^(INTEL|SSDPAM)','^INTEL','Intel',''],
|
||||
['^(INTEL|SSD(PAM|SA2))','^INTEL','Intel',''],
|
||||
['(KINGSTON|DataTraveler|^SMS|^SHS|^SUV|^Ultimate CF)','KINGSTON','Kingston',''], # maybe SHS: SHSS37A SKC SUV
|
||||
# must come before samsung MU. NOTE: toshiba can have: TOSHIBA_MK6475GSX: mush: MKNSSDCR120GB_
|
||||
['(^MKN|Mushkin)','Mushkin','Mushkin',''], # MKNS
|
||||
|
@ -8668,7 +8689,7 @@ sub device_vendor {
|
|||
['^STEC\b','^STEC\b','STEC',''], # ssd drive, must come before seagate ST test
|
||||
# real, SSEAGATE Backup+; XP1600HE30002 | 024 HN (spinpoint)
|
||||
['(^ST[^T]|[S]?SEAGATE|^X[AFP]|^5AS|^BUP|Expansion Desk|FreeAgent|GoFlex|Backup(\+|\s?Plus)\s?Hub)','[S]?SEAGATE','Seagate',''],
|
||||
['^(WD|Western Digital|My (Book|Passport)|\d*LPCX|Elements|M000|EARX|EFRX|\d*EAVS|0JD|JPVX|[0-9]+(BEV|AAK|AAV|AZL))','(^WDC|Western\s?Digital)','Western Digital',''],
|
||||
['^(WD|Western Digital|My (Book|Passport)|\d*LPCX|Elements|M000|EARX|EFRX|\d*EAVS|0JD|JPVX|[0-9]+(BEV|(00)?AAK|AAV|AZL))','(^WDC|Western\s?Digital)','Western Digital',''],
|
||||
## Then better known ones ##
|
||||
['^(A-DATA|ADATA|AXN|CH11)','^(A-DATA|ADATA)','A-Data',''],
|
||||
['^ADTRON','^(ADTRON)','Adtron',''],
|
||||
|
@ -8694,12 +8715,14 @@ sub device_vendor {
|
|||
# note: seen: KXG50ZNV512G NVMe TOSHIBA 512GB | THNSN51T02DUK NVMe TOSHIBA 1024GB
|
||||
['(^[S]?TOS|^THN|TOSHIBA|TransMemory)','[S]?TOSHIBA','Toshiba',''], # scsi-STOSHIBA_STOR.E_EDITION_
|
||||
## These go last because they are short and could lead to false ID, or are unlikely ##
|
||||
# unknown: AL25744_12345678; ADP may be usb 2.5" adapter; udisk
|
||||
# unknown: AL25744_12345678; ADP may be usb 2.5" adapter; udisk unknown: Z1E6FTKJ 00AAKS
|
||||
# SSD2SC240G726A10 MRS020A128GTS25C EHSAJM0016GB
|
||||
['^5ACE','^5ACE','5ACE',''], # could be seagate: ST316021 5ACE
|
||||
['^Android','^Android','Android',''],
|
||||
# must come before AP|Apacer
|
||||
['^APPLE','^APPLE','Apple',''],
|
||||
['^(AP|Apacer)','^Apacer','Apacer',''],
|
||||
['^(ASMT|2115)','^ASMT','ASMedia',''],
|
||||
['^(ASM|2115)','^ASM','ASMedia',''],#asm1153e
|
||||
['^BHT','^BHT','BHT',''],
|
||||
['^BIWIN','^BIWIN','BIWIN',''],
|
||||
['^BUFFALO','^BUFFALO','Buffalo',''],
|
||||
|
@ -8729,7 +8752,7 @@ sub device_vendor {
|
|||
['^HUAWEI','^HUAWEI','Huawei',''],
|
||||
['^(IBM|DT)','^IBM','IBM',''],
|
||||
['^IEI Tech','^IEI Tech(\.|nology)?( Corp(\.|oration)?)?','IEI Technology',''],
|
||||
['^(Imation|Nano\s?Pro)','^Imation(\sImation)?','Imation',''], # Imation_ImationFlashDrive; TF20 is imation/tdk
|
||||
['^(Imation|Nano\s?Pro|HQT)','^Imation(\sImation)?','Imation',''], # Imation_ImationFlashDrive; TF20 is imation/tdk
|
||||
['^(InnoDisk|Innolite)','^InnoDisk( Corp.)?','InnoDisk',''],
|
||||
['^Innostor','^Innostor','Innostor',''],
|
||||
['^Innovation','^Innovation','Innovation',''],
|
||||
|
@ -8744,10 +8767,13 @@ sub device_vendor {
|
|||
['^KingMAX','^KingMAX','KingMAX',''],
|
||||
['^KINGSHARE','^KINGSHARE','KingShare',''],
|
||||
['^KingSpec','^KingSpec','KingSpec',''],
|
||||
# kingwin docking, not actual drive
|
||||
['^(EZD|EZ-Dock)','','Kingwin Docking Station',''],
|
||||
['^LDLC','^LDLC','LDLC',''],
|
||||
['^Lenovo','^Lenovo','Lenovo',''],
|
||||
['^(LITE[\-]?ON[\s\-]?IT)','^LITE[\-]?ON[\s\-]?IT','LITE-ON IT',''], # LITEONIT_LSS-24L6G
|
||||
['^(LITE[\-]?ON|PH6)','^LITE[\-]?ON','LITE-ON',''], # PH6-CE240-L
|
||||
['^RPFT','','Lenovo O.E.M.',''],
|
||||
['^(LITE[\-\s]?ON[\s\-]?IT)','^LITE[\-]?ON[\s\-]?IT','LITE-ON IT',''], # LITEONIT_LSS-24L6G
|
||||
['^(LITE[\-\s]?ON|PH6)','^LITE[\-]?ON','LITE-ON',''], # PH6-CE240-L
|
||||
['^M-Systems','^M-Systems','M-Systems',''],
|
||||
['^(MAXTOR)','^MAXTOR','Maxtor',''], # note M3 is usually maxtor, but can be samsung
|
||||
# note: C300/400 can be either micron or crucial, but C400 is M4 from crucial
|
||||
|
@ -8757,6 +8783,7 @@ sub device_vendor {
|
|||
['^Medion','^Medion','Medion',''],
|
||||
['^(MEDIAMAX|WL[0-9]{2})','^MEDIAMAX','MediaMax',''],
|
||||
['^Motorola','^Motorola','Motorola',''],
|
||||
['^Netac','^Netac','Netac',''],
|
||||
['^OOS[1-9]','','Utania',''],
|
||||
['^PALIT','PALIT','Palit',''], # ssd
|
||||
['^(PS[8F]|Patriot)','^Patriot','Patriot',''],
|
||||
|
@ -8800,6 +8827,7 @@ sub device_vendor {
|
|||
['^(UG|Unigen)','^Unigen','Unigen',''],
|
||||
['^VBOX','','VirtualBox',''],
|
||||
['^(Verbatim|STORE N GO)','^Verbatim','Verbatim',''],
|
||||
['^(Victorinox|Swissflash)','^Victorinox','Victorinox',''],
|
||||
['^VISIONTEK','^VISIONTEK','VisionTek',''],
|
||||
['^VMware','^VMware','VMware',''],
|
||||
['^(Vseky|Vaseky)','^Vaseky','Vaseky',''], # ata-Vseky_V880_350G_
|
||||
|
@ -9421,11 +9449,14 @@ sub x_drivers {
|
|||
# $log = "$ENV{HOME}/bin/scripts/inxi/data/xorg-logs/Xorg.0-gm10.log";
|
||||
my @xorg = main::reader($log);
|
||||
# list is from sgfxi plus non-free drivers, plus ARM drivers
|
||||
my $list = 'amdgpu|apm|ark|armsoc|ati|chips|cirrus|cyrix|fbdev|fbturbo|fglrx|glint|';
|
||||
$list .= 'i128|i740|i810|iftv|imstt|intel|ivtv|mach64|mesa|mga|modesetting|';
|
||||
$list .= 'neomagic|newport|nouveau|nsc|nvidia|nv|openchrome|radeonhd|radeon|';
|
||||
$list .= 'rendition|s3virge|s3|savage|siliconmotion|sisimedia|sisusb|sis|tdfx|';
|
||||
$list .= 'tga|trident|tseng|unichrome|v4l|vboxvideo|vesa|vga|via|vmware|voodoo';
|
||||
my $list = join '|',qw(amdgpu apm ark armsoc atimisc ati
|
||||
chips cirrus cyrix fbdev fbturbo fglrx geode glide glint
|
||||
i128 i740 i810-dec100 i810e i810 i815 i830 i845 i855 i865 i915 i945 i965
|
||||
iftv imstt intel ivtv mach64 mesa mga modesetting
|
||||
neomagic newport nouveau nsc nvidia nv openchrome r128 radeonhd radeon
|
||||
rendition s3virge s3 savage siliconmotion sisimedia sisusb sis
|
||||
sunbw2 suncg14 suncg3 suncg6 sunffb sunleo suntcx
|
||||
tdfx tga trident tseng unichrome v4l vboxvideo vesa vga via vmware voodoo);
|
||||
# it's much cheaper to grab the simple pattern match then do the expensive one
|
||||
# in the main loop.
|
||||
#@xorg = grep {/Failed|Unload|Loading/} @xorg;
|
||||
|
@ -11321,7 +11352,7 @@ sub partition_data {
|
|||
my @row = split /\s+/, $_;
|
||||
# autofs is a bsd thing, has size 0
|
||||
if ($row[0] =~ /$filters/ || $row[0] =~ /^ROOT/i ||
|
||||
($b_fs && ($row[2] == 0 || $row[1] eq 'tmpfs' || $row[1] eq 'autofs' ))){
|
||||
($b_fs && ($row[2] == 0 || $row[1] =~ /^(autofs|iso9660|tmpfs)$/ ) )){
|
||||
next;
|
||||
}
|
||||
($dev_base,$dev_type,$fs,$id,$label,$type,$uuid) = ('','','','','','');
|
||||
|
@ -13194,6 +13225,7 @@ sub get_repos_linux {
|
|||
my ($key,$path);
|
||||
my $apk = '/etc/apk/repositories';
|
||||
my $apt = '/etc/apt/sources.list';
|
||||
my $cards = '/etc/cards.conf';
|
||||
my $eopkg_dir = '/var/lib/eopkg/';
|
||||
my $pacman = '/etc/pacman.conf';
|
||||
my $pacman_g2 = '/etc/pacman-g2.conf';
|
||||
|
@ -13545,6 +13577,30 @@ sub get_repos_linux {
|
|||
@data = repo_builder($apk,'apk','^\s*[^#]+');
|
||||
@rows = (@rows,@data);
|
||||
}
|
||||
# cards/nutyx
|
||||
if (-f $cards){
|
||||
@data3 = main::reader($cards,'clean');
|
||||
push @dbg_files, $cards if $debugger_dir;
|
||||
foreach (@data3){
|
||||
if ($_ =~ /^dir\s+\/[^\|]+\/([^\/\|]+)\s*(\|\s*((http|ftp).*))?/){
|
||||
my $type = ($3) ? $3: 'local';
|
||||
push @content, "$1 ~ $type";
|
||||
}
|
||||
}
|
||||
if (! @content){
|
||||
$key = repo_builder('missing','cards');
|
||||
}
|
||||
else {
|
||||
@content = url_cleaner(@content);
|
||||
$key = repo_builder('active','cards');
|
||||
}
|
||||
@data = (
|
||||
{main::key($num++,$key) => $cards},
|
||||
[@content],
|
||||
);
|
||||
@rows = (@rows,@data);
|
||||
@content = ();
|
||||
}
|
||||
# TinyCore
|
||||
if (-e $tce_app || -f $tce_file || -f $tce_file2){
|
||||
@data = repo_builder($tce_file,'tce','^\s*[^#]+');
|
||||
|
@ -13780,6 +13836,7 @@ sub repo_builder {
|
|||
'apt' => 'No active apt repos in',
|
||||
'bsd-package' => 'No enabled BSD pkg servers in',
|
||||
'bsd-nf' => 'No BSD pkg server files found',
|
||||
'cards' => 'No active CARDS collections in',
|
||||
'eopkg' => 'No active eopkg repos found',
|
||||
'pacman' => 'No active pacman repos in',
|
||||
'pacman-g2' => 'No active pacman-g2 repos in',
|
||||
|
@ -13808,6 +13865,7 @@ sub repo_builder {
|
|||
'apk' => 'APK repo',
|
||||
'apt' => 'Active apt repos in',
|
||||
'bsd-package' => 'BSD enabled pkg servers in',
|
||||
'cards' => 'Active CARDS collections in',
|
||||
'eopkg' => 'Active eopkg repo',
|
||||
'freebsd' => 'FreeBSD update server',
|
||||
'freebsd-pkg' => 'FreeBSD default pkg server',
|
||||
|
@ -15603,21 +15661,42 @@ sub get_weather {
|
|||
# very clever trick, just make the system think it's in the
|
||||
# remote timezone for this local block only
|
||||
local $ENV{'TZ'} = $tz;
|
||||
$date_time = POSIX::strftime "%c", localtime;
|
||||
$date_time = POSIX::strftime "%c", localtime();
|
||||
$date_time = test_local_date($date_time,'','');
|
||||
$weather{'date-time'} = $date_time;
|
||||
}
|
||||
else {
|
||||
$date_time = POSIX::strftime "%c", localtime;
|
||||
$date_time = POSIX::strftime "%c", localtime();
|
||||
$date_time = test_local_date($date_time,'','');
|
||||
$tz = ( $location[2] ) ? " ($location[2])" : '';
|
||||
$weather{'date-time'} = $date_time . $tz;
|
||||
}
|
||||
# we get the wrong time using epoch for remote -W location
|
||||
if ( !$show{'weather-location'} && $weather{'observation-epoch'}){
|
||||
$weather{'observation-time-local'} = POSIX::strftime "%c", localtime($weather{'observation-epoch'});
|
||||
$date_time = POSIX::strftime "%c", localtime($weather{'observation-epoch'});
|
||||
$date_time = test_local_date($date_time,$show{'weather-location'},$weather{'observation-epoch'});
|
||||
$weather{'observation-time-local'} = $date_time;
|
||||
}
|
||||
return %weather;
|
||||
eval $end if $b_log;
|
||||
}
|
||||
# resolve wide character issue, if detected, switch to iso
|
||||
# date format, we won't try to be too clever here.
|
||||
sub test_local_date {
|
||||
my ($date_time,$location,$epoch) = @_;
|
||||
# $date_time .= 'дек';
|
||||
#print "1: $date_time\n";
|
||||
if ($date_time =~ m/[^\x00-\x7f]/){
|
||||
if (!$location && $epoch){
|
||||
$date_time = POSIX::strftime "%Y-%m-%d %H:%M:%S", localtime($epoch);
|
||||
}
|
||||
else {
|
||||
$date_time = POSIX::strftime "%Y-%m-%d %H:%M:%S", localtime();
|
||||
}
|
||||
}
|
||||
#print "2: $date_time\n";
|
||||
return $date_time;
|
||||
}
|
||||
sub get_location {
|
||||
eval $start if $b_log;
|
||||
my ($city,$country,$freshness,%loc,$loc_arg,$loc_string,@loc_data,$state);
|
||||
|
@ -16631,7 +16710,7 @@ sub get_linux_distro {
|
|||
}
|
||||
if ($extra > 0){
|
||||
my $base_debian_version_distro = 'sidux';
|
||||
my $base_debian_version_osr = 'lmde|neptune|parrot|pureos|sparky|tails';
|
||||
my $base_debian_version_osr = '\belive|lmde|neptune|parrot|pureos|sparky|tails';
|
||||
my $base_default = 'antix-version|mx-version'; # osr has base ids
|
||||
my $base_issue = 'bunsen'; # base only found in issue
|
||||
my $base_manual = 'blankon|deepin|kali'; # synthesize, no direct data available
|
||||
|
|
25
inxi.1
25
inxi.1
|
@ -1,4 +1,4 @@
|
|||
.TH INXI 1 "2018\-12\-10" inxi "inxi manual"
|
||||
.TH INXI 1 "2018\-12\-31" inxi "inxi manual"
|
||||
.SH NAME
|
||||
inxi \- Command line system information script for console and IRC
|
||||
.SH SYNOPSIS
|
||||
|
@ -291,6 +291,8 @@ Show distro repository data. Currently supported repo types:
|
|||
\fBAPT\fR (Debian, Ubuntu + derived versions, as well as RPM based
|
||||
APT distros like PCLinuxOS or Alt-Linux)
|
||||
|
||||
\fBCARDS\fR (NuTyX + derived versions)
|
||||
|
||||
\fBEOPKG\fR (Solus)
|
||||
|
||||
\fBPACMAN\fR (Arch Linux, KaOS + derived versions)
|
||||
|
@ -526,7 +528,7 @@ detected (keyboard, mouse, etc.).
|
|||
.B \-x \-C\fR
|
||||
\- Adds bogomips on CPU (if available)
|
||||
|
||||
\- Adds CPU Flags (short list).
|
||||
\- Adds CPU Flags (short list). Use \fB\-f\fR to see full flag/feature list.
|
||||
|
||||
\- Adds CPU microarchitecture + revision (e.g. Sandy Bridge, K8, ARMv8, P6,
|
||||
etc.). Only shows data if detected. Newer microarchitectures will have
|
||||
|
@ -1012,10 +1014,21 @@ Overrides default internal value and user configuration value:
|
|||
|
||||
.TP
|
||||
.B \-\-tty\fR
|
||||
Forces internal IRC flag to off. Useful for running in Ansible or Chef, where the
|
||||
program may not be seen as a shell/tty, but it is not an IRC client. Put
|
||||
\fB\-\-tty\fR first in option list to avoid unexpected errors. If you want a specific
|
||||
output width, use the \fB\-\-width\fR option.
|
||||
Forces internal IRC flag to off. Used in unhandled cases where the program running
|
||||
inxi may not be seen as a shell/tty, but it is not an IRC client. Put \fB\-\-tty\fR
|
||||
first in option list to avoid unexpected errors. If you want a specific
|
||||
output width, use the \fB\-\-width\fR option. If you want normal color codes in
|
||||
the output, use the \fB\-c [color ID]\fR flag.
|
||||
|
||||
The sign you need to use this is extra numbers before the key/value pairs of the
|
||||
output of your program. These are IRC, not TTY, color codes. Please post a github
|
||||
issue if you find you need to use \fB\-\-tty\fR (including the full
|
||||
\fB\-Ixxx\fR line) so we can figure out how to add your program to the list
|
||||
of whitelisted programs.
|
||||
|
||||
You can see what inxi believed started it in the \fB\-Ixxx\fR line, \fBShell:\fR or
|
||||
\fBClient:\fR item. Please let us know what that result was so we can add it to the
|
||||
parent start program whitelist.
|
||||
|
||||
.TP
|
||||
.B \-\-usb\-sys\fR
|
||||
|
|
|
@ -1,3 +1,55 @@
|
|||
=====================================================================================
|
||||
Version: 3.0.30
|
||||
Patch: 00
|
||||
Date: 2018-12-31
|
||||
-----------------------------------
|
||||
Changes:
|
||||
-----------------------------------
|
||||
New version, new man page.
|
||||
|
||||
Bugs:
|
||||
1. Both a fix and a bug, in that inxi had an out of date list of Xorg drivers.
|
||||
This led to all the newer Intel devices failing to show their drivers in the
|
||||
Xorg driver lines, like i915, i965, and so on. Updated to full current list of
|
||||
Xorg drivers. This is not technically a bug since it's simply things that came
|
||||
into existence after that logic was last updated. But it looks like a bug.
|
||||
|
||||
Fixes:
|
||||
1. Issues #170 and #168 showed a problem with inxi believing it was running in IRC
|
||||
when Ansible or MOTD started inxi. This is because they are not tty so trip the
|
||||
non tty flag, which assumes it's in IRC in that case. The fix was to add a
|
||||
whitelist of known clients based on the parent name inxi discovers while running
|
||||
inside that parent. MOTD confirmed fixed, Ansible not confirmed. Why do people file
|
||||
issue reports then not follow them? Who knows.
|
||||
Note that this issue is easy to trip by simply doing this: echo 'fred' | inxi
|
||||
which disables the tty test as well. To handle that scenario, that is, when inxi is
|
||||
not first in the pipe, I added many known terminal client names to the whitelists.
|
||||
This works in my tests, though the possible terminals, or programs with embedded
|
||||
terminals, is quite large, but inxi handles most of them automatically. When it
|
||||
doesn't, file an issue and I'll add your client ID to the whitelist, and use --tty
|
||||
in the meantime.
|
||||
2. Issue #171 by Vascom finally pinned down the wide character issue which manifests
|
||||
in some character sets, like greek or russian utf8. The fix was more of a work-around
|
||||
than a true fix, but inxi now simply checks the weather local time output for wide
|
||||
characters, and if detected, switches the local date/time format to iso standard,
|
||||
which is does not contain non ascii characters as far as I can tell. This seemed to
|
||||
fix the issue.
|
||||
3. Added iso9660 from excluded file systems for partitions, not sure how inxi
|
||||
missed that one for so long.
|
||||
4. See bug 1, expanded and made current supported intel drivers, and a few other
|
||||
drivers, so now inxi has all the supported xorg drivers again. Updated docs as well
|
||||
to indicate where to get that data.
|
||||
|
||||
Enhancements:
|
||||
1. As usual, more disk vendor/product ID matches, thanks to linuxlite hardware
|
||||
database, which never stops providing new or previously unseen disk ids. Latest
|
||||
favorite? Swissarmy knife maker victorinox Swissflash usb device.
|
||||
2. Added Elive system base ID.
|
||||
3. Added Nutyx CARDS repo type.
|
||||
|
||||
-----------------------------------
|
||||
-- Harald Hope - Mon, 31 Dec 2018 20:54:08 -0800
|
||||
|
||||
=====================================================================================
|
||||
Version: 3.0.29
|
||||
Patch: 00
|
||||
|
|
Loading…
Reference in a new issue