The Windows connector supports printing for the following printer configurations:
Network printers visible on the Windows system
Network printers visible on the Sun Ray server
Local printers attached to the Windows system
Local printers attached to the Sun Ray server
Local printers attached to the client
Here are some important notes about setting up printers for the Windows connector.
Network printers are not affected by hotdesking. Printers connected to clients are available for printing from any client connected to the same Sun Ray server.
For printers accessible through the Sun Ray server (network visible or local), you need to perform some initial configuration to make the printers accessible through the Windows connector.
This procedure describes how to set up a raw print queue on a Sun Ray server running Oracle Solaris so that a Windows system can access it. This procedure is typically needed for printers locally attached to the Sun Ray server.
If a network printer is visible on the Sun Ray server, this
typically indicates that the queue has been set up already and
you should not have to perform this task. These instructions
pertain to raw print queues, which are print queues configured
without a printer driver. Please consult your operating system
documentation for instructions about setting up queues for
PostScript drivers. See also the lp
and
lpadmin
man pages.
Specify the printer and printer device node using the lpadmin command.
# /usr/sbin/lpadmin -pprinter-name
\ -v /tmp/SUNWut/units/IEEE802.mac-address
/dev/printers/device-node
Enable the print queue.
# /usr/bin/enable printer-name
Accept the print queue.
# /usr/sbin/accept printer-name
To update the Windows session with the available print queues on the Sun Ray server, you must restart the Windows connector with the relevant print queues specified on the command line. See Section 18.16.3, “How to Make Sun Ray Printers Available to a Windows Session” for details.
This procedure describes how to set up a raw print queue on a Sun Ray server running Oracle Linux, so that it can be accessed by a Windows system. This procedure is typically needed for printers locally attached to the Sun Ray server.
If a network printer is visible on the Sun Ray server, the queue
has been set up already and you should not have to perform this
task. These instructions pertain to raw print queues, which is a
print queue configured without a printer driver. Please consult
your operating system documentation for instructions on setting
up queues for PostScript drivers. See also the
lp
and lpadmin
man pages.
Uncomment the following line from the
/etc/cups/mime.convs
file:
application/octet-stream application/vnd.cups-raw 0 -
Uncomment the following line from the
/etc/cups/mime.types
file:
application/octet-stream
Restart the cups daemon.
# /etc/init.d/cups restart
Create a soft link to the Sun Ray printer node in
/dev/usb
For example, if the device node is
/tmp/SUNWut/units/IEEE802.
,
then use the following command:
mac-address
/dev/printers/device-node
# ln -s /tmp/SUNWut/units/IEEE802.mac-address
/dev/printers/device-node
\ /dev/usb/sunray-printer
Use this soft link
(/dev/usb/sunray-printer
) as the Device
URI while creating the print queue.
After rebooting, you might have to create the
/dev/usb
directory and re-create the
soft link.
To complete the procedure, set up a raw print queue.
# /usr/sbin/lpadmin -p printer-name
-E -v usb:/dev/usb/sunray-printer
To update the Windows session with the available print queues on the Sun Ray server, you must restart the Windows connector with the relevant print queues specified on the command line. See Section 18.16.3, “How to Make Sun Ray Printers Available to a Windows Session” for details.
The Windows session is aware only of the print queues specified in the command line when the Windows connector is started. To update the Windows session with the available print queues on the Sun Ray server, you must restart the Windows connector with the relevant print queues specified on the command line.
Make sure the print queues are set up on the Sun Ray server. See Section 18.16.1, “How to Set Up Print Queues (Oracle Solaris)” and Section 18.16.2, “How to Set Up Print Queues (Oracle Linux)” for details.
Printer data is created on the Windows system, so make sure to specify the name of the printer's Windows driver and install it on the Windows system. If you make a printer available without specifying a driver, the Windows connector defaults to a PostScript driver.
To find the printer driver name on a Windows system, check the Windows Registry key at:
MyComputer
/HKEY_LOCAL_MACHINE/System/CurrentControlSet\
/Control/Print/Environments/Windows NT x86/Drivers/Version-3
All the printer drivers installed on the system are displayed on this list.
To specify a printer's Windows driver:
% /opt/SUNWuttsc/bin/uttsc -r printer:printer-name
="windows-printer-driver-name
"hostname.domain
where printer-name
is a valid raw
print queue on the Sun Ray server and
windows-printer-driver-name
is
the name of the printer exactly as shown on the Windows
server. Double quotes are required around the name of the
printer.
To make a printer available without specifying a driver:
% /opt/SUNWuttsc/bin/uttsc -r printer:printer-name
hostname.domain
where printer-name
is a valid raw
print queue on the Sun Ray server.
To make multiple printers available:
% /opt/SUNWuttsc/bin/uttsc -r printer:printer1
=driver1
,printer2
=driver2
hostname.domain
The Sun Ray server maintains a cache in the Sun Ray data store of printer configurations that users set up on the Windows system. The Sun Ray server presents the appropriate configuration to the Windows system when a user reconnects using the Windows connector.
The uttscprinteradm command helps
administrators to maintain this information. It can be used to
list the available information and to perform cleanup in case of
user or printer deletion. See the
uttscprinteradm
man page for further
information.
This procedure describes how to set up Follow-Me Printing, which retains the user's default printer for a Windows session regardless of the Sun Ray Client being used.
Implementation of Follow-Me Printing relies on technology not available by default and non-public Sun Ray interfaces as well as the use of certain public Sun Ray interfaces for purposes other than their intended use. For these reasons, this feature is not a supported feature.
For each Sun Ray Client of interest, specify a printer in the Sun Ray data store.
Log in to the Admin GUI.
Click Desktop Units.
Click the Sun Ray Client for which you want to set up Follow-Me Printing.
Click Edit and add the printer's name to the Other Information field.
Create a shell script that queries the printer name stored
in the Sun Ray data store for the current Sun Ray Client and
writes that name to the user's
$HOME/.printers
file.
For example:
#!/bin/sh if [ 'uname' = Linux ] ; then theFlag="-P" fi theMACAddress='cd $theFlag $UTDEVROOT ; /bin/pwd | sed 's/.*?............?/1/'' thePrinter='/opt/SUNWut/sbin/utdesktop -o | grep $theMACAddress | /usr/bin/awk -F, '{print $3}'' echo "_default $thePrinter" > $HOME/.printers
Use utaction to invoke the script above on an initial connection and subsequently whenever a user moves from one Sun Ray Client to another.
Provide the following scripts based on the user's login manager:
dtlogin login manager -
Xsession.d
script
Gnome Display Manager (GDM) -
xinitrc.d
script
For example, you might create the script
/usr/dt/config/Xsession.d/1100.SUNWut
for dtlogin or
/etc/X11/xinit/xinitrc.d/1100.SUNWut
for GDM
as follows:
#!/bin/sh
/opt/SUNWut/bin/utaction -i -c path-to-script
&
where
is the path to the script you created to retrieve the
printer name in step 2.
path-to-script
The name 1100.SUNWut
is chosen
purposely in this case to ensure that the script is run or
sourced after the existing script
0100.SUNWut
. The
0100.SUNWut
script is responsible for
setting $UTDEVROOT
, which is needed by
the first sample script in step 2.
For information about the bundled
gdmgreeter
, see the
kiosk
man page.
Modify your Kiosk session script arguments to redirect the printer to Windows.
You may modify these arguments through the Admin GUI. In
this example you need to add the argument -r
printer:_default
to the existing arguments,
resulting in an argument list similar to the following:
-t 1800 -- -m -b -r printer:_default myHost
where
corresponds to the server argument passed to
uttsc.
myHost