Chapter 6. User Client

Table of Contents

User Client Deployment
Deployment on Windows
Deployment on Mac OS X
Deployment on Linux and Unix

The PaperCut NG activity tracking and charging is implemented using 100% server-side technology. User Client software is not required as part of the activity monitoring process.

Note

The use of client software for activity monitoring could open up security problems as client software is readily accessible to end-users. By design PaperCut Software Pty Ltd developers endeavor to implement all monitoring at the server level eliminating client-side loopholes. The client software supplied with PaperCut NG is simply a presentation layer around server-side implementation.

Client software is provided to facilitate three tasks:

The User Client on Windows

Figure 6.1. The User Client on Windows

User Client account selection popup

Figure 6.2. User Client account selection popup

The client software is available for most major platforms including:

PaperCut Client on Mac OS X

Figure 6.3. PaperCut Client on Mac OS X

The client software and deployment tools are installed automatically on the server under the [appdir]\client directory. On a Windows based server this directory is automatically shared in read-only form providing network users with access to the client executables.

Command line options for the user client are described in the section called “User Client Options”.

User Client Deployment

Deployment on Windows

The PaperCut NG client software may be deployed to workstations using a variety of deployment methods. The deployment options are covered in details in the [appdir]\client\README.txt file. The recommended approach with Windows based workstations is the "zero install" strategy. This involves configuring the workstations via group policy or otherwise, to run the pc-client.exe program directly off the PCClient share - a share set up during installation. This avoids the need to undertake a separate installation process on each workstation and ensures the client software is automatically updated in conjunction with the server.

For more information on alternate deployment options see the [appdir]\client\README.txt file.

Deployment on Mac OS X

This section covers the installation of the PaperCut NG client on Macintosh systems. The complexities of Mac printing in general are discussed in Chapter 19, Mac Printing in Detail. Before installing the client software, we recommend that administrators study Chapter 19, Mac Printing in Detail.

The Mac client is a supplied as a native Macintosh .app package. It's a universal application supporting Mac OS X 10.3+ on both PowerPC and Intel hardware.

PaperCut NG requires Mac OS X v 10.3 or later

Figure 6.4. PaperCut NG requires Mac OS X v 10.3 or later

The three common installation methods are outlined below cover most situations. The instructions for the "single user install" is very standard and should be able to be conducted by any Mac end-user. The other installation methods are more technically focused and aimed at Mac network administrators.

Single User Install

This method is suitable for a Mac computer used by a single user. For example, a personal Mac desktop or laptop. The installation process simply involves copying or dragging the PCClient package over to the system or user's Applications folder. The simplest way of obtaining the client is to connect to the server's pcclient share over the network, however alternate methods such as copying via a USB key or drive are also possible.

To install the Mac client from the server's share:

  1. Start and Log into the Mac computer. Ensure it's connected to the network.

  2. Open the Finder.

  3. From the Go menu, select Connect to Server....

    Connecting to a Windows server

    Figure 6.5. Connecting to a Windows server

  4. Enter the pcclient share's connection details like: smb://server_name/pcclient

    The PCClient share's connection string

    Figure 6.6. The PCClient share's connection string

  5. Enter password information if requested.

  6. Drag the PCClient package over to the local hard disk's Applications folder. The copy process will commence.

  7. Test the application by double-click on the PCClient application icon.

If the user needs the client for printing - for example to use the shared account popup - it's advisable to configure the application to automatically open upon start-up:

  1. Open System Preference... from the Apple menu.

  2. Select Accounts.

  3. Select your login account.

  4. Click the Login Items tab.

  5. Click the + button and browse and locate the PCClient application.

    Add PCClient as a Login Item

    Figure 6.7. Add PCClient as a Login Item

  6. Test by restarting the computer. The client should automatically after the reboot and login is complete.

Multi-User Install

On a multi-user Mac system, setting up a Login Item for each user would be a tedious task. To streamline this process, the PCClient application can be configured to start on login via the login hook. A login hook is an advanced Mac feature that works by running a script when a user logs in. The PCClient package includes a command script resource that install the login hook.

To install the client on a multi-user system:

  1. Start and Log into the Mac computer. Ensure it's connected to the network.

  2. Open the Finder.

  3. From the Go menu, select Connect to Server...

  4. Enter the pcclient share's connection details like: smb://server_name/pcclient

  5. Enter password information if requested.

  6. Drag the PCClient package over to the local hard disk's Applications folder. The copy process will commence.

  7. Control-click on the newly copied PCClient application in the Applications directory. Select Open Package Contents.

    Control-click and open the package contents

    Figure 6.8. Control-click and open the package contents

  8. Browser to Contents/Resources/.

  9. Double-click on the install-login-hook.command script.

    Double-click to install the login hook

    Figure 6.9. Double-click to install the login hook

  10. Restart the system and verify the client starts on login.

Important

If you're already using a login hook for other script tasks, the setup process will be different. Instead in step 9, double-click on the set-permissions.command file. Then insert the following line at the end of your current login script:

    /Applications/PCClient.app/Contents/Resources/login-hook-start $1
                        

The set-permissions.command script ensures the software is set up with the correct permissions, ensuring it's assessable to all users.

The login hook, once installed, can be removed with the terminal command:

    sudo defaults delete com.apple.loginwindow LoginHook
                        

Zero-Install Deployment

This deployment method is for advanced Mac network administrators and is suitable for medium to large Mac networks. Knowledge of the Unix underpinning of the Mac OS is required.

A more flexible option over locally installing the PCClient package on each Mac system, is to directly launch the client from the pcclient share. The advantage of this deployment method is that any updates applied on the server (and hence updates to the client directory) will automatically be propagated to all workstations.

The process of setting up zero-install deployment will vary form network to network depending on the directory environment in use and administrator preferences. The process can however be summarized as:

  1. Configure the Macs to mount the pcclient share as a volume on login or start-up.

  2. Configure a login hook to start the client. The install-login-hook.command resource script explained in the multi-user install above may help.

The typical way to mount the share is to use mount_smbfs in a boot script. See the Apple documentation on mount_smbfs at: http://developer.apple.com/documentation/Darwin/Reference/ManPages/man8/mount_smbfs.8.html

Further information on Mac printing is available at Chapter 19, Mac Printing in Detail.

Deployment on Linux and Unix

The PaperCut NG user client software may be deployed on Linux and other Unix based operating systems using the following installation procedure.

Step 1 - Install Java 5.0+

Linux and Unix workstations are supported via Java. Java version 5.0 or higher is required. Your Linux distribution may come with Java pre-installed or have the option to install. If no Java option exists, Sun Microsystems provides a self-install Java distribution for Linux and other major Unix platforms.

Ensure Java 5.0 is installed and the JAVAHOME environment variable is defined on the PATH.

Step 2 - Copy (or Mount) the PaperCut NG user client files

Like the Windows version of the client software, the Linux/Unix Java version is installed in the ~/client directory on the server. All files in this directory need to be copied, or make available to the Linux/Unix workstation. Common methods include:

  • Copying the files from the server using file transfer programs such as FTP or scp.

  • If the server is Windows based, connecting using smbclient or the Gnome or KDE smb:// file browsing tools. The client files are shared via a read-only share called \\[server_name]\PCClient.

  • If the server is Linux based, consider exporting the ~papercut/client directory via NFS and mounting on the workstations. The client can then be ran directly from the mount.

If the workstation is used by multiple users, the client directory should be copied to a common location such as /usr/local/papercut/client.

Step 3 - File permissions

Open a command prompt and set execute permissions on the pc-client-linux.sh file as follows:

    cd /usr/local/papercut/client
    chmod 755 ./pc-client-linux.sh
                    

Step 4 - Testing

Log on as a user (a user listed in the PaperCut NG system) in your preferred Linux desktop GUI environment. Locate and execute the file /usr/local/papercut/client/pc-client-linux.sh. The PaperCut NG client should open displaying the user's account balance.

It is usual to configure the client as a "Startup Program" or "AutoStart Program" launched during login. See your desktop documentation to see how to define a startup program.

A number of command-line options are available to change the client's behaviour. More information can be found in Table A.2, “User Client command-line options”.