GNC Examples
Contents
- 1 Introduction to GNC
- 2 Examples
- 2.1 Setting a custom homepage
- 2.2 Setting a custom desktop background
- 2.3 Setting custom screensaver images
- 2.4 Setting a custom welcome message on the login screen
- 2.5 Setting the Acceptable Use Policy page
- 2.6 Enabling the web filter
- 2.7 Whitelisting a website
- 2.8 Adding sites to the DansGuardian blacklist
- 2.9 Configuring a Reservation Station machine
- 2.10 Catalog only/kiosk machine
- 2.11 Setting a custom user profile
- 2.12 Downloading large files with a random delay
- 2.13 Setting up or changing printers
- 2.14 Setting custom shutdown delays and shutdown times
Introduction to GNC
Note: this page assumes knowledge of the GNC script process and it's commands and parameters. Please have a full understanding of the Groovix NetCustomization page before continuing.
Starting a new GNC Script using the GNC template
When you are ready to make your own GNC update, run the following command in an xterm window to create a copy of the gnc template: cp -rp var/www/groovix/gnc/updates/doc/template /var/www/groovix/updates/[customer]/[updatename] where [customer] is the name of your Groovix site (Groovix site information can found in the /etc/groovix/version file), and [updatename] is the name of your update. A directory will be created at this new location containing the gnc file necessary to run the update.
Using the gncget command
The directory structure inside each GNC update should be treated as if it is the / (root) directory. When the gncget command is used, it copies and replaces files in the GNC update directory in the same directories as the actual / (root) directory. For example, to replace the /etc/network/interfaces file on a machine, create the interfaces file in a etc/network/ directory under your update directory and use the gncget command gncget --mod=644 /etc/network/interfaces.
Using the apt-get command
- The apt-get-dontask install command is used to download a package and install it on a local machine. This command can also be used to upgrade an already existing program to the most recent version.
- The apt-get-dontask remove command is used to remove a program on a local machine.
Examples
Note: each dashed box represents the contents of the gnc file relevant to that script example.
Setting a custom homepage
############################################################################################################### GNC_PARAMETERS=' --runonce --skipinstall --abort ' ############################################################################################################### #Assign the homepage variable of the pac.conf file bashconfset.pl PAC_BROWSER_STARTUP_HOMEPAGE "[homepage]" /etc/groovix/pac.conf
*Change [homepage] to the desired website you want to use. For example, to use Google, enter http://www.google.com inbetween the quotes.
Setting a custom desktop background
############################################################################################################### GNC_PARAMETERS=' --runonce --skipinstall --skiplive --abort ' ############################################################################################################### #Get custom image, assign read/write permissions, and place it in the proper directory gncget --mod=644 /var/lib/groovix/pac/images/[desktop_background_image]
*Change [desktop_background_image] to the name of the image file included in the gnc update.
Setting custom screensaver images
############################################################################################################### GNC_PARAMETERS=' --runonce --skipinstall --skiplive --abort ' ############################################################################################################### #Assign the image directory variable of the pac.conf file bashconfset.pl PAC_CUSTOM_SCREENSAVER_IMAGES_URL_DIR "[ServerIP]/groovix/screensaver/default/" /etc/groovix/pac.conf
*Change [ServerIP] to the IP address of your local Groovix Server. Now, any images uploaded to the directory /groovix/screensaver/default/ on your server will be used in the screensaver slideshow.
Setting a custom welcome message on the login screen
############################################################################################################### GNC_PARAMETERS=' --runonce --skipinstall --abort ' ############################################################################################################### #Assign the welcome message variable of the pac.conf file bashconfset.pl GDM_WELCOME_MESSAGE "Enter your welcome message here" /etc/groovix/pac.conf
Setting the Acceptable Use Policy page
############################################################################################################### GNC_PARAMETERS=' --runonce --skipinstall --abort ' ############################################################################################################### #Get latest groovix-accept package apt-get-dontask install groovix-accept #Assign the acceptable use variable of the pac.conf file to true bashconfset.pl GK_ACCEPT_USE true /etc/groovix/pac.conf #Assign the web address of the acceptable use page on the local Groovix Server in the accept.conf file pyconfset.pl mainurl '[ServerIP]/groovix/accept/acceptable-use.html' /etc/groovix/accept.conf
*Change [ServerIP] to the IP address of your local Groovix Server.
Enabling the web filter
############################################################################################################### GNC_PARAMETERS=' --runonce --skipinstall --abort ' ############################################################################################################### #Install web filter software apt-get-dontask install groovix-guardian-desktop #Assign the Groovix Guardian variable of the pac.conf file to true bashconfset.pl GK_GROOVIXGUARDIAN_ENABLE true /etc/groovix/pac.conf #Assign the enable filter variable of the cmon.conf file to true pyconfset.pl enable_gxfilter 1 /etc/groovix/cmon.conf
Whitelisting a website
############################################################################################################### GNC_PARAMETERS=' --runonce --skipinstall --abort ' ############################################################################################################### #Assign addresses to the whitelist variable of the pac.conf file bashconfset.pl GK_SITE_WHITELIST '[website],[website]' /etc/groovix/pac.conf
*Change [website] to the domain, not the page of the site you would like to allow through the filter. Example, test.com, or example.test.com. To add multiple entries, separate with commas. If updating the whitelist with a new GNC script, all prior entries need to be included with the new entries.
Adding sites to the DansGuardian blacklist
############################################################################################################### GNC_PARAMETERS=' --runonce --skipinstall --skiplive --abort ' ############################################################################################################### #Assign addresses to the bannedsitelist file used by Groovix Guardian echo '[website]' >> /etc/dansguardian/lists/bannedsitelist
*Change [website] to the domain, not the page of the site you would like to allow through the filter. Example, test.com, or example.test.com.
Configuring a Reservation Station machine
############################################################################################################### GNC_PARAMETERS=' --runonce --skipinstall --abort ' ############################################################################################################### #Assign customer username and password variables of the pacrez.conf file pyconfset.pl customid [username] /etc/groovix/pacrez.conf pyconfset.pl custompw [password] /etc/groovix/pacrez.conf #Assign the local Groovix Server variable of the pacrez.conf file pyconfset.pl pacrezserver '[ServerIP]/groovix/pacrez/python/user_access.py' /etc/groovix/pacrez.conf #Enable pacrez variables to true for pacauth.conf, cmon.conf, and pac.conf files pyconfset.pl enablepacrez 1 /etc/groovix/pacauth.conf pyconfset.pl enablepacrez 1 /etc/groovix/cmon.conf bashconfset.pl GK_PACREZ_ENABLE true /etc/groovix/pac.conf
*Change [username] and [password] to the name and password used by your custom Groovix configuration. View the Contact Information page if you need assistance with getting this information. *Change [ServerIP] to the local IP address of your Groovix Server.
Catalog only/kiosk machine
############################################################################################################### GNC_PARAMETERS=' --runonce --skipinstall --abort ' ############################################################################################################### #Assign variable to allow screensaver to run in session bashconfset.pl SAKLOCKSAVER_RUN_IN_USER_SESSION true /etc/groovix/pac.conf #Cycle screensaver/logout every 20 minutes bashconfset.pl GK_LOGOUT_TIME 20 /etc/groovix/pac.conf sed -i 's/*cycle:.*/*cycle: 0:20:00/' /etc/X11/app-defaults/XScreenSaver bashconfset.pl GK_PACREZ_ENABLE false /etc/groovix/pac.conf pyconfset.pl enablepacrez 0 /etc/groovix/pacauth.conf pyconfset.pl enablepacrez 0 /etc/groovix/cmon.conf #Add catalog user NEWUSER=catalog adduser --disabled-login --gecos "Infostation Access" $NEWUSER addgroup $NEWUSER audio addgroup $NEWUSER plugdev #Prevent SIP and guest logins from working pyconfset.pl localauthonly 1 /etc/groovix/pacauth.conf #Enable logout when Firefox is closed bashconfset.pl GK_FIREFOX_CLOSE_LOGOUT true /etc/groovix/pac.conf bashconfset.pl GDM_TIMED_LOGIN_ENABLE true /etc/groovix/pac.conf bashconfset.pl GDM_TIMED_LOGIN_USER catalog /etc/groovix/pac.conf bashconfset.pl GDM_TIMED_LOGIN_DELAY 1 /etc/groovix/pac.conf #Disable acceptable use prompt bashconfset.pl GK_ACCEPT_USE false /etc/groovix/pac.conf
Setting a custom user profile
Follow the steps on the "Making changes to the user profile" section of the Groovix Profiles page before continuing
############################################################################################################### GNC_PARAMETERS=' --runonce --abort ' ############################################################################################################### #Get, unzip, and place profile cpio file gncget --gunzip --mod=644 /var/lib/groovix/pac/home/template.cpio
Downloading large files with a random delay
############################################################################################################### GNC_PARAMETERS=' --runonce --abort ' ############################################################################################################### #Create random delay so download is staggered across multiple machines MAX_RANDOM_DELAY=10 MY_DELAY=$[ ( $(head -c4 /dev/urandom | od -t u4 | awk '{ print $2 }') % $MAX_RANDOM_DELAY ) ] echo "Waiting $MY_DELAY seconds before downloading new cpio" sleep $MY_DELAY #Get, unzip, and place profile cpio file gncget --mod=644 --gunzip /var/lib/groovix/pac/home/custom.cpio
Setting up or changing printers