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.
It is very easy, backup your CUSTOM folder in a safe place.
It is very easy, restore your CUSTOM folder to the installation folder.
Download the latest BGINFO4X release. Backup your CUSTOM folder.
Install BGINFO4X for your operating system. Find more information here.
Restore your CUSTOM folder.
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.
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.
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.
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.
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.
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:
CORPORATESOLIDCOLORTYPE="-size 1280x1024 canvas:tomato"
CORPORATESOLIDCOLORTYPE="-size 1280x1024 canvas:red"
CORPORATESOLIDCOLORTYPE="-size 1280x1024 gradient:green-yellow"
CORPORATESOLIDCOLORTYPE="-size 1280x1024 gradient:white-blue"
CORPORATESOLIDCOLORTYPE="-size 1280x1024 plasma:yellow-red"
CORPORATESOLIDCOLORTYPE="-size 1280x1024 plasma:yellow-green"
Be aware that Gradient and Plasma are high cpu intensive.
Find more information here
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 !'\\""
Note: Match the text with the text of your HEADER.CONF. GRAVITY_HEADERFILE tunable must be set to some value as "NorthWest".
You can use a transparent shadow as a background rectangle.
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).
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:
.
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.
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.
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.
On the client machine, where you run BGINFO4X:
On the remote machine, if you are using Windows, install an X-Server:
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:
Open a Cygwin Terminal and Start the X-Win Server :
Right Click on the X-Win Server Icon and enable the Remote Display:
See the output:
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.
BGINFO4X uses Bash as a default language.
Bash was chosen due to their ubiquity on different platfforms, even on embeded systems.
Yes. To use the Bash Shell, doble-click on the BGINFO4X Bash Shell.bat and a new bash window will appear.
The BGINFO4X for Windows is a portable edition of MSYS (Mynimal System) where:
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:
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.
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:
CScript Works: X cscript //NoLogo CUSTOM/CLIENT/WINDOWS/Script3-cscript.vbe
You will get an output on the screen like this one:
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.
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:
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.
Yes, JScript is supported. See the WHS FAQ as example.
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
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:
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 &
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:
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.
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.
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.
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.
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.
BGINFO4X uses osascript itself to GET/SET the Wallpaper, so the AppleScript is fully supported.
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.
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.