BGINFO4X

Main

This site contains the official documentation for BGINFO4X. The project site is located here.
Bug reporting and suggestions are welcomed. Please, use the Forums.

Description

BGINFO for X, also called BGINFO4X , is a clone of the popular program BGINFO for Microsoft Windows created by Sysinternals.

BGINFO4X is designed for pretty print useful information (CPU model, Hostname, IP address, OS version, Office version, and much more ...) on your desktop background or wallpaper. See the screenshots to see BGINFO4X in action.

  • BGINFO4X is Multi Platform (Windows, MacOSX, Linux, BSD).
  • BGINFO4X is Highly Customizable.
  • BGINFO4X is Open Source.
  • BGINFO4X comes with lots of Features.

Features

  • Multi Platform: Windows, MacOSX, Linux, BSD, UNIX, embedded systems (ARM,RASPBERRY).
  • Highly Customizable: configure easily any setting of the program.
  • Open Source: you can benefit from it and from the community forums.
  • Dynamic Data: the information is not static. Refreshed it with a configurable timer.
  • Modular System: designed as a modular system, you can use different modules.
  • Out Module: write any information. Use bash, powershell, wmi, vbs, perl, python, snmp, ....
  • Alarm Module : write an alarm by threshold. Use a different color, size, format.
  • Script Module: execute any script or program, such as as sending an email with the result.
  • Export Module: export the information to a html report, csv file or sqlite database.
  • Personalized Header: use a personalized header with your preferred message.
  • Corporate Logo: use a a corporate logo or use your personalized one.
  • Additional Image: add a personalized image or encrust a performance graphic.
  • Corporate Wallpaper: force the use of a corporate wallpaper.
  • Solid Colors: use solid colors, gradients and plasma wallpapers.
  • Predefined Position: use predefined positions (north, south, east, west). Adjust to your taskbar.
  • Font Styling: use your installed fonts, color and size. Customize header, output and alarms.
  • Secure Mode: protect sensitive computers like notebooks.
  • Remote Display: display your local information to a remote machine.
  • Debug Mode: debug easily any part of the code.
  • Bash Shell: use BGINFO4X Bash Shell in Windows (thanks to MSYS).

Please, find additional information in the Documentation


Support

Support Forums


Screenshots

Screenshot thumbnail
BGINFO4X Plasma Gradient
Screenshot thumbnail
BGINFO4X Solid Colors, Gradients and Plasma
Screenshot thumbnail
BGINFO4X for Windows 2012
Screenshot thumbnail
BGINFO4X for MACOSX
Screenshot thumbnail
BGINFO4X for Ubuntu and tailing a file
Screenshot thumbnail
BGINFO4X HTML Report


Download


The BGINFO4X Manual


What is BGINFO4X ?

BGINFO for X and for Windows, also called BGINFO4X , is a clone of the popular program BGINFO for Microsoft Windows created by Sysinternals.

BGINFO4X is designed for pretty print useful information (CPU model, Hostname, IP address, OS version, Office version, and much more ...) on your desktop background or wallpaper. See the screenshots to see BGINFO4X in action.

  • BGINFO4X is Multi Platform (Windows, MacOSX, Linux, BSD).
  • BGINFO4X is Highly Customizable.
  • BGINFO4X is Open Source.
  • BGINFO4X comes with lots of Features.

Features

  • Multi Platform: Windows, MacOSX, Linux, BSD, UNIX, embedded systems (ARM,RASPBERRY).
  • Highly Customizable: configure easily any setting of the program.
  • Open Source: you can benefit from it and from the community forums.
  • Dynamic Data: the information is not static. Refreshed it with a configurable timer.
  • Modular System: designed as a modular system, you can use different modules.
  • Out Module: write any information. Use bash, powershell, wmi, vbs, perl, python, snmp, ....
  • Alarm Module : write an alarm by threshold. Use a different color, size, format.
  • Script Module: execute any script or program, such as as sending an email with the result.
  • Export Module: export the information to a html report, csv file or sqlite database.
  • Personalized Header: use a personalized header with your preferred message.
  • Corporate Logo: use a a corporate logo or use your personalized one.
  • Solid Colors: use solid colors, gradients and plasma wallpapers.
  • Additional Image: add a personalized image or incrust a performance graphic.
  • Corporate Wallpaper: force the use of a corporate wallpaper.
  • Predefined Position: use predefined positions (north, south, east, west). Adjust to your taskbar.
  • Font Styling: use your installed fonts, color and size. Customize header, output and alarms.
  • Secure Mode: protect sensitive computers like notebooks.
  • Remote Display: display your local information to a remote machine.
  • Debug Mode: debug easily any part of the code.
  • Bash Shell: use BGINFO4X Unix Bash Shell in Windows (thanks to MSYS).

The main goals

  • Show your preferred information in your desktop wallpaper.
  • Be a multiplatform program, supported in a vast range of operating systems.
  • Help companies, schools, organizations, in the task of deploying their computers. In particular in the deployment of an Open Source Operating System.
  • Help Desk-departments to connect fast to the user computer's to solve problems. In particular showing the IP or Hostname.
  • Help IT-departments to gathering the generated data.
  • Help IT-departments to create an inventory of hardware.
  • Help IT-departments to create an inventory of software.
  • Help IT-departmens to create an inventory of security information.

The two modes

BGINFO4X has two modes of functionality: The IMMODE and the RTMODE.

  • The IMMODE (ImageMacik Mode)

This is the Default mode for version 2.2 and up.
This mode uses the ImageMagick suite to write desktop information directly on your wallpaper.
This mode is very powerful in the generation of images. And extract of the features allowed are:

* Format conversion: convert an image from one format to another (e.g. PNG to JPEG).
* Transform: resize, rotate, crop, flip or trim an image.
* Transparency: render portions of an image invisible.
* Draw: add shapes or text to an image.
* Decorate: add a border or frame to an image.
* Special effects: blur, sharpen, threshold, or tint an image.
* Text & comments: insert descriptive or artistic text in an image.
* Image identification: describe the format and attributes of an image.
* Composite: overlap one image over another.
* Virtual pixel support: convenient access to pixels outside the image region.

Find more information about the ImageMagick features here
Find more information about ImageMagick here

  • The RTMODE (RootTail Mode)

This mode is a deprecated mode, and is only useful in some very technical cases.
This mode uses less CPU, can "tail -f" a file on your desktop, and the DISPLAY can be exported to a remote machine.
This mode uses root-tail to write desktop information directly in your X-Window.

Find more information about root-tail here

Note: it is necessary to have X-windows installed to work with this mode. So, this mode doesn't work with Windows, except if your are using CYGWIN.

Usually, all the operating systems support both modules. Check here for the compatibility matrix.


Quick Start Guide

Program's Overview (FUNCTION FILES) - BGINFO4X as a modular system

BGINFO4X is a modular system, that comes with a set of configurable FUNCTION FILES:

  • The HEADERFILE (HEADER.CONF) contains your customized HEADER.
  • The OUTFILE (OUT.CONF) contains your OUT functions.
  • The ALARMFILE (ALARM.CONF) contains your ALARM functions.
  • The SCRIPTFILE (SCRIPT.CONF) contains your SCRIPTS to be executed.

The following image shows the relationship between the FUNCTION FILES and the WALLPAPER printed:
BGINFO4X_Overview

The Operating System is detected automatically and the associated FUNCTION FILES, located in their corresponding subfolder, are executed.

The following table summarizes this concept:

OS FOUND SUBFOLDER LOCATION FUNCTION FILES
WINDOWS CUSTOM/CLIENT/WINDOWS HEADER.CONF; OUT.CONF; ALARM.CONF; SCRIPT.CONF
LINUX CUSTOM/CLIENT/LINUX HEADER.CONF; OUT.CONF; ALARM.CONF; SCRIPT.CONF
MACOSX CUSTOM/CLIENT/MACOSX HEADER.CONF; OUT.CONF; ALARM.CONF; SCRIPT.CONF
BSD CUSTOM/CLIENT/BSD HEADER.CONF; OUT.CONF; ALARM.CONF; SCRIPT.CONF
CYGWIN CUSTOM/CLIENT/CYGWIN HEADER.CONF; OUT.CONF; ALARM.CONF; SCRIPT.CONF
OTHEROS CUSTOM/CLIENT/OTHEROS HEADER.CONF; OUT.CONF; ALARM.CONF; SCRIPT.CONF

To see all the the Operating Systems supported click here


Program's Overview (CUSTOM FILES) - Using and configuring BGINFO4X

Customizing BGINFO4X is done through the CUSTOM FILES, located in the CUSTOM/CONF subfolder of your installation program.

The following table summarizes this concept:

FILE SUBFOLDER LOCATION Description
BGINFO4X.CONF CUSTOM/CONF Main configuration file.
IMMODE.CONF CUSTOM/CONF Imaging wallpaper configuration file.
RTMODE.CONF CUSTOM/CONF Root-tail (deprecated) configuration file.

These configuration files, use a very simple estructure: VARIABLE="VALUE". Note that the "VALUE" comes always between quotes. These variables are also called often tunables.

  • The BGINFO4X.CONF configurable file manages the Main General Settings and the Export Options.

The more useful tunables in this file are:

Tunable Value Description
TIMER ["0"-"seconds"] Refresh screen timer in seconds. For example, to refresh each 5 minutes (300 seconds), use TIMER="300".
STOPLOOP ["0"-"loopnumber"] Stop BGINFO4X after the desired loop. For example, to never stop, use STOPLOOP="0".
HTMLEXPORT ["YES"/"NO"] Export the information to an HTML file. For example, to export your data to HTML, use HTMLEXPORT="YES".
  • The IMMODE.CONF configurable file is used for controlling the IMAGING of your Wallpaper.

The more useful tunables in this file are:

Tunable Value Description
CORPORATEWALLPAPER ["YES"/"NO"] Force the use of a Corporate Wallpaper.
CORPORATELOGO ["YES"/"NO"] Use a Corporate Logo.
BGWALLPAPER_GRAVITY ["Cardinal points"] Location of the BGINFO4X wallpaper. For example, to position the image to the SouthEast, use BGWALLPAPER_GRAVITY="SouthEast".

To see all the configurable options and possible values, edit your CUSTOM FILE or continue reading this manual.


Command line options

BGINFO4X comes with the following command line options: {--version | --stop | --stopall | --debugall | --checksoftinstalled | --help}

  • ./BGINFO4X.sh (starts the program).
  • ./BGINFO4X.sh --version: shows the version.
  • ./BGINFO4X.sh --checksoftinstalled: checks that you have all the necessary programs to run.
  • ./BGINFO4X.sh --stop: kill all processes.
  • ./BGINFO4X.sh --stopall: kill all processes - aggressive mode (kill also by PIDSFILE).
  • ./BGINFO4X.sh --reload: reloads BGINFO4X immediately.
  • ./BGINFO4X.sh --debugall: catch all outputs and errors to the file OUT/debugall.out.

Installing BGINFO4X

Installing BGINFO4X on Windows

  • Backup your previous version of BGINFO4X in a safe place

    • Backup your CUSTOM/CONF folder.
    • Backup your CUSTOM/CLIENT/WINDOWS folder.
    • Uninstall the program from the Control Panel applet.
  • Install BGINFO4X

    • Prerequisite: NetFramework2 installed.

    • Download the latest version of the .msi Windows package

    • Execute the msi package as an Administrator
      BGINFO4X for Windows - BGINFO4X for Windows - Setup

    • Accept the End-User GPL License
      BGINFO4X for Windows - Accept End-User License Agreement

    • Choose your Destination Folder
      BGINFO4X for Windows - Choose your Destination Folder

    • Install BGINFO4X
      BGINFO4X for Windows - Install the program

    • Launch BGINFO4X

      • Uncheck the option if you have installed the program with run as Administrator.
      • Launch it from the Program Files folder.
        BGINFO4X for Windows - Launch the program
    • Program Files Overview
      BGINFO4X for Windows - Installed in Program files
      BGINFO4X for Windows - BGINFO4X - Unix Bash Shell

      • To start the program without a console, launch BGINFO4X for Windows - Hidden Console.
      • To start the program with a console, launch BGINFO4X for Windows.
      • In the Documentation subfolder, you have all the main links that can help you.
      • In the Utils subfolder, you have the BGINFO4X - HTML Report.
      • In your Desktop, you will find an icon that point to BGINFO4X - Unix Bash Shell.
    • Restore your backed-up data (CUSTOM/CONF and CUSTOM/CLIENT/WINDOWS).

  • Starting the program automatically

    • BGINFO4X is started Automatically and Hidden, through the shortcut BGINFO4X for Windows - Hidden Console, located in the Startup folder for All Users.
  • Configuring BGINFO4X

    • Editing CUSTOM FILES and FUNCTION FILES:

      • It is recommended the use of a Unix editor compatible, such as Notepad++ (http://notepad-plus-plus.org/download/).
      • The use of Notepad/Wordpad is not recommended, and could corrupt your .CONF files.
    • After finishing the installation you can deploy BGINFO4X faster in your enterprise, basically with two methods:

  • See the results


Installing BGINFO4X on MacOSX

  • Requirements:

  • Backup your previous version of BGINFO4X in a safe place

    • Backup your CUSTOM/CONF folder.
    • Backup your CUSTOM/CLIENT/LINUX folder.
    • Remove the old installation:
      • $ rm -rf /usr/local/bin/BGINFO4X
  • Install BGINFO4X

    • On a Unix Terminal, install the prerequisites:

      • $ sudo port install imagemagick or sudo brew install imagemagick
      • $ sudo port install ghostscript or sudo brew install ghostscript
      • $ If you want to use the RTMODE, compile Root-tail from Source as explained in the Cygwin section->Install Root-tail (RTMODE).
    • Download the latest version of BGINFO4X.

    • Copy the downloaded file to a'/tmp' folder.

    • On a Unix Terminal, install BGINFO4X:

      • $ cd /tmp
      • $ tar xvfz "Last version of BGINFO4X.tar.gz"
      • $ sudo mv BGINFO4X /usr/local/bin (Install it in a System-wide Administration Folder)
      • $ cd /usr/local/bin/BGINFO4X
    • Restore your backed-up data (CUSTOM/CONF and CUSTOM/CLIENT/LINUX).

    • Start the main program:

      • $ ./BGINFO4X.sh
  • Starting the program automatically

  • Configuring BGINFO4X

    • With BGIFNO4X Server, the wallpaper is always detected automatically.
    • With BGINFO4X Client, depending of your MACOSX version, the wallpaper couldn't be detected automatically. If nothing is printed, edit and replace in IMMODE.CONF->CLIENT WALLPAPERS section->MACOSX_GET/MACOSX_SET by the values located in IMMODE.CONF->SERVER WALLPAPERS section->MACOSX_YOURVERSION_GET/MACOSX_YOURVERSION_SET.
  • See the results

BGINFO4X for MAC - IMMODE
BGINFO4X for MAC - RTMODE Minimized Window
BGINFO4X for MAC - RTMODE


Installing BGINFO4X on Ubuntu

  • Backup your previous version of BGINFO4X in a safe place

    • Backup your CUSTOM/CONF folder.
    • Backup your CUSTOM/CLIENT/LINUX folder.
    • Remove the old installation:
      • $ rm -rf /BGINFO4X
  • Install BGINFO4X

    • On a Unix Terminal, install the prerequisites:

      • $ sudo apt-get install imagemagick
      • $ sudo apt-get install root-tail
    • Download the latest version of BGINFO4X.

    • Copy the downloaded file to a'/tmp' folder.

    • On a Unix Terminal, install BGINFO4X:

      • $ cd /tmp
      • $ tar xvfz "Last version of BGINFO4X.tar.gz"
      • $ sudo mv BGINFO4X /usr/local/bin (Install it in a System-wide Administration Folder)
      • $ cd /usr/local/bin/BGINFO4X
    • Restore your backed-up data (CUSTOM/CONF and CUSTOM/CLIENT/LINUX).

    • Start the main program:

      • $ ./BGINFO4X.sh
  • Starting the program automatically

    • On Ubuntu 12.04, to start automatically each time you login, do the following:
      • Open the Dash Home -> Search for Startup -> Open Startup Applications -> Add a BGINFO4X startup entry.
      • Enter the following startup command: bash -c "cd PATH_TO_BGINFO4X_DIRECTORY && ./BGINFO4X.sh"
      • Save the entry, and close the Startup Applications.
  • Configuring BGINFO4X

    • With BGIFNO4X Server, the wallpaper is always detected automatically.
    • With BGINFO4X Client, depending of your Ubuntu version, the wallpaper couldn't be detected automatically. If nothing is printed, edit and replace in IMMODE.CONF->CLIENT WALLPAPERS section->LINUX_GET/LINUX_SET by the values located in IMMODE.CONF->SERVER WALLPAPERS section->LINUX_YOURVERSION_GET/LINUX_YOURVERSION_SET.
  • See the results

BGINFO4X for WINDOWS - UBUNTU - RTMODE


Installing BGINFO4X on Fedora

  • Backup your previous version of BGINFO4X in a safe place

    • Backup your CUSTOM/CONF folder.
    • Backup your CUSTOM/CLIENT/LINUX folder.
    • Remove the old installation:
      • $ rm -rf /usr/local/bin/BGINFO4X
  • Install BGINFO4X

    • On a Unix Terminal, install the prerequisites:

      • $ sudo yum install ImageMagick
      • $ If you want to use the RTMODE, compile Root-tail from Source as explained in the Cygwin section->Install Root-tail (RTMODE).
    • Download the latest version of BGINFO4X.

    • Copy the downloaded file to a'/tmp' folder.

    • On a Unix Terminal, install BGINFO4X:

      • $ cd /tmp
      • $ tar xvfz "Last version of BGINFO4X.tar.gz"
      • $ sudo mv BGINFO4X /usr/local/bin (Install it in a System-wide Administration Folder)
      • $ cd /usr/local/bin/BGINFO4X
    • Restore your backed-up data (CUSTOM/CONF and CUSTOM/CLIENT/LINUX).

    • Start the main program:

      • $ ./BGINFO4X.sh
  • Starting the program automatically

  • Configuring BGINFO4X

    • With BGIFNO4X Server, the wallpaper is always detected automatically.
    • With BGINFO4X Client, depending of your Fedora version, the wallpaper couldn't be detected automatically. If nothing is printed, edit and replace in IMMODE.CONF->CLIENT WALLPAPERS section->LINUX_GET/LINUX_SET by the values located in IMMODE.CONF->SERVER WALLPAPERS section->LINUX_YOURVERSION_GET/LINUX_YOURVERSION_SET.

Installing BGINFO4X on LinuxMint

  • Backup your previous version of BGINFO4X in a safe place

    • Backup your CUSTOM/CONF folder.
    • Backup your CUSTOM/CLIENT/LINUX folder.
    • Remove the old installation:
      • $ rm -rf /usr/local/bin/BGINFO4X
  • Install BGINFO4X

    • On a Unix Terminal, install the prerequisites:

      • $ sudo apt-get install imagemagick
      • $ sudo apt-get install root-tail
    • Download the latest version of BGINFO4X.

    • Copy the downloaded file to a'/tmp' folder.

    • On a Unix Terminal, install BGINFO4X:

      • $ cd /tmp
      • $ tar xvfz "Last version of BGINFO4X.tar.gz"
      • $ sudo mv BGINFO4X /usr/local/bin (Install it in a System-wide Administration Folder)
      • $ cd /usr/local/bin/BGINFO4X
    • Restore your backed-up data (CUSTOM/CONF and CUSTOM/CLIENT/LINUX).

    • Start the main program:

      • $ ./BGINFO4X.sh
  • Starting the program automatically

    • On LinuxMint, to start automatically each time you login, do the following:
      • Open the Dash Home -> Search for Startup -> Open Startup Applications -> Add a BGINFO4X startup entry.
      • Enter the following startup command: bash -c "cd PATH_TO_BGINFO4X_DIRECTORY && ./BGINFO4X.sh"
      • Save the entry, and close the Startup Applications.
  • Configuring BGINFO4X

    • With BGIFNO4X Server, the wallpaper is always detected automatically.
    • With BGINFO4X Client, depending of your LinuxMint version, the wallpaper couldn't be detected automatically. If nothing is printed, edit and replace in IMMODE.CONF->CLIENT WALLPAPERS section->LINUX_GET/LINUX_SET by the values located in IMMODE.CONF->SERVER WALLPAPERS section->LINUX_YOURVERSION_GET/LINUX_YOURVERSION_SET.

Installing BGINFO4X on CentOS

  • Backup your previous version of BGINFO4X in a safe place

    • Backup your CUSTOM/CONF folder.
    • Backup your CUSTOM/CLIENT/LINUX folder.
    • Remove the old installation:
      • $ rm -rf /usr/local/bin/BGINFO4X
  • Install BGINFO4X

    • On a Unix Terminal, install the prerequisites:

      • $ sudo yum install ImageMagick
      • $ If you want to use the RTMODE, compile Root-tail from Source as explained in the Cygwin section->Install Root-tail (RTMODE).
    • Download the latest version of BGINFO4X.

    • Copy the downloaded file to a'/tmp' folder.

    • On a Unix Terminal, install BGINFO4X:

      • $ cd /tmp
      • $ tar xvfz "Last version of BGINFO4X.tar.gz"
      • $ sudo mv BGINFO4X /usr/local/bin (Install it in a System-wide Administration Folder)
      • $ cd /usr/local/bin/BGINFO4X
    • Restore your backed-up data (CUSTOM/CONF and CUSTOM/CLIENT/LINUX).

    • Start the main program:

      • $ ./BGINFO4X.sh
  • Starting the program automatically

  • Configuring BGINFO4X

    • With BGIFNO4X Server, the wallpaper is always detected automatically.
    • With BGINFO4X Client, depending of your CentOS version, the wallpaper couldn't be detected automatically. If nothing is printed, edit and replace in IMMODE.CONF->CLIENT WALLPAPERS section->LINUX_GET/LINUX_SET by the values located in IMMODE.CONF->SERVER WALLPAPERS section->LINUX_YOURVERSION_GET/LINUX_YOURVERSION_SET.

Installing BGINFO4X on SUSE

  • Backup your previous version of BGINFO4X in a safe place

    • Backup your CUSTOM/CONF folder.
    • Backup your CUSTOM/CLIENT/LINUX folder.
    • Remove the old installation:
      • $ rm -rf /BGINFO4X
  • Install BGINFO4X

    • On a Unix Terminal, install the prerequisites:

      • $ sudo zypper install imagemagick
      • $ sudo zypper install root-tail
    • Download the latest version of BGINFO4X.

    • Copy the downloaded file to a'/tmp' folder.

    • On a Unix Terminal, install BGINFO4X:

      • $ cd /tmp
      • $ tar xvfz "Last version of BGINFO4X.tar.gz"
      • $ sudo mv BGINFO4X /usr/local/bin (Install it in a System-wide Administration Folder)
      • $ cd /usr/local/bin
    • Restore your backed-up data (CUSTOM/CONF and CUSTOM/CLIENT/LINUX).

    • Start the main program:

      • $ ./BGINFO4X.sh
  • Starting the program automatically

  • Configuring BGINFO4X

    • With BGIFNO4X Server, the wallpaper is always detected automatically.
    • With BGINFO4X Client, depending of your SUSE version, the wallpaper couldn't be detected automatically. If nothing is printed, edit and replace in IMMODE.CONF->CLIENT WALLPAPERS section->LINUX_GET/LINUX_SET by the values located in IMMODE.CONF->SERVER WALLPAPERS section->LINUX_YOURVERSION_GET/LINUX_YOURVERSION_SET.

Installing BGINFO4X on ARM (RaspberryPI)

  • Backup your previous version of BGINFO4X in a safe place

    • Backup your CUSTOM/CONF folder.
    • Backup your CUSTOM/CLIENT/LINUX folder.
    • Remove the old installation:
      • $ rm -rf /usr/local/bin/BGINFO4X
  • Install BGINFO4X

    • On a Unix Terminal, install the prerequisites:

      • $ sudo apt-get install imagemagick
      • $ sudo apt-get install root-tail
    • Download the latest version of BGINFO4X.

    • Copy the downloaded file to a'/tmp' folder.

    • On a Unix Terminal, install BGINFO4X:

      • $ cd /tmp
      • $ tar xvfz "Last version of BGINFO4X.tar.gz"
      • $ sudo mv BGINFO4X /usr/local/bin (Install it in a System-wide Administration Folder)
      • $ cd /usr/local/bin/BGINFO4X
    • Restore your backed-up data (CUSTOM/CONF and CUSTOM/CLIENT/LINUX).

    • Start the main program:

      • $ ./BGINFO4X.sh
  • Starting the program automatically

  • Configuring BGINFO4X

    • With BGIFNO4X Server, the wallpaper is always detected automatically.
    • With BGINFO4X Client, depending of your ARM (RASPBERRYPI) version, the wallpaper couldn't be detected automatically. If nothing is printed, edit and replace in IMMODE.CONF->CLIENT WALLPAPERS section->LINUX_GET/LINUX_SET by the values located in IMMODE.CONF->SERVER WALLPAPERS section->LINUX_ARM_GET/LINUX_ARM_SET.

Installing BGINFO4X on Cygwin

Notes:

  • If you are a normal user, install BGINFO4X as explained earlier.

  • Installing BGINFO4X on Cygwin is only useful if you want to use the RTMODE, or if you already have Cygwin installed, normally on a Server.

  • If you want to monitor a remote BGINFO4X, you can install VcXsrv from http://sourceforge.net/projects/vcxsrv/


  • Install Cygwin/X

Cygwin/X is installed via Cygwin's setup.exe (administration permissions are required) and the installation process is documented in the Cygwin/X User's Guide. Whether or not you already have Cygwin installed, you can add Cygwin/X to your installation by downloading the latest setup.exe, running setup, and selecting the required packages. Check for detailed instructions in http://x.cygwin.com/ (Downloading and Installing).

  • Add the following Cygwin/X Extra Packages

    • X11: (contains the XServer package)
      BGINFO4X for Windows - Cygwin Setup - X11 Package

    • ImageMagick: (contains the ImageMagick package)
      BGINFO4X for Windows - Cygwin Setup - ImageMagick Package

    • sysvinit: (contains the necessary pidof command)
      BGINFO4X for Windows - Cygwin Setup - SysVinit Package

    • psmisc: (contains the necessary killall command)
      BGINFO4X for Windows - Cygwin Setup - PSmisc Package

    • Add the required recommended dependencies:
      BGINFO4X for Windows - Cygwin Setup - Resolving Dependencies

  • Install Root-tail (RTMODE)

    • Compile Root-tail from Source: Download it from http://oldhome.schmorp.de/marc/root-tail.html or http://www.goof.com/pcg/marc/root-tail.html. Copy the downloaded file to a Cygwin '/tmp' folder (C:\cygwin\tmp).

    • Open a Cygwin Terminal:

      • $ cd /tmp
      • $ tar xvfz root-tail-1.2.tar.gz
      • $ cd root-tail-1..2
      • $ xmkmf -a

      Notes about xmkmf: Programs which use the X Windowing System, in addition to needing to know which UNIX features are available, also need to know certain facts about the X installation. These include such things as the locations of X header and library files, programs, fonts, and the font file format used. Rather than having each X program needing its own configure script to search for this information, the X Windowing System takes a different approach. X installations come with a program called xmkmf, which stands for `X-MaKe-MakeFile'. This program knows the answers to all the typical questions asked by X program distributions. It reads a Makefile template which contains slots where these answers need to be filled in, and from it generates a Makefile.

      • $ make
      • $ make install
      • $ make install.man
    • Now root-tail is installed and ready to use. Check it:

      • $ which root-tail

        /usr/bin/root-tail

      Notes about root-tail: Installing root-tail from Cygwin-Ports is not supported. Basically, the port is not created. If you know how to create the port, please create it. Community will thanks to you.

  • Backup your previous version of BGINFO4X in a safe place

    • Backup your CUSTOM/CONF folder.
    • Backup your CUSTOM/CLIENT/CYGWIN folder.
    • Remove the old installation:
      • $ rm -rf /usr/local/bin/BGINFO4X
  • Install BGINFO4X

    • Download the latest version of BGINFO4X.
    • Copy the downloaded file to a'/tmp' folder.

    • On a Unix Terminal, install BGINFO4X:

      • $ cd /tmp
      • $ tar xvfz "Last version of BGINFO4X.tar.gz"
    • $ mv BGINFO4X /usr/local/bin (Install it in a System-wide Administration Folder)
    • $ cd /usr/local/bin/BGINFO4X

    • Restore your backed-up data (CUSTOM/CONF and CUSTOM/CLIENT/CYGWIN).

    • Start the main program:

      • $ ./BGINFO4X.sh
  • Starting the program automatically

    • To start the program automaticaly each time a user logon:
      • Create a shortcut of the file 3rdParty/BGINFO4X.bat. Put it in your All Users Startup Folder.
    • To start the program automaticaly Hidden each time a user logon:
      • Copy 3rdParty/nircmd.exe to C:\Windows.
      • Create a shortcut of the file 3rdParty/BGINFO4X-hiddenconsole.bat. Put it in your All Users Startup Foler.
  • Configuring BGINFO4X

    • With BGIFNO4X Server, the wallpaper is always detected automatically.
    • With BGINFO4X Client, depending of your Cygwin version, the wallpaper couldn't be detected automatically. If nothing is printed, edit and replace in IMMODE.CONF->CLIENT WALLPAPERS section->CYGWIN_GET/CYGWIN_SET by the values located in IMMODE.CONF->SERVER WALLPAPERS section->CYGWIN_YOURVERSION_GET/CYGWIN_YOURVERSION_SET.

Installing BGINFO4X on BSD

  • Backup your previous version of BGINFO4X in a safe place

    • Backup your CUSTOM/CONF folder.
    • Backup your CUSTOM/CLIENT/LINUX folder.
    • Remove the old installation:
      • $ rm -rf /usr/local/bin/BGINFO4X
  • Install BGINFO4X

    • On a Unix Terminal, install the prerequisites:

      • $ pkg install ImageMagick
      • $ pkg install roottail
    • Download the latest version of BGINFO4X.

    • Copy the downloaded file to a'/tmp' folder.

    • On a Unix Terminal, install BGINFO4X:

      • $ cd /tmp
      • $ tar xvfz "Last version of BGINFO4X.tar.gz"
      • $ sudo mv BGINFO4X /usr/local/bin (Install it in a System-wide Administration Folder)
      • $ cd /usr/local/bin/BGINFO4X
    • Restore your backed-up data (CUSTOM/CONF and CUSTOM/CLIENT/LINUX).

    • Start the main program:

      • $ ./BGINFO4X.sh
  • Starting the program automatically

  • Configuring BGINFO4X

    • With BGIFNO4X Server, the wallpaper is always detected automatically.
    • With BGINFO4X Client, depending of your BSD version, the wallpaper couldn't be detected automatically. If nothing is printed, edit and replace in IMMODE.CONF->CLIENT WALLPAPERS section->BSD_GET/BSD_SET by the values located in IMMODE.CONF->SERVER WALLPAPERS section->BSD_YOURVERSION_GET/BSD_YOURVERSION_SET.

Exporting Options

HTML Report

By default, the BGINFO4X data is exported to an HTML Report (HTMLEXPORT="YES").

BGINFO4X - HTML Report

To save all the BGINFO4X data loops (BGID), you need to change the variable HTMLDELETE="NO".
If you want to change some other behaviour, or some color, logo, ... please check the export options.

CSV File

BGINFO4X data can also be exported to a CSV file, easily opened with any spreadsheet.

To export your data to a CSV file, you need to change the variable CSVEXPORT="YES".
If you want to change some other behaviour, or some color, logo, ... please check the export options.

SQLITE Database

BGINFO4X data can be inserted into a SQLITE3 database. This can be useful in embbedded systems, industrial machines, or any server where you want to log data.

By default, sqlite3 and SqliteStudio GUI is installed on the Windows version. In this manner, you can easily deploy the sqlite solution.

BGINFO4X - SqliteStudio

To export your data to a SQLITE database, you need to change the variable SQLITEEXPORT="YES".
If you want to change some other behaviour, or some color, logo, ... please check the export options.


FAQ: Frequently Asked Questions

How do I customize my installation ?

In the CUSTOM/CONF folder of your installation, you will find the main files that can be customized.
Find more information here.

In the CUSTOM/CLIENT folder of your installation, you will find the functions files for your operating system.
Find more information here.

How can I backup my configuration ?

It is very easy, backup your CUSTOM folder in a safe place.

How can I restore my configuration ?

It is very easy, restore your CUSTOM folder to the installation folder.

How can I upgrade BGINFO4X ?

Download the latest BGINFO4X release. Backup your CUSTOM folder.
Install BGINFO4X for your operating system. Find more information here.
Restore your CUSTOM folder.

Can I use network shares or UNC paths to store the BGINFO4X installation ?

This is not supported and not recommended, and basically it depends of your network speed and the I/O of your remote disks. To test it, copy the install folder BGINFO4X on the remote server, share it, and execute the BGINFO4X launcher on the clients.

The network paradigm must be solved with BGINFO4X Server, not with network shares or UNC paths.

In IMMODE, nothing happens, no wallpaper/background is written

This happens if the wallpaper can't be get or set.
Use the CUSTOM/CONF/IMMODE.CONF file, and locate the values $OSFAMILY_GET/$OSFAMILY_SET.
Then find the command for your distro that can get/set the wallpaper.

* For example, in UBUNTU 11.x or lower:

    UBUNTU_GET="gconftool-2 --get /desktop/gnome/background/picture_filename"
    UBUNTU_SET="gconftool-2 --type string --set /desktop/gnome/background/picture_filename $WALLPAPER"

* For example, in UBUNTU Unity:

    UBUNTU_GET="gconftool-2 --get /desktop/gnome/background/picture_filename"
    UBUNTU_SET="gsettings set org.gnome.desktop.background picture-uri file://$WALLPAPER"

The variable $WALLPAPER is obtained by the program if the get is well done. 
Share your comments/problems: use the [Forums](http://sourceforge.net/p/bginfo4x/discussion/)     
or open a [Ticket](http://sourceforge.net/p/bginfo4x/tickets/).

**Note**: If CORPORATEWALLPAPER=NO (not set), then the folder of your wallpaper must be writable! 
Do a sudo chmod 777 -R to the folder or assign the necessary permissions.

How can I launch BGINFO4X only one time, after the user login ?

Edit your BGINFO4X.CONF custom file, and search for the variable STOPLOOP.
Assign the value STOPLOOP="1". BGINFO4X will stop just after the first loop.

How can I stop BGINFO4X after a number of loops ?

As explained earlier, the variable STOPLOOP will stop BGINFO4X just after the desired loop number.
The wallpaper will be printed and then BGINFO4X will be stopped.

For example, if you want to stop just after loop number 5, use STOPLOOP="5".
Assign STOPLOOP="0", for an endless loop of BGINFO4X. This is the default and recommended option.

How can I reload BGINFO4X immediately ?

To check the effect of any CONF parameter changed, you can issue the following commad:

> ./BGINFO4X.sh --reload

This commad reloads BGINFO4X immediately, killing the sleep timer, and reloading all the config files.

Can I use Solid Colors, Gradients or Plasma?

Yes, use the CORPORATESOLIDCOLOR="YES" tunable and the CORPORATESOLIDCOLORTYPE that you want: "SOLID COLOR (CANVAS), GRADIENT, PLASMA".

Note: On BGCLIENT you must provide the size of the resulting wallpaper (match your screen resolution for best results). On BGSERVER that should be automatically.

For example:

  • To use Solid Colors or CANVAS:

CORPORATESOLIDCOLORTYPE="-size 1280x1024 canvas:tomato"

BGINFO4X for Windows - Solid Color Tomato

CORPORATESOLIDCOLORTYPE="-size 1280x1024 canvas:red"

BGINFO4X for Windows - Solid Color Red

  • To use Gradients:

CORPORATESOLIDCOLORTYPE="-size 1280x1024 gradient:green-yellow"

BGINFO4X for Windows - Gradient Yellow Green

CORPORATESOLIDCOLORTYPE="-size 1280x1024 gradient:white-blue"

BGINFO4X for Windows - Gradient White Blue

  • To use Plasma or Plasma Gradient:

CORPORATESOLIDCOLORTYPE="-size 1280x1024 plasma:yellow-red"

BGINFO4X for Windows - Plasma Yellow Red

CORPORATESOLIDCOLORTYPE="-size 1280x1024 plasma:yellow-green"

BGINFO4X for Windows - Plasma Yellow Green

Be aware that Gradient and Plasma are high cpu intensive.
Find more information here

Can I use shadows?

You can use shadows only for your HEADER. Edit the following variable in IMMODE.CONF:

DRAW_HEADERFILE="-fill white -draw \\"text -3,-3 ' BGINFO4X for Windows !'\\""

BGINFO4X for Windows - Header Shadow

Note: Match the text with the text of your HEADER.CONF. GRAVITY_HEADERFILE tunable must be set to some value as "NorthWest".

Can I use a transparent shadow?

You can use a transparent shadow as a background rectangle.

BGINFO4X for Windows - BGINFO4X Transparency

For exemple, to create a transparent HEADER, edit the following variable in IMMODE.CONF:
BACKGROUND_HEADERFILE="rgba(0,255,255,0.25)"

For exemple, to create a transparent OUTFILE, edit the following variable in IMMODE.CONF:
BACKGROUND_HEADERFILE="rgba(0,255,255,0.25)"

Play with RGB and the alpha channel (transparency).

Can I use Font Formatting like Colors, Sizes, Bold, and other Attributes?

You can use Pango as an HTML Markup language. Find more information about the attributes here

Edit the following variables in IMMODE.CONF:

CONVERT_DIRECTIVE_OUTFILE="pango" #Uses pango
GRAVITY_OUTFILE="East" #Lets You justify the text to the left.
GRAVITY_OUTFILE="NorthWest" #Lets You justify the text to the right.

In CUSTOM/CLIENT/WINDOWS, find the file OUT-PANGO.CONF as an example about how to format the functions.

See the results:
BGINFO4X for Windows - Pango Formatting.

When I use Remote Desktop, the Wallpaper/Background is not changed

If you use RDP against a remote machine, and you can not see the background, there are two things that you need to check.

  • First off, your RDP client (Remote Desktop Connection client) must have the remote wallpaper setting enabled. For example, in XP, open the Remote Desktop Connection file and click the Experience tab. Place a check in the option Desktop background. This allows the client to see enabled desktop wallpapers. Logoff and logon again.

  • Second, if you work in a company, check for Group Policy. Now browse to Local Computer Policy -> Computer Configuration -> Administrative Templates -> Windows Components -> Terminal Services. From the list, modify: Always show desktop on connection to Enabled and Enforce Removal of Remote Desktop Wallpaper to Disabled.

Log out of your remote desktop connection and login again, making sure your RDP client has desktop wallpaper enabled. Now you should be able to right click the desktop and apply wallpaper normally. If this is the case, BGINFO4X for Windows can work as expected, and the wallpaper will be changed on the RDP session.

How to tail a file as the original roo-tail does ?

To tail a file you can use the CUSTOM functions scripts:
Edit the file CUSTOM/$OSFAMILY/SCRIPT.CONF: uncomment the line CUSTOM/FUNCTIONS/$OSFAMILY/Script2.sh

The Script2.sh has the main functionallity to tail a file on your screen.
To find the value of the variable TAILID, use RTMODE and check it in the debug.out file.
This script is distibuted as an example, and is not directly supported by BGINFO4X.

The Script1.sh only tests that Script2.sh tails a file. Uncomment it when tested.

Note: To tail a file the recommended MODE is IMMODE. If RTMODE is used, some extra flickers can occur on the screen, but it works equally.

Is it necessary to have X-Windows installed to run BGINFO4X ?

No, it's not. You can execute BGINFO4X on a machine without using X-WINDOWS, and see the output locally or on a remote machine (this is useful if you have an industrial machine or an embedded system).

To see the output locally, check for the EXPORT files: HTML Report, CSV file or SQLITE database.

To see the output on a remote machine, you need an X-Server started and the "xhost +" command issued. Note: to see the output on a remote machine you need to use RTMODE.

How can I configure BGINFO4X to send data to a remote station ?

  • On the client machine, where you run BGINFO4X:

    • Edit the BGINFO4X.CONF file: MODE=RTMODE. IMMODE can't send data to remote machine..
    • Edit the RTMODE.CONF file:
      • REMOTEDISPLAY="YES". If you want to export your DISPLAY to a REMOTE MACHINE use "YES". For LOCAL root-tail use "NO".
      • REMOTEDISPLAYIP="REMOTEIP:0.0". Ip address and screnn where you want to send the root-tail. The display can be exported to any IP address where XServer is running.
    • Start BGINFO4X: ./BGINFO4X.sh
  • On the remote machine, if you are using Windows, install an X-Server:

    • Install VcXsrv.
    • Do a default install. If you receive a firewall alert, accept it and open the ports.
    • Start the X Server:
      Executing VcXsrv
    • See the output:
      VcXsrv - Remote Display
  • On the remote machine, if you have Cygwin/X installed:

    • Edit the file C:\cygwin\etc\X11\system.XWinrc. Search the "menu apps" and add the following sentences:

      • menu apps {
        BGINFO4X-HTML_Report exec "/usr/bin/cygstart -o /BGINFO4X/EXPORT/BGINFO4X.html"
        BGINFO4X-Remote_Display exec "/usr/bin/xhost +"
        BGINFO4X-Xclock_Test exec "/usr/bin/xclock -display localhost:0.0"
        }
    • Open a Cygwin Terminal and Start the X-Win Server :

      • $ /bin/run.exe -p /usr/X11R6/bin XWin -clipboard -screen 0 600x480+400+300 -swcursor -lesspointer -hostintitle -resize=randr -emulate3buttons -silent-dup-error
    • Right Click on the X-Win Server Icon and enable the Remote Display:
      BGINFO for Windows - Enabling Remote Display

    • See the output:
      BGINFO for Windows - Showing Remote Display on Windows

Can I use BGINFO4X locally and displaying also the result of a remote machine ?

You can do this only if your local BGINFO4X is using IMMODE. If RTMODE is used, both outputs (local and remote) will be overlapped.

To display the result of a remote machine, you need an X-Server installed and correctly configured (xhost+ enabled) as explained earlier.


In which language is BGINFO4X programmed ?

BGINFO4X uses Bash as a default language.

Bash was chosen due to their ubiquity on different platfforms, even on embeded systems.

Can I use Bash with Windows ?

  • Yes. To use the Bash Shell, doble-click on the BGINFO4X Bash Shell.bat and a new bash window will appear.
    BGINFO4X - Windows Bash Shell

  • The BGINFO4X for Windows is a portable edition of MSYS (Mynimal System) where:

    • You have a native Bash Shell environment, with all the powerful of the traditional unix tools (bash, sed, awk, ...).
    • You can administer your Windows box as a linux/unix machine, without any kind of emulation.

Can I use PowerShell with BGINFO4X ?

Yes, you can use powershell to output your usual functions(OUT.CONF,ALARM.CONF) or as a separated script launched by the BGINFO4X Scripting Module(SCRIPT.CONF).

  • For example, to output (Win32_Computersystem information) your functions, edit the corresponding OUT.CONF (CUSTOM/CLIENT/WINDOWS/OUT.CONF). Add a line like:

    PowerShell Works: X | powershell -Command "& {get-wmiObject Win32_Computersystem | Format-Table Model}" | tail -n3

    You will get an output on the screen like this one:
    BGINFO4X - Windows PowerShell Output

  • For example, to alarm (GetEventLog by EventID) your functions , edit the corresponding ALARM.CONF (CUSTOM/CLIENT/CYGWIN/ALARM.CONF). Add a line like:

    Alarm EventID10009: X if [ "]echo "\n" | powershell -Command '& Get-EventLog System -Entrytype Error | Where-Object {$_.EventID -match 10009}' | wc -l" -eq 0 ; then echo ""; exit 0; else echo "echo "\n" | powershell -Command '& Get-EventLog System -Entrytype Error | Where-Object {$_.EventID -match 10009}'"; exit 1; fi

    Note: echo "\n" is necessary to return the prompt to the cygwin shell if you are using CYGWIN.

  • For example, to launch a Powershell script, edit the corresponding SCRIPT.CONF (CUSTOM/CLIENT/WINDOWS/SCRIPT.CONF). Add a line like:

    powershell CUSTOM/CLIENT/WINDOWS/Script4-powershell.PS1 &

    You will get an output on the console like this one:

    Index Time EntryType Source InstanceID Message
    ----- ---- --------- ------ ---------- -------
    81056 ene 11 11:21 Error DCOM 3221235481 Can't find ...

Note: To permit the use of Powershell scripts on your system. execute a cmd (runas an Administrator):
> Powershell Set-ExecutionPolicy Unrestricted

Note: If you want some interactive answer, remove the background command "&", but be aware that BGINFO4X will wait until a response is done or the program exits.

Can I use Windows Scripting Host (WHS) or Visual Basic Script (VBScript) with BGINFO4X ?

Yes, you can use WHS/VBScript for output your functions(OUT.CONF,ALARM.CONF) or as a separated script launched by the BGINFO4X Scripting Module(SCRIPT.CONF).

  • CScript(command script) is supported for output your funcions and by the BGINFO4X Scripting Module:

    • For example, to output your functions with CScript, edit the corresponding OUT.CONF (CUSTOM/CLIENT/WINDOWS/OUT.CONF). Add a line like:

    CScript Works: X cscript //NoLogo CUSTOM/CLIENT/WINDOWS/Script3-cscript.vbe

    You will get an output on the screen like this one:
    BGINFO4X - Windows Scripting Output

    • For example, to launch a CScript script, edit the corresponding SCRIPT.CONF (CUSTOM/CLIENT/WINDOWS/SCRIPT.CONF). Add a line like:

    cscript //NoLogo CUSTOM/CLIENT/WINDOWS/Script3-cscript.vbe &

    You will get an output on the console like this one:

    Hello, I'm BGINFO4X via Windows Scripting Host - CScript

Note: If you want some interactive answer, remove the background command "&", but be aware that BGINFO4X will wait until a response is done or the program exits.

  • WScript(windows script) is only supported by the BGINFO4X Scripting Module:

For example, to launch a WScript script, edit the corresponding SCRIPT.CONF (CUSTOM/CLIENT/WINDOWS/SCRIPT.CONF). Add a line like:

> wscript CUSTOM/CLIENT/WINDOWS/Script4-wscript.vbe &

You will get an output on the console like this one:

BGINFO4X - WScript (VBScript) Output Output")

Note: If you want some interactive answer, remove the background command "&", but be aware that BGINFO4X will wait until a response is done or the program exits.

Note: Using WScript works, but can generate some fork issues if messageboxs are not pressed. Use a TIMEOUT to terminate them before BGINFO4X loops or ask the cause to the forums.

Can I use Windows Scripting - JScript with BGINFO4X ?

Yes, JScript is supported. See the WHS FAQ as example.

Can I use Windows Management Instrumentation (WMI) with BGINFO4X ?

Yes, you can use Windows Management Instrumentation (WMI). You can also use WMI with PowerShell or with Windows Scripting Host (Visual Basic Script), as explained before.

You can also use WMIC, as explained here:

http://4x4w.blogspot.com.es/2013/12/wmi-commands-with-bginfo4x.html

Can I use Windows Registry Functions with BGINFO4X ?

Yes, you can use Windows Registry Functions for output your functions(OUT.CONF,ALARM.CONF) or as a separated script launched by the BGINFO4X Scripting Module(SCRIPT.CONF).

reg ADD "HKEY_CURRENT_USER\Software\Microsoft\Notepad" //v StatusBar //d 5 //f

The main tool used is the regtool provided by cygwin. For more information refer to: regtool -h or http://cygwin.com/cygwin-ug-net/using-utils.html#regtool

For example, to get a registry value and output on the screen, edit the corresponding OUT.CONF (CUSTOM/FUNCTIONS/CYGWIN/OUT.CONF). Add a line like:

> Get Registry Value: X regtool.exe -w -v get "/HKEY_CURRENT_USER/Software/Microsoft/Notepad/StatusBar"

You will get an output on the console like this one:

BGINFO4X - WScript (VBScript) Output Output")

For example, to set a value launching an Script, add an entry in SCRIPT.CONF (CUSTOM/FUNCTIONS/CYGWIN/SCRIPT.CONF). Add a line like:

> CUSTOM/FUNCTIONS/$OSFAMILY/Script7-registry.sh &

The content of this script is similar to:

> regtool.exe -w -v set "/HKEY_CURRENT_USER/Software/Microsoft/Notepad/StatusBar" 1 &

Can I use PERL with BGINFO4X ?

Yes, you can use PERL for output your functions(OUT.CONF,ALARM.CONF) or as a separated script launched by the BGINFO4X Scripting Module(SCRIPT.CONF).

  • For example, to output your functions in UBUNTU, edit the corresponding OUT.CONF (CUSTOM/FUNCTIONS/UBUNTU/OUT.CONF). Add a line like:

    PERL Works: X perl CUSTOM/CLIENT/LINUX/Script3.pl

    You will get an output on the screen like this one:
    BGINFO4X - Perl Scripting Output

  • For example, to launch a PERL script in UBUNTU, edit the corresponding SCRIPT.CONF (CUSTOM/FUNCTIONS/UBUNTU/SCRIPT.CONF). Add a line like:

    perl CUSTOM/CLIENT/LINUX/Script7.pl &

    You will get an output on the console like this one:

    Hello, I'm BGINFO4X via PERL.

    Note: If you want some interactive answer, remove the background command "&", but be aware that BGINFO4X will wait until a response is done or the program exits.

Can I use Python with BGINFO4X?

Yes, you can use Python if it is installed. Take the PERL FAQ as example.
If you need some assistance, ask the forum for help.

Can I use KiXtart scripting with BGINFO4X?

Yes, you can use KiXtart if it is installed. Take the PERL FAQ as example.
If you need some assistance, ask the forum for help.

Can I use AutoIt scripting with BGINFO4X?

Yes, you can use AutoIt if it is installed. Take the PERL FAQ as example.
If you need some assistance, ask the forum for help.

Can I use AutoHotkey scripting with BGINFO4X?

Yes, you can use AutoHotkey if it is installed. Take the PERL FAQ as example.
If you need some assistance, ask the forum for help.

Can I use AppleScript (osascript) for MAC with BGINFO4X ?

BGINFO4X uses osascript itself to GET/SET the Wallpaper, so the AppleScript is fully supported.

Can I use other scripting languages with BGINFO4X ?

Yes, you can use them if they are installed. Take the PERL FAQ as example.
If you need some assistance, ask the forum for help.

Can I use other tools like SNMP ?

Yes, you can use any tool capable of output something in a console.
The tool can be an external tool or a proprietary developed tool.



The BGINFO4X Tunables

Remember: Values comes always between quotes. First value is the Default.

General Settings

Tunable Possible values Explanation
SECUREMODE "OFF" / "ON" Show / Don't show information on the screen.
MODE "IMMODE" / "RTMODE" / "BOTH" ImageMagick Mode / Root-tail Mode / Both Modes.
TIMER "45" / "[0-infinite]" Timer (in seconds) between refresh screens.
STOPLOOP "0" / "[0-loopNumber]" Stop BGINFO4X after the desired loop number. 0-Don't stop.
IMORDER "HEADER-OUT-ALARM / "*" Order of the output. Combine HEADER;OUT;ALARM in any order. Remember the dash separator.
IMHEADEROUT "ON" / "OFF" Show/Don't show HEADER on the screen.
IMOUTOUT "ON" / "OFF" Show / Don't show OUT Functions on the screen.
IMALARMOUT "ON" / "OFF" Show / Don't show ALARM Functions on the screen.
IMSCRIPTOUT "ON" / "OFF" Enable / Disable execution of SCRIPTS.

Export Options

Tunable Possible values Explanation
DATEFORMATEXPORT "+[%F][%H:%M:%S:%N]" / "*" Date format for the exporting functions.
EXPORTFOLDER "EXPORT" / "*" Export folder (don't finish it with /).
HTMLEXPORT "YES" / "NO" Export / don't export to HTML.
HTMLDELETE "NO" / "YES" Don't save all historic data.
HTMLFILE "BGINFO4X.html" / "*" HTML file name.
HTMLDIVFILE "BGINFO4Xdiv.html" / "*" HTMLDIV file name.
HTMLLOGOFILE "../BASE/IMAGES/BGINFO4X-Camel50x50.gif" / "*" HTML logo for the report.
HTMLCOLORROW1 "#FFA189" / "*" HTML COLOR for the odd rows.
HTMLCOLORROW2 "#FFD3C9" / "*" HTML COLOR for the even rows.
HTMLCOLOROUT "#24ca46" / "*" HTML COLOR for the OUT rows.
HTMLCOLORALARM "#FF0000" / "*" HTML COLOR for the ALARM rows.
HTMLCOLORSCRIPT "#3399CC" / "*" HTML COLOR for the SCRIPT rows.
CSVEXPORT "NO" / "YES" Export / don't export to CSV.
CSVDELETE "NO" / "YES" Save all historic data.
CSVSEPARATOR "#" / "*" CSV separator.
CSVOUTFILE "BGINFO4XOUT.csv" / "*" CSV file for the OUT functions.
CSVALARMFILE "BGINFO4XALARM.csv" / "*" CSV file for the ALARM functions.
CSVSCRIPTFILE "BGINFO4XSCRIPT.csv" / "*" CSV file for the SCRIPT functions.
SQLITEEXPORT "NO" / "YES" Export / don't export to sqlite3.
SQLITESEPARATOR "#" / "*" SQLITE separator.
SQLITEFILE "BGINFO4XSQLITE.sql" / "*" SQLITE import file.
SQLITEDB "BGINFO4XSQLITE.db" / "*" SQLITE database is created or opened if exists.
SQLITETB "bginfo4x" / "*" SQLITE table name.

Imaging Options

Tunable Possible values Explanation
CORPORATEWALLPAPERFILE "${PWD}/CUSTOM/IMAGES/GNOME-Happygnome_1280x1024.jpg" / "*" Corporate Wallpaper filename.
CORPORATEWALLPAPER "YES" / "NO" Force the use of a Corporate Wallpaper.
CORPORATELOGOFILE "${PWD}/BASE/IMAGES/BGINFO4X-Camel50x50.gif" / "*" Corporate Logo filename.
CORPORATELOGO "YES" / "NO" Force the use of a Corporate Logo.
CORPORATELOGO_GRAVITY "NorthWest" / "None, Center, East, Forget, NorthEast, North, NorthWest, SouthWest, South, SouthEast, West" To print a complete list use convert -list gravity option or http://www.imagemagick.org/script/command-line-options.php#gravity
CORPORATELOGO_XOFFSET "+0" / "*" http://www.imagemagick.org/script/command-line-options.php#geometry
CORPORATELOGO_YOFFSET "+0" / "*" http://www.imagemagick.org/script/command-line-options.php#geometry
ADDITIONALIMAGEFILE "${PWD}/BASE/IMAGES/BGINFO4X-MRTG.gif" / "*" Additional Image filename.
ADDITIONALIMAGE "NO" / "YES" Force the use of an Additional Image.
ADDITIONALIMAGE_ORDER "DOWN" / "UP" Additional image will be UP/DOWN respect to BGINFO4X.
ADDITIONALIMAGE_TILE "1x2" / "{cols}x{rows}" Tile order: vertical or horitzontal.
ADDITIONALIMAGE_BACKGROUND "none" / "*" http://www.imagemagick.org/script/color.phpcolor_names
CONVERT_DIRECTIVE "label" / "label;caption;draw;..." http://www.imagemagick.org/Usage/text/
BGWALLPAPER_GRAVITY "SouthEast" / "None, Center, East, Forget, NorthEast, North, NorthWest, SouthWest, South, SouthEast, West" To print a complete list use convert -list gravity option or http://www.imagemagick.org/script/command-line-options.php#gravity
BGWALLPAPER_XOFFSET "+0" / "*" http://www.imagemagick.org/script/command-line-options.php#geometry
BGWALLPAPER_YOFFSET "+50" / "*" http://www.imagemagick.org/script/command-line-options.php#geometry
FONT_HEADERFILE "Verdana-Italic" / "Any Installed Font" To print a complete list use convert -list font option.
FONT_OUTFILE "Verdana-Italic" / "*" To print a complete list use convert -list font option.
FONT_ALARMFILE "Verdana-Italic" / "*" To print a complete list use convert -list font option.
FILL_HEADERFILE "black" / "*" http://www.imagemagick.org/script/color.phpcolor_names
FILL_OUTFILE "white" / "*" http://www.imagemagick.org/script/color.phpcolor_names
FILL_ALARMFILE "gold" / "*" http://www.imagemagick.org/script/color.phpcolor_names
POINTSIZE_HEADERFILE "20" / "*" http://www.imagemagick.org/script/command-line-options.phppointsize
POINTSIZE_OUTFILE "11" / "*" http://www.imagemagick.org/script/command-line-options.phppointsize
POINTSIZE_ALARMFILE "10" / "*" http://www.imagemagick.org/script/command-line-options.phppointsize
DENSITY_HEADERFILE "96" / "*" http://www.imagemagick.org/script/command-line-options.phpdensity
DENSITY_OUTFILE "96" / "*" http://www.imagemagick.org/script/command-line-options.phpdensity
DENSITY_ALARMFILE "96" / "*" http://www.imagemagick.org/script/command-line-options.phpdensity
BACKGROUND_HEADERFILE "none" / "*" http://www.imagemagick.org/script/color.phpcolor_names
BACKGROUND_OUTFILE "none" / "*" http://www.imagemagick.org/script/color.phpcolor_names
BACKGROUND_ALARMFILE "none" / "*" http://www.imagemagick.org/script/color.phpcolor_names
STROKE_HEADERFILE "PaleGreen1" / "*" http://www.imagemagick.org/script/command-line-options.phpstroke
STROKE_OUTFILE "black" / "*" http://www.imagemagick.org/script/command-line-options.phpstroke
STROKE_ALARMFILE yellow / "*" http://www.imagemagick.org/script/command-line-options.phpstroke
STROKEWIDTH_HEADERFILE "3" / "*" http://www.imagemagick.org/script/command-line-options.phpstrokewidth
STROKEWIDTH_OUTFILE "1" / "*" http://www.imagemagick.org/script/command-line-options.phpstrokewidth
STROKEWIDTH_ALARMFILE "2" / "*" http://www.imagemagick.org/script/command-line-options.phpstrokewidth
GRAVITY_HEADERFILE "North" / "*" http://www.imagemagick.org/script/command-line-options.phpgravity
GRAVITY_OUTFILE "NorthWest" / "*" http://www.imagemagick.org/script/command-line-options.phpgravity
GRAVITY_ALARMFILE "NorthWest" / "*" http://www.imagemagick.org/script/command-line-options.phpgravity
SIZE_HEADERFILE "300x150" / "*" http://www.imagemagick.org/script/command-line-options.phpsize
SIZE_OUTFILE "600x300" / "*" http://www.imagemagick.org/script/command-line-options.phpsize
SIZE_ALARMFILE "350x175" / "*" http://www.imagemagick.org/script/command-line-options.phpsize
UNDERCOLOR_HEADERFILE "none" / "*" http://www.imagemagick.org/script/command-line-options.php
UNDERCOLOR_OUTFILE "none" / "*" http://www.imagemagick.org/script/command-line-options.php
UNDERCOLOR_ALARMFILE "none" / "*" http://www.imagemagick.org/script/command-line-options.php
BORDERCOLOR_HEADERFILE "none" / "*" http://www.imagemagick.org/script/command-line-options.phpbordercolor
BORDERCOLOR_OUTFILE "none" / "*" http://www.imagemagick.org/script/command-line-options.phpbordercolor
BORDERCOLOR_ALARMFILE "blue" / "*" http://www.imagemagick.org/script/command-line-options.phpbordercolor
BORDER_HEADERFILE "3" / "*" http://www.imagemagick.org/script/command-line-options.phpborder
BORDER_OUTFILE "1" / "*" http://www.imagemagick.org/script/command-line-options.phpborder
BORDER_ALARMFILE "3" / "*" http://www.imagemagick.org/script/command-line-options.phpborder
KERNING_HEADERFILE "2.5" / "*" http://www.imagemagick.org/script/command-line-options.phpkerning
KERNING_OUTFILE "1" / "*" http://www.imagemagick.org/script/command-line-options.phpkerning
KERNING_ALARMFILE "1.5" / "*" http://www.imagemagick.org/script/command-line-options.phpkerning
INTERWORD_SPACING_HEADERFILE "-" / "*" http://www.imagemagick.org/script/command-line-options.phpinterword-spacing
INTERWORD_SPACING_OUTFILE "-" / "*" http://www.imagemagick.org/script/command-line-options.phpinterword-spacing
INTERWORD_SPACING_ALARMFILE "-" / "*" http://www.imagemagick.org/script/command-line-options.phpinterword-spacing
INTERLINE_SPACING_HEADERFILE "-" / "*" http://www.imagemagick.org/script/command-line-options.phpinterline-spacing
INTERLINE_SPACING_OUTFILE "-" / "*" http://www.imagemagick.org/script/command-line-options.phpinterline-spacing
INTERLINE_SPACING_ALARMFILE "-" / "*" http://www.imagemagick.org/script/command-line-options.phpinterline-spacing
TRIM_HEADERFILE "-trim" / "*" http://www.imagemagick.org/script/command-line-options.phptrim
TRIM_OUTFILE "-trim" / "*" http://www.imagemagick.org/script/command-line-options.phptrim
TRIM_ALARMFILE "-trim" / "*" http://www.imagemagick.org/script/command-line-options.phptrim
REPAGE_HEADERFILE "+repage" / "*" http://www.imagemagick.org/script/command-line-options.phprepage
REPAGE_OUTFILE "+repage" / "*" http://www.imagemagick.org/script/command-line-options.phprepage
REPAGE_ALARMFILE "+repage" / "*" http://www.imagemagick.org/script/command-line-options.phprepage
DRAW_HEADERFILE "-" / "*" http://www.imagemagick.org/script/command-line-options.phpdraw
DRAW_OUTFILE "-" / "*" http://www.imagemagick.org/script/command-line-options.phpdraw
DRAW_ALARMFILE "-" / "*" http://www.imagemagick.org/script/command-line-options.phpdraw
ANNOTATE_HEADERFILE "-" / "*" http://www.imagemagick.org/script/command-line-options.phpannotate
ANNOTATE_OUTFILE "-" / "*" http://www.imagemagick.org/script/command-line-options.phpannotate
ANNOTATE_ALARMFILE "-" / "*" http://www.imagemagick.org/script/command-line-options.phpannotate
XC_HEADERFILE "transparent" / "*" http://www.imagemagick.org/script/command-line-options.phpdraw
XC_OUTFILE "-" / "*" http://www.imagemagick.org/script/command-line-options.phpdraw
XC_ALARMFILE "-" / "*" http://www.imagemagick.org/script/command-line-options.phpdraw
TILE_HEADERFILE "-" / "*" http://www.imagemagick.org/script/command-line-options.phptile
TILE_OUTFILE "-" / "*" http://www.imagemagick.org/script/command-line-options.phptile
TILE_ALARMFILE "-" / "*" http://www.imagemagick.org/script/command-line-options.phptile

Advanced Settings - Debug Options

Tunable Possible values Explanation
_DATEFORMAT "+[%F][%H:%M:%S:%N]" / "*" Date format for the debugging command date.
_POSIX "OFF" / "ON" Enable POSIX. Don't use this function, problems arise.
_SETVX "OFF" / "ON" Enable -VX bash option.
_DEBUG_HEADERSTART "ON" / "OFF" Enabling the debug for HEADERS.
_DEBUG_HEADERSTART_SCREEN "ON" / "OFF" Enabling the debug on terminal for HEADERS.
_DEBUG_HEADEREND "ON" / "OFF" Enabling the debug for HEADERS.
_DEBUG_HEADEREND_SCREEN "ON" / "OFF" Enabling the debug on terminal for HEADERS.
_DEBUG_INFO "ON" / "OFF" Enabling the debug for INFO.
_DEBUG_INFO_SCREEN "ON" / "OFF" Enabling the debug on terminal for INFO.
_DEBUG_WARNING "ON" / "OFF" Enabling the debug for WARNING.
_DEBUG_WARNING_SCREEN "ON" / "OFF" Enabling the debug on terminal for WARNING.
_DEBUG_ERROR "ON" / "OFF" Enabling the debug for ERROR.
_DEBUG_ERROR_SCREEN "ON" / "OFF" Enabling the debug on terminal for ERROR.
_DEBUGBG "ON" / "OFF" Enabling the debug for BGINFO4X.sh.
_DEBUGBG_SCREEN "ON" / "OFF" Enabling the debug on terminal for BGINFO4X.sh.
_DEBUGOF "ON" / "OFF" Enabling the debug for OF.sh.
_DEBUGOF_SCREEN "ON" / "OFF" Enabling the debug on terminal for OF.sh.
_DEBUGRT "ON" / "OFF" Enabling the debug for RT.sh.
_DEBUGRT_SCREEN "ON" / "OFF" Enabling the debug on terminal for RT.sh.
_DEBUGIM "ON" / "OFF" Enabling the debug for IM.sh.
_DEBUGIM_SCREEN "ON" / "OFF" Enabling the debug on terminal for IM.sh.
_DEBUGPM "ON" / "OFF" Enabling the debug for PM.sh.
_DEBUGPM_SCREEN "ON" / "OFF" Enabling the debug on terminal for PM.sh.
_DEBUGPMALL "ON" / "OFF" Enabling the debug for PMALL in PM.sh.
_DEBUGPMALL_SCREEN "ON" / "OFF" Enabling the debug on terminal for PMALL in PM.sh.
_DEBUGCS "ON" / "OFF" Enabling the debug for CS.sh.
_DEBUGCS_SCREEN "ON" / "OFF" Enabling the debug on terminal for CS.sh.
_DEBUGFT "ON" / "OFF" Enabling the debug for FT.sh.
_DEBUGFT_SCREEN "ON" / "OFF" Enabling the debug on terminal for FT.sh.
_DEBUGEX "ON" / "OFF" Enabling the debug for EX.sh.
_DEBUGEX_SCREEN "ON" / "OFF" Enabling the debug on terminal for EX.sh.
_DEBUGKA "ON" / "OFF" Enabling the debug for KA.sh.
_DEBUGKA_SCREEN "ON" / "OFF" Enabling the debug on terminal for KA.sh.
_DEBUGDB "ON" / "OFF" Enabling the debug for DB.sh.
_DEBUGDB_SCREEN "ON" / "OFF" Enabling the debug on terminal for DB.sh.

Advanced Settings - Functions Folders

Tunable Possible values Explanation
HEADERFILE "CUSTOM/FUNCTIONS/$OSFAMILY/HEADER.CONF" / "*" Header file.
FTOUTFILE "CUSTOM/FUNCTIONS/$OSFAMILY/OUT.CONF" / "*" Out functions file.
FTALARMFILE "CUSTOM/FUNCTIONS/$OSFAMILY/ALARM.CONF" / "*" Alarm functions file.
FTSCRIPTFILE "CUSTOM/FUNCTIONS/$OSFAMILY/SCRIPT.CONF" / "*" Script functions file.

Advanced Settings - Detecting Wallpapers

Tunable Explanation Command used
WINDOWS_GET Gets the wallpaper for the Operating System. Note that cut -d 'Z' cuts REG_SZ, and sed remove ALL the LEADING SPACES and TABS! "reg QUERY \"HKEY_CURRENT_USER\Control Panel\Desktop\" //v Wallpaper \
WINDOWS_SET Sets the wallpaper for the Operating System. "3rdParty/WallpaperChanger/WallpaperChanger.exe \"${WALLPAPER}\" 2 \"${GETWALLPAPERFOLDER}/\" ; cp \"${GETWALLPAPERFOLDER}\wallpaper.bmp\" \"${GETWALLPAPERFOLDER}\BG_$GETWALLPAPERFILE\" ; reg ADD \"HKEY_CURRENT_USER\Control Panel\Desktop\" //v Wallpaper //d \"${WALLPAPER}\" //f"
UBUNTU_GET Gets the wallpaper for the Operating System. "gconftool-2 --get /desktop/gnome/background/picture_filename"
UBUNTU_SET Sets the wallpaper for the Operating System. "gsettings set org.gnome.desktop.background picture-uri file://\"${WALLPAPER}\""
MACOSX_GET Gets the wallpaper for the Operating System. "defaults read com.apple.Desktop Background \ grep -m 1 \"ImageFilePath\" \ cut -d= -f2- \ sed 's/\"*//g' \ sed 's/;//g' \ sed 's/^ //g' "
MACOSX_SET Sets the wallpaper for the Operating System. "osascript -e \"tell application \\"Finder\\" to set desktop picture to POSIX file \\"${WALLPAPER}\\"\""
SUSE_GET Gets the wallpaper for the Operating System. "-"
SUSE_SET Sets the wallpaper for the Operating System. "-"
BSD_GET Gets the wallpaper for the Operating System. "-"
BSD_SET Sets the wallpaper for the Operating System. "-"
CYGWIN_GET Gets the wallpaper for the Operating System. "regtool.exe -w -v get \"/HKEY_CURRENT_USER/Control Panel/Desktop/Wallpaper\""
CYGWIN_SET Sets the wallpaper for the Operating System. "3rdParty/WallpaperChanger/WallpaperChanger.exe \"${WALLPAPER}\" 2 \"${GETWALLPAPERFOLDER}/\" ; cp \"${GETWALLPAPERFOLDER}/wallpaper.bmp\" \"${GETWALLPAPERFOLDER}/BG_$GETWALLPAPERFILE\" ; regtool.exe -w -v set \"/HKEY_CURRENT_USER/Control Panel/Desktop/Wallpaper\" \"${WALLPAPER}\""
RASPBERRYPI_GET Gets the wallpaper for the Operating System. "grep -i \"^wallpaper=\" $HOME/.config/pcmanfm/pi/pcmanfm.conf
RASPBERRYPI_SET Sets the wallpaper for the Operating System. "pcmanfm -w \"${WALLPAPER}\""
OTHEROS_GET If OTHER Operating System is found, gets the wallpaper specified by this command. "${UBUNTU_GET}"
OTHEROS_SET If OTHER Operating System is found, sets the wallpaper specified by this command. "${UBUNTU_SET}"
FORCE_WALLPAPER Force the use of the WALLPAPER. The WALLPAPER is found via the two next followings commands. "NO" / "YES"
FORCEOS_GET If NO Operating System is found, gets the wallpaper specified by this command. "mateconftool-2 --get /desktop/mate/background/picture_filename"
FORCEOS_SET If NO Operating System is found, sets the wallpaper specified by this command. "mateconftool-2 -t string -s /desktop/mate/background/picture_filename \"${WALLPAPER}\""

Advanced Settings - RTMODE - RT.SETTINGS

Tunable Possible values Explanation
CLSSCREEN "OFF" / "ON" Don't force / force and empty root-tail on the screen for cleaning it.
CLSSLEEP_AFTERRT "0" / "[0-3600]" Sleep seconds after killing RT (if exists): the screen should be cleaned.
CLSSLEEP_AFTERCLS "0" / "[0-3600]" Sleep seconds after printing an empty-sreen: the screen should be cleaned.
REMOTEDISPLAY "NO"/ "YES" If you want to export your DISPLAY to a REMOTE MACHINE use "YES". For LOCAL root-tail use "NO".
REMOTEDISPLAYIP "REMOTEIP:0.0" IP address and scren where you want to send the root-tail. The display can be exported to any IP address where XServer is running.
STARTXWIN_CYGWIN "/bin/run.exe -p /usr/X11R6/bin XWin -clipboard -screen 0 800x600+400+300 -swcursor -hostintitle -resize=randr -emulate3buttons -silent-dup-error" The command that launches the XWin server if the OS found is CYGWIN.
STARTXWIN_CYGWIN_DISPLAY "localhost:0.0" The display of the local cygwin XWin server.
STARTXWIN_CYGWIN_DELAY "5" / "[5-3600]" The necessary delay in seconds for starting XWin server with CYGWIN.

Advanced Settings - RTMODE - PM.POSITION

Tunable Possible values Explanation
POSITION "LU" / "LU"/"LD"/"LC"/"RU"/"RD"/"RC"/"MC"/"CUSTOM" L=Left; R=Right; U=Up; D=Down; MC=Middle Center
XAXISCUSTOM -50" Use this if CUSTOM is set.
YAXISCUSTOM +30" Use this if CUSTOM is set.
RTORDER HEADER-OUT-ALARM" / "HEADER-OUT-ALARM"/"HEADER-ALARM-OUT"/"OUT-HEADER-ALARM"/"OUT-ALARM-HEADER"/"ALARM-HEADER-OUT"/"ALARM-OUT-HEADER" Order of the output. Combine HEADER;OUT;ALARM in any order. Remember the dash separator.
RTHEADEROUT "ON" / "OFF" Show/Don't show HEADER on the screen.
RTOUTOUT "ON" / "OFF" Show/Don't show OUT Functions on the screen.
RTALARMOUT "ON" / "OFF" Show/Don't show OUT Functions on the screen.
RTSCRIPTOUT "ON" / "OFF" Enable/Disable execution of SCRIPTS.

Advanced Settings - RTMODE - PM.OPTIONS

Tunable Possible values Explanation
HEADERFILECOLOR "white" / "any color" Use COLOR for the HEADER. http://oldhome.schmorp.de/marc/root-tail.html
OUTFILECOLOR "blue" / "any color" Use COLOR fot the OUT. http://oldhome.schmorp.de/marc/root-tail.html
ALARMFILECOLOR "red" / "any color" User COLOR for the ALARM. http://oldhome.schmorp.de/marc/root-tail.html
WORDWRAP "YES" / "NO" http://oldhome.schmorp.de/marc/root-tail.html
JUSTIFY "YES" / "NO" http://oldhome.schmorp.de/marc/root-tail.html
MINSPACE "YES" / "NO" http://oldhome.schmorp.de/marc/root-tail.html
SHADE "NO" / "YES" http://oldhome.schmorp.de/marc/root-tail.html
OUTLINE "NO" /"YES" http://oldhome.schmorp.de/marc/root-tail.html
FRAME "NO" / "YES" http://oldhome.schmorp.de/marc/root-tail.html

Advanced Settings - RTMODE - PM.ID

Tunable Explanation Command used
WINDOWS_ID The Window ID for the OS "echo 0"
UBUNTU_ID The Window ID for the OS. ID is HARDCODED to 0 by root-tail if nautilus is detected! "echo 0"
SUSE_ID The Window ID for the OS "${XWININFO} -tree -root \ ${GREP} ${HRES}"x"${VRES} \ ${GREP} -i "plasma" \ ${GREP} -i "desktop" \ ${AWK} '{print \$1}'"
MACOSX_ID The Window ID for the OS "${XWININFO} -tree -root \ ${GREP} -A3 children \ $TAIL -1 \ ${AWK} '{print \$1}'"
BSD_ID The Window ID for the OS "echo 0"
CYGWIN_ID The Window ID for the OS "echo 0"
RASPBERRYPI_ID The Window ID for the OS "${XWININFO} -tree -root \ ${GREP} ${HRES}"x"${VRES} \ ${GREP} -i "pcmanfm" \ ${AWK} '{print \$1}'"
FEDORA_ID The Window ID for the OS "echo 0"
CENTOS_ID The Window ID for the OS "echo 0"
OTHEROS_ID The Window ID for the OS "echo 0"
FORCE_ID Force the use of the id. The id is found via the command FORCEOS_ID. "NO" / "YES"
FORCEOS_ID The Window ID for the OS "${XWININFO} -tree -root \ ${GREP} ${HRES}"x"${VRES} \ ${GREP} -A1 -i "caja" \ ${TAIL} -1 \ ${AWK} '{print \$1}'"

Advanced Settings - RTMODE - PM.FONT

Tunable Possible values Explanation
FN_FIXED_HEADER "YES" Use monospaced font, like typewriter (Font: WIDTHxHEIGHT: 8x16/10x20/12x24).
FN_WIDTH_HEADER "12" / "*" Font WIDTH in pixels.
FN_HEIGHT_HEADER "24" / "*" Font HEIGHT in pixels.
FN_FIXED_HEADER "NO" NO: Use xfontsel to verify the parameters. Examples: example: -ascender-droid-regular-i-normal--0-0-0-0-p-0-iso8859-1; '--------------'
FNDRY "*" The type foundry that digitized and supplied the font data.
FMLY "*" The name of the typographic style (for example, `courier').
WGHT "*" The weight of the font, or its nominal blackness, the degree of boldness or thickness of its characters. Values include heavy',bold', medium',light', and `thin'.
SLANT "*" The posture of the font, usually r' (forroman', or upright), i' (italic', slanted upward to the right and differing in shape from the roman counterpart), or o' (oblique', slanted but with the shape of the roman counterpart).
SWDTH "*" The proportionate width of the characters in the font, or its nominal width, such as normal',condensed', extended',narrow', and `wide'.
ADSTYL "*" Any additional style descriptions the particular font takes, such as serif' (fonts that have small strokes drawn on the ends of each line in the character) orsans serif' (fonts that omit serifs
PXLSZ "*" The height, in pixels, of the type. Also called body size.
PTSZ "*" The height, in points, of the type.
RESX "*" The horizontal screen resolution the font was designed for, in dpi ("dots per inch").
RESY "*" The vertical screen resolution the font was designed for, in dpi.
SPC "*" The kind of spacing used by the font (its escapement class); either p' (a proportional font containing characters with varied spacing),m' (a monospaced font containing characters with constant spacing), or `c' (a character cell font containing characters with constant spacing and constant height).
AVGWDTH "*" The average width of the characters used in the font, in 1/10th pixel units.
RGSTRY "*" The international standards body, or registry, that owns the encoding.
ENCDNG "*" The registered name of this character set, or its encoding.

Program's Internal

The Program's Install folder

BGINFO4X is installed in an easy folder structure:

Folder Name Meaning
BGINFO4X.sh Contains the Main BGINFO4X Program
BIN/ Program's shell scripts
BASE/ Internal configuration folder
CUSTOM/ Operating system functions
DOC/ Documentation folder
3rdParty/ Auxiliary programs

The BASE/CONF/ subfolder

This folder contains the following internal configuration files:

File Description
BGINFO4X.SETTINGS Internal settings for BGINFO4X
BGINFO4X.EC Errror codes for BGINFO4X
DB.CONF Debug settings for BGINFO4X
FT.CONF Functions configuration file for BGINFO4X
FT.OSFAMILY Internal settings for BGINFO4X
OF.OUTFILES Outfiles definition for BGINFO4X
PM.OPTIONS Roottail default settings for BGINFO4X
  • BGINFO4X.SETTINGS

This file contains the main settings for BGINFO4X.

Contains the BGINFO4X version number and the location of the CUSTOM FILES:

Tunable Value
BGVERSION "3.0.6"
CUSTOMFILE "CUSTOM/CONF/BGINFO4X.CONF"
CUSTOMFILEIMMODE "CUSTOM/CONF/IMMODE.CONF"
CUSTOMFILERTMODE "CUSTOM/CONF/RTMODE.CONF"

The other tunables will be overwritted during the execution of the program, but they are necessary anyway.

  • BGINFO4X.EC

This file contains the list of the error codes and the displayed messages.

An example is shown here:
_PARAMERROR_TXT="#ERROR: A parameter \$1 is mandatory for the function"

  • DB.CONF

This file contains the debug settings for the all the programs.

If you want debug a particular script to the main debugfile, pun "ON" on the variable.
If you want debug a particular script to the terminal, put "ON" an the *_SCREEN variable.

  • FT.CONF

This file is the main Functions configuration file.
Contains the location of the FUNCTION FILES:

Tunable Value
HEADERFILE "CUSTOM/$BGSERVER/$OSFAMILY$OSSUBFAMILY/HEADER.CONF"
FTOUTFILE "CUSTOM/$BGSERVER/$OSFAMILY$OSSUBFAMILY/OUT.CONF"
FTALARMFILE "CUSTOM/$BGSERVER/$OSFAMILY$OSSUBFAMILY/ALARM.CONF"
FTSCRIPTFILE "CUSTOM/$BGSERVER/$OSFAMILY$OSSUBFAMILY/SCRIPT.CONF"

Depending of your Operating system, family and subfamily found, one file or another will be executed.

  • FT.OSFAMILY

This file lists the OSFAMILYs supported. There is Nothing to configure. If a new family is found, it will we added here.

  • OF.OUTFILES

This file contains the definition of the Outfiles generated during the execution of the program.

  • PM.OPTIONS

This file contains defualt settings necessary for roottail.

The BASE/IMAGES/ subfolder

This folder contains internal program images: logos, backgrounds and icons.

The CUSTOM/ subfolder

The CUSTOM/ subfolder conatins the following folders:

Folder Name Meaning
CONF/ The Main CUSTOM files configuration folder
CLIENT/ The Client Functions Files folder
SERVER/ The Server Functions Files folder
IMAGES/ Image Repository for BGINFO4X
  • The CONF/ subfolder

This subfolder contains the CUSTOM FILES files for BGINFO4X

Find more information here

  • The CLIENT/ subfolder

This subfolder contains the FUNCTION FILES files for BGINFO4X

Find more information here

If you don't like this functions or need others, what you have to do is comment them with an #.
Afterwards, add your prefered functions as desired.

  • The SERVER/ subfolder

This subfolder contains the FUNCTION FILES files for BGINFO4X when BGSERVER is active.

  • The IMAGES/ subfolder

This subfolder contains images for BGINFO4X. For example, it contains the wallpaper location (CORPORATEWALLPAPERFILE) if the variable CORPORATEWALLPAPER is set to "YES"

The DOC/ subfolder

This folder contains general documents (licenses, release notes, readme, ...).

The 3rdParty/ subfolder

This folder contains third party programs, necessary to run BGINFO4X in some operating systems or to enhance its features.

The BIN/ subfolder

This table contains an overview of the shell scripts located in the BIN/ subfolder:

ShellScript Description
IM.sh The ImageMagick mode launcher
FT.sh FuncTions file: the output is generated via these functions
RT.sh RootTail: starts the main root-tail routines
PM.sh ParaMeters: gets the main root-tail parameters
EX.sh Export functions
OF.sh OutFiles: functions that control the outfiles
CS.sh ChesckSoftware: check for the necessary software to function properly
DB.sh DeBug: functions file for debugging the program
KA.sh KillAll: functions to kill the launched programs
support/ Support folder files

The EXPORT/ subfolder

The User Data folder is located inside $HOME in Unix or inside $USERPROFILE in Windows. A subfolder called BGINFOX/EXPORT is created.

This folder contains the different exported files generated during the execution of the program.
These options are: HTML, CSV, SQLITE (embedded database).

Saving data to centralized database will be possible throughout BGINFO4X Server.


The TMP/ subfolder

The temporary folder is located in $TMP in Unix or in $TEMP in Windows. If requested by the debug functions, you can find troubleshooting files there.

Inside the temporary folder, a subfolder is created by each user that launches BGINFO4X.

This folder has the form: BGINFO4X/$USER, and contains all the temporary files used during the execution of the program and contains also some troubleshooting files like: requiredenvironment.log, softinstalled.log, debug.log, and pids.pid.


Development

If you are interested in the development of BGINFO4X or the development of BGINFO4X Server, send an email to bginfo4x@sourceforge.net.

Development lines

These are the main development lines:

1.0: Beta development versions. Never has been published.

2.0: The first public release, with lots of features.

5.0: This TODO line includes the development of BGINFO4X Server, as a Web application.

Releases

  • 3.2.0 - New release (2013-09-08) - BGINFO4X for Windows - Debian package ready

+3.1.8: Major improvements - KA.sh -> Kill old program's before start by PIDBASHFILE. Switching ps -ef to ps -f.
+3.1.6: Major improvements - CS.sh -> CS.CONF removed. We load the programs from the arrays: _CSCONFDOWN & _CSCONFUP.
+3.1.4: Major improvements - CS.sh -> We always recreate softinstalled.out to be sure all is ever ok.
+3.1.2: Major improvements - DB.sh -> Moving all the logs to $OUTUSERFOLDER.
+3.1.0: Major improvements - DB.sh -> REQUIREDENVIRONMENTFILE, evaluatets to $TMP. We need to manage also $TMPDIR.

+3.0.9.8: Major improvements - CreateFolder_OF "$TMPFOLDER" first to manage permissions "-m 777" when root starts first the program.
+3.0.9.6: Minor improvements - distro.sh -> adapting it to create a Debian package distribution. Cleaning DOC folders.
+3.0.9.4: Minor improvements - Moving SOFT folder -> TMP.
+3.0.9.2: Major improvements - Cleaning DB.sh (preparing environment). Performance improvement (2s).
+3.0.9.0: Minor improvements - Updating IM to ImageMagick-6.8.7-0-Q16-x86-windows
+3.0.8.8: Minor improvements - Wix -> Target="[INSTALLDIR]BGINFO4X for Windows-hiddenconsole.bat" Show="minimized". ProgramFolder restructure.
+3.0.8.6: Minor improvements - Removing Something changed in IMMODE. We always reprint. Performance improvement.
+3.0.8.4: Minor improvements - Changing $TR '\n' to "echo -n" in FT.sh. Performance improvement.
+3.0.8.2: Minor improvements - Changing $TR '/' '\' by bash substring replacement in IM.sh. Performance improvement.

  • 3.0.8 - New release (2013-09-08) - BGINFO4X for Windows - Multiuser Linux environment - Bugs resolved.

+3.0.6.8: Major improvements - "--reload" option. ReloadConfig Shortcut msi.
+3.0.6.6: Minor improvements - $HOME/BGINFO4X/BASE/CONF/OUT moved to $HOME/BGINFO4X/SOFT. Remove CRLF from IMMODE.CONF. Check CRLF. Chech +x *.sh on distro.
+3.0.6.4: Minor improvements - EXPORTFOLDER reviewed to $HOME/$APPDATA/.BGINFO4X/EXPORT. $APPDATA null on unix. .BGINFO4X to hide on linux.
+3.0.6.2: Minor improvements - WRPIDFILE called only on the first instance.

  • 3.0.6 - New release (2013-06-26) - BGINFO4X for Windows - Multiuser Linux environment - Bugs resolved.

+3.0.4.4: Major improvements - $TMP not evaluated correctly in DB.sh. Linux distro not functioning. Generating a new release.
+3.0.4.2: Minor improvements - SQLITE escape problems in windows.

  • 3.0.4 - New release (2013-06-20) - BGINFO4X for Windows - Multiuser environment - Security Improved.

+3.0.2.8: Minor improvements - Adapting WIX without NTFS exceptions and with heat -ag.
+3.0.2.6: Minor improvements - Moving EXPORT to $USERPROFILE. Adapting code.
+3.0.2.4: Minor improvements - Moving $HOME to $USERPROFILE in /etc/profile. Securing Output user files.
+3.0.2.3: Major improvements - Moving /OUT folder to the usual $TMP folder ($TMPDIR if defined or $TMP=/tmp in Unix ; %TMP% or %TEMP% in Windows).
+3.0.2.2: Minor improvements - Adding SQLITESTUDIO-2.1.4 in /BGBINARIES. Adding msmtp in /BGBINARIES.
+3.0.2.1: Minor improvements - Adding echo "$ALARMRESULT" | "$TR" '\n' ' ' in FT.sh to remove \n in multiline (ex: Monitoring SQL with BGINFO4X).

  • 3.0.2 - New release (2013-06-12) - BGINFO4X for Windows - Multiuser environment

+3.0.2: Major improvements - Implementing NTFS&MSYS for multiuser environment (Write permissions). Adding $USERFOUND in getNEWWALLPAPER_IM. Adding BASE/CONF/OUT.
+3.0.1: Minor improvements - Removing IMMODE.CONF: cp \"${GETWALLPAPERFOLDER}/wallpaper.bmp\" \"${GETWALLPAPERFOLDER}/BG_$GETWALLPAPERFILE\" ;

  • 3.0.0 - New release (2013-05-24) - BGINFO4X for Windows - First Windows msi package.

+2.8.9: Major improvements - Permissions Full Control on INSTALLDIR, so UAC has no efect.
+2.8.8: Minor improvements - Check .NetFramework 2.0 minimun. Add BGINFO4X Hidden in Start All Users Profile.
+2.8.7: Minor improvements - Adding ApplicationProgramsFolder in .msi. Install scope=machine.
+2.8.6: Minor improvements - First .msi test release. Launch BGINFO4X when finished installation. Add Unix Bash in Desktop.
+2.8.5: Minor improvements - Test WixToolset.

  • 2.8.4 - New release (2013-05-9) - BGINFO4X for ARM and RASPBERRY supported. Simplified config.

+2.8.3.9: Major improvements - Support for ARM and RASPBERRYPI. 60% perfromance improved on Windows.
+2.8.3.8: Major improvements - Adding BGSERVER options in BGINFOX.CONF. Breaking the BGINFO4X.CONF in 3 conf files.
+2.8.3.7: Minor improvements - getOSSUBFAMILY added. trOSSUBFAMILY_FT added. Folder simplification: removing EC.
+2.8.3.6: Minor improvements - Performance: getCUSTOMVARIABLE_FT -> Removing grep | cut |. Working with arrays. -2 seconds.
+2.8.3.5: Minor improvements - Performance: Removing rmOLDFILES; Replacing rmFILE_OF by clFILE_OF (builtin echo). -1 second.
+2.8.3.4: Minor improvements - Performance: Add shopt -u sourcepath. Add "source ./filename" in the source files (so no search in PATH is necessary).
+2.8.3.3: Minor improvements - Performance: Substitute which in CS.CONF by bash builtin type. 13s -> 2s
+2.8.3.2: Major improvements - BGMODE="BGLOCAL/BGSERVER" options added. BGLOCAL reduced to main families.
+2.8.3.1: Minor improvements - CDIRECTIVE: draw bug solved.

  • 2.8.2.4 - New release (2013-03-27) - RASPBERRY and CENTOS supported

+2.8.2.3: Major improvements - Support for username with accents-diacritics. Modified inputrc.default.
+2.8.2.2: Minor improvements - New CENTOS and RASPBERRYPI branch.
+2.8.2.1: Minor improvements - WinProductName.exe update to 0.9.1 (W2012 support).

  • 2.8.2 - New release (2013-03-27) - BGINFO4X for WINDOWS 2012 supported

+2.8.1.9: Minor improvements - HTML iframe compatible with IExplorer. Javascript needed.
+2.8.1.8: Minor improvements - Change convert by montage in additionalIMAGE_IM.
+2.8.1.7: Minor improvements - Ordering BGINFO4X.CONF. Adding support for Windows 2012 with cmd.exe /c "..." in MINGW.
+2.8.1.6: Minor improvements - Adding STOPLOOP.
+2.8.1.5: Minor improvements - Creating a CUSTOM.CONF that points to the config file BGINFO4X.CONF (UNC paths supported).
+2.8.1.4: Minor improvements - Creating a HEADERFILE for each OS.
+2.8.1.3: Minor improvements - FUNCTIONS folder MINGW and DARWIN renamed to WINDOWS and MACOSX.
+2.8.1.2: Minor improvements - CYGWIN: Cleaning OUT functions. Review preferred font: Verdana-Italic. Review SCRIPTS.
+2.8.1: Minor improvements - SQLITEEXPORT variable can be modified in live mode.

  • 2.8.0 - New release (2013-03-06) - BGINFO4X for WINDOWS supported

+2.7.9: Major improvements - Rebuilding FT.sh to use new EXPORT functions. Use of evalCOMMAND_OF in its functions.
+2.7.8: Major improvements - Removing sql support in the client (mysql and sql). It will be added in BGINFO4X Server.
+2.7.7: Minor improvements - Adding local variables in OF.sh
+2.7.6: Minor improvements - Cleaning processFT_FT. Rebuilding checkSOFTINSTALLED_CS and adding --version option.
+2.7.5: Minor improvements - Adding additionalImage_IM. Cleaning FIRSTCHAR: replacing by substring instead of "CUT -c1-1".
+2.7.4: Minor improvements - Loading contents in checkSOFTINSTALLED_CS < $_CSCONF, -5seconds improvement.
+2.7.3: Minor improvements - Quoting variables from files to support spaces. The correct form is \"VARIABLE\" , it is not necessary to quote inside the quotes.
+2.7.2: Minor improvements - Adding checkFOLDEREXIST_OF in checkFOLDERWRITABLE_OF.
+2.7.1: Minor improvements - Adding looping functions.
+2.7.0: Minor improvements - Changing subrelease numbering: incrementing one by one.
+2.6.9: Minor improvements - Modifiying IM.sh, so FORCEOS_SET use CORPORATEWALLPAPER if forced to YES.
+2.6.8: Minor improvements - getCUSTOMVARIABLE_FT bug if the line has comments like: VARIABLE="value" #comment.
+2.6.7: Minor improvements - Bug found in IM: convert.exe: no images defined `test7.png' @ error/convert.c/ConvertImageCommand/3068.
+2.6.6: Major improvements - Replacing set wallpaper in DARWIN with AppleScript (osascript). Supporting this language.
+2.6.5: Minor improvements - Cleaning functions: replacing COMMAND=$(echo ..) for COMMAND="xxx".
+2.6.4: Major improvements - MSYS initial development. Creating a portable edition with also SQL clients.
+2.6.3: Minor improvements - MACOS doesn't refresh the screen if the file has changed but has the same name.
+2.6.2: Minor improvements - Check root-tail removed from default install. Checked only with RTMODE.
+2.6.1: Minor improvements - Creating support folder.

  • 2.6.0 - New release (2013-01-20) - BGINFO4X for MACOSX supported

+2.5.9: Minor improvements - Cleaning code.
+2.5.7: Major improvements - MAC, MACOS, MACOSX ready.
+2.5.5: Major improvements - Powershell scripting supported.
+2.5.3: Minor improvements - OS detection improved.
+2.5.1: Major improvements - Cleaning code: sourcing and reloadVariables redefined.
+2.4.9: Minor improvements - RTMODE, cleaning RT redefined.
+2.4.7: Minor improvements - RTMODE, Recalcultaing the geometry supported.
+2.4.5: Major improvements - Simplifying the folder strucutre.
+2.4.3: Minor improvements - Cleaning code: eval functions added and standarizedd.
+2.4.1: Major improvements - Debug by levels of INFO, WARNING, ERROR is now possible.

  • 2.4.0 - New release (2012-11-30) - BGINFO4x for WINDOWS (Cygwin) supported

+2.3.9: Minor improvements - Cleaning code. Tested on: Windows XP, Windows 2003, Windows 7, and Windows 2008.
+2.3.7: Minor improvements - Debug only RTMODE and IMMODE.
+2.3.5: Minor improvements - Imagemagick functions improved.
+2.3.3: Minor improvements - OS cygwin detection improved.
+2.3.1: Minor improvements - Solving some bugs in IMMODE.
+2.2.9: Minor improvements - Adding a corporate logo.
+2.2.7: Minor improvements - RTMODE, Redimensioning the X-Window supported.
+2.2.5: Minor improvements - Exporting bugs solved.
+2.2.3: Minor improvements - Forcing a corporate wallpaper possible.
+2.2.1: Major improvements - Simplifying the structure. BASE functions deleted.

  • 2.2.0 - New release (2012-09-21) - BGINFO4X for LINUX supported - IMMODE

+2.1.9: Minor improvements - Solving some bugs.
+2.1.7: Minor improvements - Cleaning code.
+2.1.5: Major improvements - IMMODE almost ready. Switching default mode to IMMODE.
+2.1.3: Minor improvements - Starting KDE support. Not published.
+2.1.1: Minor improvements - Add functions to tail a file as the original root-tail does.
+2.0.9: Major improvements - Creating the CUSTOM folder.
+2.0.7: Major improvements - Creating the BASE folder.
+2.0.5: Major improvements - Creating the BIN folder.
+2.0.3: Minor improvements - Renaming functions from functions.PACKET to function.PACKET.
+2.0.1: Minor improvements. Starting development of the IMMODE.

  • 2.0.0 - Initial release (2012-08-10) - BGINFO4X for LINUX supported - RTMODE

1.x.x: Development releases, never published.
Note: Odd-sub releases never published.

Todo

  • BGINFO4X Server

    • Web Interface

      • Management Interface, as a GUI tool.
      • Search Interface: search any information generated easily.
    • Client Management:

      • Auto-update clients.
      • Manage and configure clients centrally.
      • Group clients by operating system, type (notebooks,desktops,servers,...) or role (VIPS, industrial machines, ...).
      • Show different desktop information by group.
      • Apply customized configurations (functions, alarms, scripts) to these groups.
      • Automatically adjust the wallpaper resolution to the monitor resolution.
    • Database Management:

      • Store all the information generated by your business in a centralized database.
      • Use any corporate database (Oracle, SQL Server, MySQL, ...)
    • Additional Modules:

      • Deploy a Software Inventory Module that runs in background.
      • Deploy a Hardware Inventory Module that runs in background.
      • Deploy a Security Inventory Module that runs in background.
    • Reporting Management:

      • Create reports for the BGINFO4X generated data.
      • Create reports for the information generated by the different modules.
  • GUI Tool

    • GUI tool can be developed for the desktop, instead of editing the custom file.

History

The project started as a concept-clone of BGINFO for Windows, but in this case for Linux, Unix or MACOSX.

After some initial research on the network, some programs were found (like Conky), but these programs didn't meet the Author's expectations.

When the MATT scripts were found (2005-12-21_125126_bginfo.zip) in the SysInternals forums, (http://forum.sysinternals.com/bginfo-for-linux-distros_topic2700.html), the main seed was born.

A new better interface should be created: the project started and the first BGINFO4X release based on root-tail was delivered (RTMODE). But root-tail has some "bugs or ugly" behaviors and is not supported natively in Windows.

The IMMODE was born: the program switched the the classical BGINFO solution modifying the underlaying image (http://www.zinox.com/node/142).

This evolved in supporting also natively Microsoft Windows, based on the Minimal System MSYS as a feautured bash shell.


License

BGINFO4X is released as GNU General Public License, version 3 (GPL-3.0)
Find more information in http://www.gnu.org/licenses/



Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks