Академический Документы
Профессиональный Документы
Культура Документы
Presto - OpenSolaris
Printing Make Easy
Ghee Teo
ghee.teo@sun.com
Presenting:
Michal Pryc (Michal.Pryc@Sun.Com)
USE IMPROVE EVANGELIZE
Agenda
● Why presto?
● Printer Management tools on Unix
● Presto
– Architecture
– Print Manager – basic requirements
– Supported print systems
– Programming language
– How many threads
– Group manager
– Desktop integration
– Road map
2
USE IMPROVE EVANGELIZE
3
USE IMPROVE EVANGELIZE
Why not?
4
USE IMPROVE EVANGELIZE
jurvetson
5
USE IMPROVE EVANGELIZE
6
USE IMPROVE EVANGELIZE
/usr/dt/bin/dtprintinfo
/usr/bin/gnome-printinfo
/usr/sbin/printmgr
Tomcio77
8
USE IMPROVE EVANGELIZE
PrinterDrake
System-config-printer
PRESTO
Olivier Lejade
9
USE IMPROVE EVANGELIZE
10
USE IMPROVE EVANGELIZE
[0] http://catb.org/~esr/writings/cups-horror.html
11
USE IMPROVE EVANGELIZE
PrinterDrake
● Plug and Print
(Parallel/USB)
● Fuzzy matching of
Manufacturer and model
name
● configuration of sharing of
CUPS printers
● automatic download of
certain firmware if needed
12
USE IMPROVE EVANGELIZE
System-config-printer
13
USE IMPROVE EVANGELIZE
Architecture of Presto
Kernel Network Printer Network Printer
Discovery (snmp) Discovery (mDNS)
Device HotPlug
(sysevent)
devfsadmd
EC_add/EC_remove
ESC_printer (sysevent)
Solaris LP
HAL Dev Print System
hald Tree
Device Added/Removed
(DBUS signal)
libpapi
lpadmin
PrinterAdded
ospm-applet (DBUS signal) ospm-pm
Desktop
Add Queue
Notification
Dialog
Bubble
14
USE IMPROVE EVANGELIZE
Device HotPlug
(sysevent)
devfsadmd
EC_add/EC_remove
ESC_printer (sysevent)
Solaris LP
HAL Dev Print System
hald Tree
Device Added/Removed
(DBUS signal)
libpapi
lpadmin
PrinterAdded
ospm-applet (DBUS signal) ospm-pm
Desktop
Add Queue
Notification
Dialog
Bubble
15
USE IMPROVE EVANGELIZE
Solaris LP
HAL Dev Print System
hald Tree
Device Added/Removed
(DBUS signal)
libpapi
lpadmin
PrinterAdded
ospm-applet (DBUS signal) ospm-pm
Desktop
Notification
Bubble
16
USE IMPROVE EVANGELIZE
17
USE IMPROVE EVANGELIZE
18
USE IMPROVE EVANGELIZE
Programming language
C as a natural choice
19
USE IMPROVE EVANGELIZE
● Queue states
● Job States
Paul Wicks
20
USE IMPROVE EVANGELIZE
21
USE IMPROVE EVANGELIZE
Group types
● Special
– All Printers (System)
– Favorites (User)
● Static
– list of named print queues
● Dynamic
– list of queues derived from
specification of printer's
attributes
22
USE IMPROVE EVANGELIZE
23
USE IMPROVE EVANGELIZE
24
USE IMPROVE EVANGELIZE
Road map
● Local USB auto-detection and creation of queue – Nevada 69
25
USE IMPROVE EVANGELIZE
Thanks
Ghee Teo
ghee.teo@sun.com
Presenting:
Michal Pryc (Michal.Pryc@Sun.Com)