From: Einar Jørgen Haraldseid Date: Wed, 26 Nov 2014 12:30:03 +0000 (+0100) Subject: Script for å legge til pullprint på HIG X-Git-Url: https://git.slaskete.net/einar-bin/commitdiff_plain/92054668050d1effd1379294a8d0c999c132f354?ds=sidebyside;hp=58d3a919aa14ac20c87a41a0c3d4d7b5d24e7550 Script for å legge til pullprint på HIG --- diff --git a/addpullprint.sh b/addpullprint.sh new file mode 100755 index 0000000..b1bd9cd --- /dev/null +++ b/addpullprint.sh @@ -0,0 +1,100 @@ +#!/bin/sh +# This script installs the SafeCom pullprint print queue +# for Høgskolen i Gjøvik on Linux and Mac systems. +# Written by einarh@hig.no +# I consider this script public domain + +# Test for system variant +OS=$(uname) +if [ "${OS}" != "Darwin" ] && [ "${OS}" != "Linux" ]; then + echo "I don't think I can run on "${OS}", but if you insist, please edit me and remove the test." 1>&2 + exit 1 +fi + +# Test for root +if [ $(id -u) -ne 0 ]; then + echo "This script must be run as root. Please use sudo or log in as root" 1>&2 + exit 1 +fi + +# Test for CUPS +command -v lpadmin >/dev/null 2>&1 +if [ $? -ne 0 ]; then + echo "You must have CUPS installed to add printers. Please install CUPS." 1>&2 + exit 1 +fi + +# Test for smbclient if on Linux +if [ "${OS}" = "Linux" ]; then + command -v smbclient >/dev/null 2>&1 + if [ $? -ne 0 ]; then + echo "You must have smbclient installed to add printers. Please install smbclient." 1>&2 + exit 1 + fi +fi + +echo "This script will add a new printer called Pullprint, connecting to +the print server safecom2.hig.no using your normal user name and +password from HiG. Do not use on multi user systems!" + +printf "User name: " +read USERNAME +printf "Password: " +SETTINGS=$(stty -g) +stty -echo +read PASSWORD +stty "${SETTINGS}" + +echo "" + +# Test for valid username and password if on Linux +if [ "${OS}" = "Linux" ]; then + smbclient -U HIG/${USERNAME}%${PASSWORD} -L //hig.no > /dev/null 2>&1 + if [ $? -ne 0 ]; then + echo "User name or password incorrect, or no contact with HiG servers." 1>&2 + exit 1 + fi +fi + +# Add the printer + +# The Linux way +if [ "${OS}" = "Linux" ]; then + lpadmin -p Pullprint \ + -D "SafeCom Pullprint ved HiG" \ + -v "smb://hig%5C${USERNAME}:${PASSWORD}@safecom2.hig.no/PullPrint" \ + -m "drv:///sample.drv/generic.ppd" \ + -u allow:all -E +fi + +# The OSX way +if [ "${OS}" = "Darwin" ]; then + lpadmin -p Pullprint \ + -D "SafeCom Pullprint ved HiG" \ + -v "smb://HIG;${USERNAME}:${PASSWORD}@safecom2.hig.no/PullPrint" \ + -m "drv:///sample.drv/generic.ppd" \ + -u allow:all -E +fi + +if [ $? -ne 0 ]; then + echo "Could not connect to printer share. See above error for details." 1>&2 + exit 1 +fi + +# Set correct paper size and enable the duplexer option +lpadmin -p Pullprint -o PageSize=A4 -o Option1=True + +if [ $? -ne 0 ]; then + echo "Could not set default options. See above error for details." 1>&2 + exit 1 +fi + +# Set as default +lpadmin -d Pullprint + +if [ $? -ne 0 ]; then + echo "Could not set Pullprint as default printer. See above error for details." 1>&2 + exit 1 +fi + +echo "Printer successfully installed."