The project EnvironmentInformation will give you information about the environment that you are presently working with - or, more accurately, the environment that ruby can find (that is, the one ruby is running and working at). You can also save this information into a standalone .html file if you so desire to. The main class of this project, class EnvironmentInformation, will store, and if requested, also output Environment information. Environment information may: - The GCC Version in use. - The Kernel in use. - Which Ruby Version is used. - Which Rubygem version is used. - The path to the rubygem directory. - What the Host CPU Model is (on Linux at the least). - What is the the GTK, GLIB and gdk-pixbuf version, respectively. - What Xorg components are available. And so on and so forth. Sometimes this class will try to query .pc files via pkg-config, sometimes it will try to infer the version from the .so file, and sometimes it will try to run the system command with a -V or -v flag. The reason as to why different ways have to be supported is because different software is installed in different ways. For example, not every software comes with a .pc file, so we can not use .pc files uniformly. The class EnvironmentInformation will store the gathered information in the instance_variable @dataset. This is normally an Array. If you need a String instead, you can use the method .string? or .stringified, which will give you a String instead (of course you can also convert the Array on your own, the .stringified method exists primarily out of convenience alone). Additional helper methods exist, such as the a reader-method such as .main_string? or .string (all are equivalent there) and used in other scripts. You can also display some additional information, such as GTK, Glib, Atk and Pango Versions, by passing in "f" or "full" or "--full" on the commandline, without the quotation marks. See the help section of this script, which you can invoke by passing "help" or "--help" as argument to it. In the past, I have at this point given a short changelog, but I believe that people are more interested in the options that are supported NOW, rather than the changes that were done, so the changelog is no longer detailed here. There are, essentially, two basic and recommended ways how to use this class: (1) From the commandline, just call it directly and pass it specific commands (optionally). For instance, invoke the script with the argument "ALL" and we will show all information. This is personally my favourite way how to invoke this class. (2) Embedded somewhere else, i.e. for use in a .cgi page. An example for the latter follows: _ = EnvironmentInformation.new(false) _.set_n_tokens 58 _.disable_colours _.be_silent _.dont_show_ruby_stuff _.run Do note that the following API also works: EnvironmentInformation The executable version is is called envi. So you can invoke the script by typing "envi" from the commandline, without the quotes; if you installed it as a gem into a prefix other than /usr, it may be that the bin/ directory resides only in that gem, though. An alias may help in this case. The usage is as follows: envi ALL REALLY_ALL Since this is hard to type, I suggest to alias it. See the menu.rb file for more aliases to that. If you have specific suggestions to make this gem more useful for others, please drop me an email at: firstname.lastname@example.org. Thank you.