Linux System Stats Script - Version 2.2.1 Released


Recommended Posts

I just updated the opening post. Stats 2.1.0 has been released!

 

Notably, the "black" screenshot bug has been fixed, you can now control the screenshot output directory using a switch, there is official Elementary OS support (which was trivial considering that Ubuntu 12.04 - its base distribution - was already supported), and I added instructions for installing Majesticmerc's package from the AUR.

I'm still having the "black" screenshot bug see below...

Also it's reporting my Desktop Environment is "GNOME", when in fact it is  "Pantheon" as you can see from here... http://distrowatch.com/table.php?distribution=elementary

post-125102-0-62633400-1380904972.png vs post-125102-0-14868600-1380905032.png

Can you also add a '--help' switch to show the available switches and general information?

And just as a trivial request, could you make the elementary logo some sort of grey, maybe light grey?

Link to comment
Share on other sites

I'm still having the "black" screenshot bug see below...

Also it's reporting my Desktop Environment is "GNOME", when in fact it is  "Pantheon" as you can see from here... http://distrowatch.com/table.php?distribution=elementary

attachicon.gifscreenshot_20131004.113227.png vs attachicon.gifScreenshot from 2013-10-04 11:41:23.png

Can you also add a '--help' switch to show the available switches and general information?

And just as a trivial request, could you make the elementary logo some sort of grey, maybe light grey?

 

 

the help is in the man page

 

so just man haggis-stats

 

I will install Elementary later and have a look at fixing the DE name

Link to comment
Share on other sites

I'm still having the "black" screenshot bug see below...

Would you mind posting a diagnostic report? It would help us pinpoint the issue much more quickly. You can generate such a report by passing the script the "report" argument, as demonstrated below.

 

$ haggis-stats report
Diagnostic report written to /home/karl/Temp/stats_report_karl_20131004.151654.log

Can you also add a '--help' switch to show the available switches and general information?

And just as a trivial request, could you make the elementary logo some sort of grey, maybe light grey?

The script accepts a help argument, although it is just "help", not "--help". Like Haggis said, you could also read the man page, which documents the command-line arguments Stats accepts in great detail.

 

$ haggis-stats help
Usage: haggis-stats [OPTIONS] ACTION

Print basic system statistics and immortalize those results with a screenshot.

Actions:
    stats               Print system statistics and take a screenshot
    report              Print diagnostic information
    help                Print this help information
    version             Print our version information

Options:
    --no-screenshot     Don't take a screenshot after printing system statistics
    --no-logo           Don't print the logo for your distribution
    --output-dir DIR    Save the screenshot or report to DIR


Link to comment
Share on other sites

Would you mind posting a diagnostic report? It would help us pinpoint the issue much more quickly. You can generate such a report by passing the script the "report" argument, as demonstrated below.

 

$ haggis-stats report
Diagnostic report written to /home/karl/Temp/stats_report_karl_20131004.151654.log
The script accepts a help argument, although it is just "help", not "--help". Like Haggis said, you could also read the man page, which documents the command-line arguments Stats accepts in great detail.

 

$ haggis-stats help
Usage: haggis-stats [OPTIONS] ACTION

Print basic system statistics and immortalize those results with a screenshot.

Actions:
    stats               Print system statistics and take a screenshot
    report              Print diagnostic information
    help                Print this help information
    version             Print our version information

Options:
    --no-screenshot     Don't take a screenshot after printing system statistics
    --no-logo           Don't print the logo for your distribution
    --output-dir DIR    Save the screenshot or report to DIR


I've attached the log... https://dl.dropboxusercontent.com/u/1370252/stats_report_ryan_20131004.160847.log

I just thought it would be nice to have a "--help" in addition to the man page, most commands have --help natively.

Link to comment
Share on other sites

Orange

 

we should be able to use this process to pick up Pantheon am i right?

ryan      3398  0.0  0.5 507500 20160 ?        Ssl  12:07   0:00 gnome-session --session=pantheon
Link to comment
Share on other sites

Hey Orange i dont have Git etc setup yet

 

but if you add this in it will pick up Pantheon

                   case /^\s*[A-Za-z0-9\/]{0,1}([A-Za-z0-9\-_]+\/)*pantheon/
                    {
                        $desktop_environment->{session} = 'Pantheon';
                        last;
                    }
Link to comment
Share on other sites

Pantheon working

 

3RNHvhi.jpg

 

Wow, so does that mean it's fixed? No more black screen bug? Has it been updated; I missed the announcement. LOL =P Great work you two!

Link to comment
Share on other sites

Pantheon working

 

3RNHvhi.jpg

 

Wow, so does that mean it's fixed? No more black screen bug? Has it been updated; I missed the announcement. LOL =P Great work you two!

 

EDIT:

Ok, so I downloaded the latest version and installed it and while the biggest bug is squashed using a different screenshot program, I'm still encountering issues and feel the program doesn't work as expected.

 

1st. Mine is still reporting as GNOME instead of Pantheon see screen shot below...

post-125102-0-02128900-1381045002.png

 

2nd. I noticed that the '--no-screenshot' switch doesn't work alone and must be coupled with 'stats' as seen here...

post-125102-0-33789900-1381045041.png

 

3rd. While using the '--no-logo' switch the font becomes a different color and if coupled with '--no-schreenshot' it fails without 'stats'; similar to (and probably a result from) issue number 2 stated above. So for me to simply show the display with no screenshot I have to type the novel...

ryan@MacBook-Air:~$ haggis-stats --no-logo --no-screenshot stats
(I suppose I could put that line in a script with a small file name, so I don't have to type it out every time; but, I'm just making recommendations to polish the edges of 'haggis-stats')

 

4th. Last, but perhaps more trivial, what's up with the "double dash"? Most linux commands use switches that require only a single dash (as shown in the examples below...).

ryan@MacBook-Air:~$ uname -a
Linux MacBook-Air 3.2.0-54-generic #82-Ubuntu SMP Tue Sep 10 20:08:42 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
ryan@MacBook-Air:~$ ls -l
total 104
drwxrwxr-x    3 ryan ryan  4096 Sep 30 10:03 Cloud
drwxrwxr-x    3 ryan ryan  4096 Oct  5 21:00 conky-manager
drwxr-xr-x    2 ryan ryan  4096 Oct  5 07:35 Documents
drwxr-xr-x   11 ryan ryan 12288 Oct  6 01:37 Downloads
drwxr-xr-x 1545 ryan ryan 61440 Sep 30 23:32 Music
drwxr-xr-x    3 ryan ryan  4096 Oct  6 01:58 Pictures
drwxr-xr-x    2 ryan ryan  4096 Sep 29 20:24 Public
drwxr-xr-x    2 ryan ryan  4096 Sep 29 20:24 Templates
drwxr-xr-x    2 ryan ryan  4096 Sep 29 20:24 Videos

ryan@MacBook-Air:~$ haggis-stats -no-screenshot
Invalid ACTION: -no-screenshot
ryan@MacBook-Air:~$ haggis-stats -no-logo
Invalid ACTION: -no-logo
ryan@MacBook-Air:~$ haggis-stats -outputdir ~/Pictures/Screenshots
Invalid OPTION: -outputdir
ryan@MacBook-Air:~$ haggis-stats -help
Invalid ACTION: -help
ryan@MacBook-Air:~$ haggis-stats --help
Invalid ACTION: --help
ryan@MacBook-Air:~$ uname --help
Usage: uname [OPTION]...
Print certain system information. With no OPTION, same as -s.

-a, --all print all information, in the following order,
except omit -p and -i if unknown:
-s, --kernel-name print the kernel name
-n, --nodename print the network node hostname
-r, --kernel-release print the kernel release
-v, --kernel-version print the kernel version
-m, --machine print the machine hardware name
-p, --processor print the processor type or "unknown"
-i, --hardware-platform print the hardware platform or "unknown"
-o, --operating-system print the operating system
--help display this help and exit
--version output version information and exit

Report uname bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
For complete documentation, run: info coreutils 'uname invocation' 
 

 

 

At last I digress in my whining. I know that it must have taken much time and effort to get the program running in it's current state, and for that I salute you. Kudos on such an amazing endeavor.

Link to comment
Share on other sites

I have not managed to package it for a new version as i am still learning how to do that

 

Need to wait on orange to package it i am afraid

 

if you want no log and no screenshot for example you would do

haggis-stats --no-logo --no-screenshot stats
Link to comment
Share on other sites

I don't think this bug fix alone is sufficient to justify a new release, but I have integrated Haggis' patch for the Pantheon Desktop Environment detection issue keuka reported into Stats. Grab the latest copy from Github if you wish to try it. See commit 439c497908f7ee8888aee4ebd45fb355cbaab023 for more details.

 

Haggis, PM me at your convenience, and I will help you get setup with the Stats Github repository.

Link to comment
Share on other sites

The reported desktop environment was fixed (although takes longer and makes haggis-stats slower).

post-125102-0-31096500-1381270444.png

 

 

haggis-stats still seems to require the "stats" argument when coupled with "--no-screenshot"...

ryan@MacBook-Air:~$ haggis-stats help
Usage: /usr/local/bin/haggis-stats [OPTIONS] ACTION


Print basic system statistics and immortalize those results with a screenshot.


Actions:
    stats               Print system statistics and take a screenshot
    report              Print diagnostic information
    help                Print this help information
    version             Print our version information


Options:
    --no-screenshot     Don't take a screenshot after printing system statistics
    --no-logo           Don't print the logo for your distribution
    --output-dir DIR    Save the screenshot or report to DIR


ryan@MacBook-Air:~$ haggis-stats --no-screenshot
Invalid ACTION: --no-screenshot
ryan@MacBook-Air:~$ 

double dash still appears required...

post-125102-0-62726200-1381270658.png

 

New update makes usage excruciatingly slow! Perhaps there is a different method to determine DE?

 

Link to comment
Share on other sites

haggis-stats still seems to require the "stats" argument when coupled with "--no-screenshot"...

That is not a bug; it is design behavior. We may change it in a future release, but dropping the "stats" action is far from priority. The only reason it is not required when the script is run with no arguments is to maintain backwards-compatibility with Stats 1.x. To be honest, I think it would be more consistent if an action was required as the last argument no matter what, rather than the current behavior where the "stats" action is implied when no command-line arguments are specified.

 

Also, see my response to Majesticmerc on the same topic earlier in this thread.

 

double dash still appears required...

This is also not a bug. It is standard convention to use double-dashes for extended arguments and a single dash for arguments consisting of a single character. For example, the help output of GNU Grep 2.12 demonstrates my point.

 

$ grep --help
Usage: grep [OPTION]... PATTERN [FILE]...
Search for PATTERN in each FILE or standard input.
PATTERN is, by default, a basic regular expression (BRE).
Example: grep -i 'hello world' menu.h main.c

Regexp selection and interpretation:
  -E, --extended-regexp     PATTERN is an extended regular expression (ERE)
  -F, --fixed-strings       PATTERN is a set of newline-separated fixed strings
  -G, --basic-regexp        PATTERN is a basic regular expression (BRE)
  -P, --perl-regexp         PATTERN is a Perl regular expression
  -e, --regexp=PATTERN      use PATTERN for matching
  -f, --file=FILE           obtain PATTERN from FILE
  -i, --ignore-case         ignore case distinctions
  -w, --word-regexp         force PATTERN to match only whole words
  -x, --line-regexp         force PATTERN to match only whole lines
  -z, --null-data           a data line ends in 0 byte, not newline

Miscellaneous:
  -s, --no-messages         suppress error messages
  -v, --invert-match        select non-matching lines
  -V, --version             print version information and exit
      --help                display this help and exit
      --mmap                deprecated no-op; evokes a warning

Output control:
  -m, --max-count=NUM       stop after NUM matches
  -b, --byte-offset         print the byte offset with output lines
  -n, --line-number         print line number with output lines
      --line-buffered       flush output on every line
  -H, --with-filename       print the file name for each match
  -h, --no-filename         suppress the file name prefix on output
      --label=LABEL         use LABEL as the standard input file name prefix
  -o, --only-matching       show only the part of a line matching PATTERN
  -q, --quiet, --silent     suppress all normal output
      --binary-files=TYPE   assume that binary files are TYPE;
                            TYPE is `binary', `text', or `without-match'
  -a, --text                equivalent to --binary-files=text
  -I                        equivalent to --binary-files=without-match
  -d, --directories=ACTION  how to handle directories;
                            ACTION is `read', `recurse', or `skip'
  -D, --devices=ACTION      how to handle devices, FIFOs and sockets;
                            ACTION is `read' or `skip'
  -r, --recursive           like --directories=recurse
  -R, --dereference-recursive  likewise, but follow all symlinks
      --include=FILE_PATTERN  search only files that match FILE_PATTERN
      --exclude=FILE_PATTERN  skip files and directories matching FILE_PATTERN
      --exclude-from=FILE   skip files matching any file pattern from FILE
      --exclude-dir=PATTERN  directories that match PATTERN will be skipped.
  -L, --files-without-match  print only names of FILEs containing no match
  -l, --files-with-matches  print only names of FILEs containing matches
  -c, --count               print only a count of matching lines per FILE
  -T, --initial-tab         make tabs line up (if needed)
  -Z, --null                print 0 byte after FILE name

Context control:
  -B, --before-context=NUM  print NUM lines of leading context
  -A, --after-context=NUM   print NUM lines of trailing context
  -C, --context=NUM         print NUM lines of output context
  -NUM                      same as --context=NUM
      --color[=WHEN],
      --colour[=WHEN]       use markers to highlight the matching strings;
                            WHEN is `always', `never', or `auto'
  -U, --binary              do not strip CR characters at EOL (MSDOS/Windows)
  -u, --unix-byte-offsets   report offsets as if CRs were not there
                            (MSDOS/Windows)

'egrep' means 'grep -E'.  'fgrep' means 'grep -F'.
Direct invocation as either 'egrep' or 'fgrep' is deprecated.
When FILE is -, read standard input.  With no FILE, read . if a command-line
-r is given, - otherwise.  If fewer than two FILEs are given, assume -h.
Exit status is 0 if any line is selected, 1 otherwise;
if any error occurs and -q is not given, the exit status is 2.

Report bugs to: bug-grep@gnu.org
GNU Grep home page: <http://www.gnu.org/software/grep/>
General help using GNU software: <http://www.gnu.org/gethelp/>

Although almost any standard UNIX command-line utility could be used to demonstrate this behavior, I would also like to single out apt-build because its syntax is similar to Stats.

$ apt-build help
Usage: apt-build [options] [command] <package>

Commands:
  update            - Update package lists
  upgrade           - Perform an upgrade
  install           - Build and install new packages
  source            - Download and extract source in build directory
  build-source      - Download, extract and build source package
  update-source     - Update all sources and rebuild them
  remove            - Remove packages
  build-repository  - Rebuild the repository
  clean-build       - Erase downloaded packages and temporary build files
  clean-repository  - Erase built packages
  clean-sources     - Clean up all object files in source directories
  world             - Rebuild and reinstall all packages on your system
  info              - Build-related package information

Options:
  --reinstall       - Re-build and install already installed package
  --rebuild         - Rebuild package
  --remove-builddep - Remove build-dependencies installed by apt-build
  --nowrapper       - Do not use gcc/g++ wrapper
  --purge           - Use purge instead of remove
  --noupdate        - Do not run 'apt-get update' before package installation
  --build-command   - Use <command> to build package
  --patch <file>    - Apply patch <file>s before the build
  --patch-strip     - Striplevel for the patch files
  --yes         -y  - Assume yes
  --version     -v  - Show version and exit
  --force-yes       - Force yes
  --source          - Do not download source (sources are extracted already)
  --build-only      - Do not install any of build dependencies or <package>
  --build-dir       - Specify build dir
  --repository-dir  - Specify the repository directory
  --target-release  - Distribution to fetch packages from
  --sources-list    - Specify sources.list file
  --aptget         - Specify an alternative apt-get application to use
  --aptcache       - Specify an alternative apt-cache application to use
  --config          - Specify an alternative configuration file

New update makes usage excruciatingly slow! Perhaps there is a different method to determine DE?

The script is somewhat slower under Elementary OS because it is much more difficult to determine the Pantheon version number than in virtually every other desktop environment. We could remove the Pantheon version number detection, but that would break consistency with the rest of the script.

Link to comment
Share on other sites

Have found one bug so far.  If I have other windows open, it attempts to take a screenshot as if those windows are open, even if they are all minimized when it runs, and there seem to be glitches that show up around the window borders.  Attached is a screenshot of what I'm talking about.  When I ran the script, all those windows were minimized.  This problem also occurred when I was using the default window borders and icon theme.

post-125978-0-53611800-1381523966.jpg

Link to comment
Share on other sites

Gerowen, that is interesting. I must admit, in all the tests I ran not once did it occur to me to test screenshots with mimimized windows. In instances where I used to minimize windows, I now find it more convenient to simply switch workspaces. I will look into the issue.

Link to comment
Share on other sites

  • 2 weeks later...

ok i have a problem

 

i installed kate because i have used it before and i like it

 

I am assuming being a KDE package some of the dependencies were KDE

 

now when i run stats it picks up KDE as my Desktop lol

Link to comment
Share on other sites

stick the file on dropbox and we can have a look :) or some other storage place

https://www.dropbox.com/s/x6yb7pw6cqv73o7/stats-2.1.0.gentoo.tar.xz

 

the logo in the logo folder and what is in the script are different due to the fact that the acsii looked wrong, plus the ascii in the perl file is taken from gentoos issue file anyway, couldn't make it purple which is Gentoos colour, so used magenta instead :p

 

Also even though i used a small png file, it still seems to want to be over 100k :/

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.