How to Install the Scripts

Well, you can't very well run these tools if they aren't installed on your system, can you? Here's how you install them all, one by one.

NOTE: to copy any command, just highlight the whole command string, and then paste it into your console with a center mousewheel click. Who needs typing! This is Free Software, and you're free to not type if you so choose!

Also note that all these programs must be installed in the /usr/local/bin directory, except for inxi, which you can install anywhere, but you really should install that one in /usr/local/bin too to keep things simple.

 Installing smxi / sgfxi / svmi

There are several ways to install smxi and related tools sgfxi and svmi:

Installing with smxi.zip

I'll start with the easiest. Download and extract the smxi.zip package. This requires the unzip utility. So first let's check if you have it:

# type this command:
which unzip

# if it gives you an answer, you have it.
# If nothing happens when you do that, just do this:
apt-get update && apt-get install unzip

# or, if you prefer aptitude, do:
aptitude update && aptitude install unzip

Ok, so now we're ready to get the file, which contains smxi, svmi, and sgfxi.

# as root, run the following command
cd /usr/local/bin && wget -Nc smxi.org/smxi.zip && unzip smxi.zip && smxi

If everything worked as expected, it should, if you are X (KDE, Gnome, etc), ask if you want to turn off X and start again.

This method installs smxi, svmi, and sgfxi, all ready to go.

Installing single program

If you only want one of those, here's how you do it. Just copy and paste which ever command you want:

# to install just smxi, as root, do:
cd /usr/local/bin && wget -Nc smxi.org/smxi && chmod +x smxi && smxi

# same for the others: sgfxi
cd /usr/local/bin && wget -Nc smxi.org/sgfxi && chmod +x sgfxi && sgfxi

# and svmi
cd /usr/local/bin && wget -Nc smxi.org/svmi && chmod +x svmi && svmi

smxi and sgfxi can't really be run in X, but svmi and of course, inxi, can be.

Installing with the smxi stub installer

A few lucky users (for example, antiX 8.0 and later) are running distros that are using the smxi stub installer (git source page). This lets you install any of the supported tools by simply typing in the following commands, as root:


# or for sgfxi

# or for svmi

The stub installer downloads and starts the program if they are missing, otherwise it just runs the program directly. This is by far the most pleasant, and the easiest, way to install and start the programs, but it requires a preinstalled smxi stub installer to work.

Installing sgfxi (non-smxi install)

The simple gfx (graphics) installer is a fairly popular way to install nVidia/ATI fglrx drivers easily and without fuss or bother, either direct install from the installer files it downloads from the ATI/nVidia sites (commmand: sgfxi), or using your distribution's driver packages (command: sgfxi -d)

If you have questions about what the program does, or how to do something with it, see the sgfxi FAQs, the sgfxi manual, and the sgfxi options documentation resources. Plus of course check sgfxi -h for full listing of options.

If you only want to install sgfxi alone, either because you aren't running a Debian based distribution, or because that's all you want to use, follow these simple steps:

cd /usr/local/bin && wget -O sgfxi smxi.org/sgfxi && chmod +x sgfxi && sgfxi

sgfxi can't really be run in X, except for the -k / -! 40 module rebuilding modes.

inxi installation options

For technical information, examples, faqs, options, etc, related to inxi, see the inxi documentation.

Installing inxi from apt or other distribution repositories

Is it in your distribution already? Check first
As of 2014, inxi is most major distributions, one version or another. Some are quite current, others have older versions. Debian/Ubuntu have it. To see if your apt based distro has inxi, simply do this (apt commands, use proper syntax of course for your specific package manager and distro):

# check if it is your repo
apt-cache search inxi
# then do
apt-get update && apt-get install inxi

If there is no install candidate, either add the proper repo, or see below for other install options.

Repo Version Lagging Behind Current? No problem

If your repository inxi version is behind current stable and you want the latest inxi features, then first try this, as root:

inxi -U
# or, for those who use sudo:
sudo inxi -U

If you get an error about unsupported option, it means your distro maintainer has disabled updates via -U. You can easily override that by running this simple command (more details at inxi faq page):

touch /etc/inxi.conf && echo 'B_ALLOW_UPDATE=true' >> /etc/inxi.conf
## then you can run the -U to get current inxi version
inxi -U

Keep in mind that the package manager will not know about this update, so inxi will get overwritten by the next inxi release your distro makes, but that's not a problem, now that you have the override flag in place, you can just run inxi -U again. This procedure should always work, ie, that override is absolute.

Debian / Ubuntu Only

Ubuntu/Debian: If you are running an older Ubuntu version, before Precise, or if you simply want the most current inxi version, you can always add th Unit193 PPA repo:

# for ubuntu:
sudo apt-add-repository ppa:unit193/inxi
apt-get update
apt-get install inxi

Please note that unit193 is also the Debian maintainer for inxi, so his package version tends to be up to date.

Debian: To add inxi to Debian, do the following. Please note, I suggest not adding Siduction repos to Debian Stable because they also contain Sid packages that might cause you problems. The Unit193 repo will not have that issue since it's only for a few packages.

# Debian users: for the actual Unit193 direct repo, use this to add it to your apt repos:
echo 'deb http://ppa.launchpad.net/unit193/inxi/ubuntu trusty main' > /etc/apt/sources.list.d/unit193-inxi.list
# or if you prefer using a strictly Debian repo, though it should make zero difference:
echo 'deb http://packages.siduction.org/base unstable main' > /etc/apt/sources.list.d/siduction.list
# then install it
apt-get update
apt-get install inxi

Non Apt Repos

For non apt based distros like Arch Linux, Manjaro, Mageia, Fedora, OpenSuse, RHEL, Gentoo, etc, just do a google search to see if someone has created a third party repo for inxi if it's not in your primary repos, I won't try to track them all because it's basically in all the large repos now. Obviously use only trusted repos.

While I cannot comprehensively state what distros support inxi in what way because it changes all the time, here's the ones I have a sense of. Please note that I don't have repo information for most of these, so I don't want to give wrong information. Version info comes from repology.org (that list is not complete, there are many other distributions that package inxi, but it covers most of the bigger ones, and some smaller ones).

If inxi is not in your distribution, just file an issue with your distro to get it added, it is VERY easy to support and maintain inxi because inxi does not ever use technologies that are not well supported over time, that is, an old inxi will install on a new system, and a new inxi will install on an old system. It may use new things, but it will always degrade gracefully so all that will happen is a line of information may simply not contain data, just a message.

inxi can be installed via smxi

Debian Based Distros Only
Installing inxi via smxi is as easy as can be. And it's a good way to install it too, because if you use smxi to install it, it will install any useful apps it needs as well, as well as creating Konversation native built in symbolic links automatically, if needed.

You can find the inxi installer here:
Post Upgrade Options -> Package Install -> Utilities -> inxi

Generic manual inxi install method (all distros)

Simply install it directly, like so (Pardus users, change /usr/local/bin to /usr/bin):

# get it (it actually comes from the source repository, but this is a shortcut)
cd /usr/local/bin && wget -Nc smxi.org/inxi && chmod +x inxi && inxi
# then run -U to pull in the man page as well, which is not installed the first time
# manual method.
inxi -U

rbxi installation options

rbxi is slightly different than the other tools, because it comes in a zip file containing rbxi, and a sub-directory rbxi-data, and you have to manually configure, one time, the included rbxi-data/rbxi-values user variables. But it includes an HTML readme (rbxi-data/readme-rbxi.htm) that explains how to do it, so it's quite easy. You can also access the rbxi setup readme at the smxi.org documentation pages.

Installing with rbxi.tar.bz2

To get the program, download it to your preferred location. I like using /usr/local/bin because it is in most system default PATHs (Pardus users, change /usr/local/bin to /usr/bin), so let's say that's where you download it. Simply execute the following commands in shell, as root (if /usr/local/bin), otherwise as regular user if you are going to install it in say: /home/username/bin or something. For this example, let's assume it's going to /usr/local/bin

Please note, due to some changes in wget, newer versions do not seem to follow the file name translation on the redirect. This means that when you run tar on the package you downloaded, you should note the name. Wget will tell you that name if you read the download wget message. smxi.org/rb is a shortcut to the real rbxi.tar.bz2 file, but wget seems now to preserve the shortcut name rb as the downloaded file name.

All these install operations require that you are root, or admin user, so you can work in /usr directories.

# *buntu users, and other distros with root shell disabled by default,
# to gain an admin shell, do this in console (note the dash):
sudo su -
# most other distros that allow su to root

Then give the root/admin password and continue to these steps:

Note: depending on what wget version you have it will translate rb to rbxi.tar.bz2 OR leave the download name as rb. If in doubt, do: ls before running tar. Most newer wgets do NOT translate the name back as of 2010.

cd /usr/local/bin && wget -Nc smxi.org/rb && tar xjvf rb
# if it returns error, no file found, do this instead:
tar xjvf rbxi.tar.bz2

When you unzip the package, there will be the following files and directory:

# main program file
# main data directory:
# root excludes list, should not need to be changed
# blank, add paths for exclusion if required, do not delete
# user data values, set using directions in readme-rbxi.txt
# instructions on how to setup rbxi, in HTML for easy browser viewing

You will need to do some editing of the USER VARIABLES file rbxi-data/rbxi-values to have the program work on your machine.

Note that rsync has slightly different syntax for its exclude files than rdiff-backup.

Once you verify you have the files, you can delete the rb or rbxi.tar.bz2 file you downloaded if you want, to keep things tidy, like so:

rm rb
# or
rm rbxi.tar.bz2

Installing with smxi

Smxi also has an option to automatically download, extract, and set executable the rbxi.tar.bz2 package into /usr/local/bin.

smxi -! 21

This will place rbxi directly in /usr/local/bin, and the rbxi-data directory here: /usr/local/bin/rbxi-data

Script set up: read the included readme-rbxi.htm PLEASE! which is found in rbxi-data directory.

If you ask me how to do something that is explained in the readme file, I won't offer you any help. So read it before asking, that's why it's there!

I won't repeat what's in the readme file, just remember that you must setup your USER VARIABLES before running rbxi, this will assign correct directory names and backup locations.

Updating rbxi using update option

No matter where you install rbxi, you can update it easily like this:

rbxi -U

This will get the latest version from svn without you having to do anything else. The rbxi-versions file will retain your personal user preferences between updates.

Hint: to make it easier to start rbxi if it's not in your system path, use this option, as root. It will create a symbolic link in /usr/local/bin to where-ever you installed rbxi.

rbxi -L

switcher installation options

Switcher is a little script designed to help you switch between local apt proxy sources.list and standard Debian sources.list files. It tests and quits if anything is missing. It also has optional support for a third type, using local file sources (-l).

Requires two files, I use /etc/apt/sources.list-proxy and /etc/apt/sources.list-standard to keep things simple, which will be alternately used to replace /etc/apt/sources.list, plus an optional third, for local apt-move, /etc/apt/sources.list-local. You can use any file names or paths you want, as long as you update the top variable paths first.

Installation is simple, just download it, then if you need to change from the default file names, or the apt-type (aptitude is default, apt-get the other choice) you just edit the top variables before you run it the first time.

cd /usr/local/bin && wget -Nc smxi.org/sm/switcher && chmod +x switcher

And that's it, just start it with -p (for proxy sources), -s (for standard Debian sources), or -l (for the optional apt-move type sources), and it will update your primary sources.list, then run your apt type update to sync your system.

For more information about setting up your apt-proxy (approx in this case) to use smxi compatible syntax, read the smxi manual, apt proxy setup.

dws installation options

dws is a little script designed to let you easily check one or more distro's rankings at distrowatch.com. Defaults to Debian 7 day rankings, but you can change the defaults by editing the top 2 variables.

Installation is simple, just download it, and set it executable (Pardus users, change /usr/local/bin to /usr/bin):

cd /usr/local/bin && wget -Nc smxi.org/dws && chmod +x dws

Select which distro to check with -d option, and time frame with -t. See -h help menu for full directions. Note that the distro name cannot contain spaces, dashes, or /. Simply delete these, like so: PC-BSD becomes: PCBSD (not case sensitive).

dws -d arch
# output:
The arch distrowatch.com 7 day position is: 9 (1002+)

# for multiple distros, comma separated, no spaces. 30 day stats.
dws -d opensolaris,openbsd,freebsd -t 30
# output:
The opensolaris distrowatch.com 30 day position is: 37 (268+)
The openbsd distrowatch.com 30 day position is: 63 (148+)
The freebsd distrowatch.com 30 day position is: 16 (579+)

The data in the (..) (for tty) or after :: (for irc clients) is the average number of hits per day for the time period selected, the + means it's gone up since yesterday, - means down, and ~ means unchanged.

If you want to make it easy to update, as regular user, then do:

chown [your user name] dws
# for example
chown john dws

After that you can update it if needed without being root, using the -U option.

To change the defaults the script uses when started without -t or -d, edit these variables (found at top of script) to suite your taste:

## user set defaults, change these you want something else here
# distro: any distro you want, no spaces, dash, or /
# case insensitive, sample: dw says: PC-BSD, make: pcbsd
# can also have multiple, comma separated list, no spaces, like:
# DISTRO='opensolaris,openbsd,pcbsd,arch'
# options: 7 30 (day) - 3 6 12 (month)
# years: 2002-2009
# sample: TIME_SPAN='2008'

acxi installation options

acxi is a perl script that has been forked (with the author's blessings) from the original flac2ogg.pl script. Obviously the name flac2ogg.pl was too long to type all the time, so instead it's audio conversion xi script.

It has been extended to do more and do it better than the original, with error handling, validation of user input, and copying over of txt, doc, pdf, jpg, bmp, and any user set other file types from the source (flac or wav) to output (ogg or mp3 currently).

To install it, simply execute these commands as root, or with sudo:

cd /usr/local/bin && wget -O acxi smxi.org/acxi && chmod +x acxi

Pardux users: change to: /usr/bin instead of /usr/local/bin

Note: you will have to edit the top script variables to set the defaults for your system, but they are very well commented and should be self explanatory, and if you make a mistake the script validates your data anyway and exits explaining the error.

You can visit the acxi flac to ogg / mp3 audio converter's home page for more information, but here's a quick look at it's help menu to give you and idea of what it does:

acxi -h
acxi v: 2.6.0 :: Supported Options:
Examples: acxi -q 8 --destination /music/main/ogg
acxi --input wav --output ogg
acxi --copy doc,docx,bmp
--copy -c         List of alternate data types to copy to Output 
                  type directories. Must be comma separated, no 
                  spaces, see sample above. 
                  Your current copy types are: bmp jpg jpeg pdf txt
--destination -d  The path to the directory where you want the processed
                  (eg, ogg) files to go.
                  Your current script default is: /path/to/your/output/directory
--force -f        Overwrite the ogg/jpg/txt files, even if they already exist.
--help -h         This help menu.
--input -i        Input type: supported - flac, wav, raw. mp3 only supports 
                  flac input.
                  Your current script default is: flac
--output -o       Output type: supported - ogg, mp3.
                  Your current script default is: ogg
--quality n -q n  Where n is a number between 1 and 10, 10 being the best 
                  quality (ogg). 
                  mp3 supports: 0-9 (variable bit rate: quality 0 biggest/highest, 
                  9 smallest/lowest)
                  Your current script default is: 7
--source -s       The path to the top-most directory containing your source files 
                  (eg, flac).
                  Your current script default is: /path/to/source/directory
--version -v      Show acxi version.

User Configs: $HOME/.acxi.conf or /etc/acxi.conf
Requires this syntax (any user modifiable variable can be used)
Do not use the $ or ", ' in the config data

I updated this script to handle live concert torrents and things like that that tend to contain a lot of extra data, song lists, pdfs, and jpgs or other image types, so I wanted the output ogg directories to have the same data as the source uncompressed ones. It works exactly as I hoped, so I don't see modifying this one much further, though you never know.