Cups-pdf printing, but not producing any file [Solved]

If you are new to Linux or new to Sabayon Linux and just not sure where to post, here ya go. Post without fear of being told to RTFM :-)

Moderator: Moderators

Cups-pdf printing, but not producing any file [Solved]

Postby argonaut » Sat Apr 17, 2010 18:27

Hello fellow Sabayon users,

I've been having some issues with cups-pdf:

1. Installed the item with entropy,
2a. Installed the virtual printer through the CUPS management system from the internet browser, and also by following this: http://wiki.sabayon.org/index.php?title ... PDF_driver
2b. Only peculiarity was that I need to enter the root credentials in order to add any kind of printer,
3a. Cups-PDF is showing up as printer fine. I try to print something, progress bar appears and the operation seems fine, cups management says the printing job was done,
3b. Same with printing from Crossover Word, operations complete fine,
-BUT-
4. The PDF file is not generated. Nowhere to be found, no matter where I configure cups-pdf to save the file (among the three ways that the wiki page suggests).

I have tried to edit the permissions for the cups-pdf backend file [usr/libexec/cups/backend/cups-pdf]:
--Used advanced permissions and ticking the "Set UID" option --->no luck,
--Added my username in the permission set and gave all permissions --->no luck.

Any idea about what is happening? Also, what kind of logfiles should I attach to help you help me in this case? :wink:
Many thanks for your help in advance!
Last edited by argonaut on Fri Apr 23, 2010 20:37, edited 1 time in total.
Sabayon 5.4 AMD64 KDE 4.5.4
on Compaq Presario v5000us notebook
xorg-server-1.8.2, linux-sabayon-2.6.36-r1
1.5 GiB RAM
AMD Turion ML-32 64
ATI Radeon Xpress 200M
argonaut
Simple Hen
 
Posts: 40
Joined: Tue Dec 29, 2009 16:14
Location: Helsinki

Re: Cups-pdf printing, but not producing any file

Postby Fitzcarraldo » Sat Apr 17, 2010 23:00

Re your item 2b, it's not a peculiarity: that is standard functionality. The functionality is similar to Windows Vista and 7 for security reasons: the OS is checking if it is really you that wants to make a system-wide change.

Precisely which steps in the SL Wiki did you execute, as there are various optional steps given in that article? Post also your /etc/cups/cups-pdf.conf file.
User avatar
Fitzcarraldo
Sagely Hen
 
Posts: 7984
Joined: Sat Mar 10, 2007 5:40
Location: United Kingdom

Re: Cups-pdf printing, but not producing any file

Postby argonaut » Sun Apr 18, 2010 10:25

Thank you for your response,

Well, yes, you're absolutely right about root requirement. Never thought about it in these terms..
[EDIT: by the way, this comment was because I expected to add a new printer by typing my everyday username and p/w; but I had to type "root" as username and give the root p/w, otherwise it wouldn't let me do it]

From your wiki I followed steps 1, skipped 2 because I don't have Gnome Settings and instead used the browser-based utility (System > Manage Printing), then continued with 3-12 (except 8, for which I wasn't offered any stand-alone option). Steps 3-12 were all the same with me as you mention in the wiki, but with slightly different wordings, and with some steps in different order - but the overall logic of the whole installation remained the same. For #13: there exists the directory (/var/spool/cups-pdf/<your username>), and I have it as the default output directory, but it is always empty. I tried also 15 & 16 with no problems (I liked #16 very much!), but same result - no output.

And here is my cups-pdf.conf file:
Code: Select all
#  cups-pdf.conf -- CUPS Backend Configuration (version 2.5.0, 2009-01-26)
#  18.09.2005, Volker C. Behr
#  Experimentelle Physik V, Universitaet Wuerzburg
[email protected]
#  http://www.cups-pdf.de
#
#
#  This code may be freely distributed as long as this header
#  is preserved. Changes to the code should be clearly indicated.   
#
#  This code is distributed under the GPL.
#  (http://www.gnu.org/copyleft/gpl.html)
#
#  For more detailed licensing information see cups-pdf.c in the
#  corresponding version number.                      

###########################################################################
#                             #
# This is the configuration file for CUPS-PDF. Values that are not set in #
# here will use the defaults. Changes take effect immediately without the #
# need for restarting any services.                 #
#                             #
# Take care not to add whitespaces at the end of a line!        #
#                             #
###########################################################################


###########################################################################
#                             #
# Path Settings                          #
#                             #
###########################################################################

### Key: Out
##  CUPS-PDF output directory
##  special qualifiers:
##     ${HOME} will be expanded to the user's home directory
##     ${USER} will be expanded to the user name
##  in case it is an NFS export make sure it is exported without
##  root_squash!
### Default: /var/spool/cups-pdf/${USER}

#Out /var/spool/cups-pdf/${USER}

### Key: AnonDirName
##  ABSOLUTE path for anonymously created PDF files
##  if anonymous access is disabled this setting has no effect
### Default: /var/spool/cups-pdf/ANONYMOUS

#AnonDirName /var/spool/cups-pdf/ANONYMOUS

### Key: Spool
##  CUPS-PDF spool directory - make sure there is no user 'SPOOL' on your
##  system or change the path   
### Default: /var/spool/cups-pdf/SPOOL

#Spool /var/spool/cups-pdf/SPOOL


###########################################################################
#                             #
# Filename Settings                       #
#                             #
###########################################################################

### Key: Truncate
##  truncate long filenames to a maximum of <Truncate> characters
##  this does not consider the full path to the output but only the filename
##  without the .pdf-extension or a job-id prefix (see 'Label')
##  the minimal value is 8
### Default: 64

#Truncate 64

### Key: Cut
##  removing file name extensions before appending .pdf to output
##  extensions will only be removed if _both_ the following criteria are met:
##   - the extension (w/o the dot) is not longer than <Cut> characters
##   - the remaining filename has a minimal length of 1 character
##  set Cut to -1 in order to disable cutting
##  recommended values: pure UNIX environment : -1
##                      mixed environments    :  3
### Default: 3

#Cut 3

### Key: Label
##  label all jobs with a unique job-id in order to avoid overwriting old
##  files in case new ones with identical names are created; always true for
##  untitled documents
##  0: label untitled documents only, 1: label all documents
### Default: 0

#Label 0

### Key: TitlePref
##  where to look first for a title when creating the output filename
##  (title in PS file or title on commandline):
##  0: prefer title from %Title statement in the PS file
##  1: prefer title passed via commandline
### Default: 0

#TitlePref 0


###########################################################################
#                             #
# User Settings                          #
#                             #
###########################################################################

### Key: AnonUser
##  uid for anonymous PDF creation (this might be a security issue)
##  this setting has no influence on AnonDirName (see there)
##  set this to an empty value to disable anonymous
### Default: nobody

#AnonUser nobody

### Key: LowerCase
##  This options allows to check user names given to CUPS-PDF additionally
##  against their lower case variants. This is necessary since in some
##  Windows environments only upper case user names are passed. Usually UNIX
##  user names are all lower case and it is save to use this option 
##  but be aware that it can lead to mis-identifications in case
##  you have user names that differ only in upper/lower case.
##     check only against user name as passed to CUPS  : 0
##     check additionally against lower case user name : 1
### Default: 1

#LowerCase 1

### Key: UserPrefix
##  some installations require a domain prefix added to the user name
##  leave empty for no prefix
### Default: <empty>

#UserPrefix

### Key: DirPrefix
##  if a prefix was defined above this switch toggels whether to include
##  the prefix in the output directory's name (if not $HOME) or not
##  0: do not include, 1: include
### Default: 0

#DirPrefix 0

### Key: RemovePrefix
##  some installation pass usernames with a prefix (usually a domain name)
##  if you do not want this prefix to be used by the ${USER} variable for
##  output directories put the part which is to be cut here
### Default: <empty>

#RemovePrefix


###########################################################################
#                             #
# Security Settings                       #
#                             #
###########################################################################

### Key: AnonUMask
##  umask for anonymous output
##  these are the _inverse_ permissions to be granted
### Default: 0000

#AnonUMask 0000

### Key: UserUMask
##  umask for user output of known users
##  changing this can introduce security leaks if confidential
##  information is processed!
### Default: 0077

#UserUMask 0077

### Key: Grp
##  group cups-pdf is supposed to run as - this will also be the gid for all
##  created directories and log files
### Default: lp

#Grp lp


###########################################################################
#                             #
# Log Settings                          #
#                             #
###########################################################################

### Key: Log
##  CUPS-PDF log directory
##  set this to an empty value to disable all logging
### Default: /var/log/cups

#Log /var/log/cups

### Key: LogType
##  log-mode
##  1: errors
##  2: status (i.e. activity)
##  4: debug - this will generate a lot of log-output!
##  add up values to combine options, i.e. 7 is full logging
##  if logging is disabled these setting have no effect
### Default: 3

#LogType 3


###########################################################################
#                             #
# PDF Conversion Settings                    #
#                             #
###########################################################################

### Key: GhostScript
##  location of GhostScript binary (gs)
##  MacOSX: for using pstopdf (recommended) set this to /usr/bin/pstopdf
##          or its proper location on your system
### Default: /usr/bin/gs

#GhostScript /usr/bin/gs

### Key: GSTmp
##  location of temporary files during GhostScript operation
##  this must be user-writable like /var/tmp or /tmp !
### Default: /var/tmp

#GSTmp /var/tmp

### Key: GSCall
## command line for calling GhostScript (!!! DO NOT USE NEWLINES !!!)
## MacOSX: for using pstopdf set this to %s %s -o %s %s
### Default: %s -q -dCompatibilityLevel=%s -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -sOutputFile="%s" -dAutoRotatePages=/PageByPage -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dPDFSETTINGS=/prepress -c .setpdfwrite -f %s

#GSCall %s -q -dCompatibilityLevel=%s -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -sOutputFile="%s" -dAutoRotatePages=/PageByPage -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dPDFSETTINGS=/prepress -c .setpdfwrite -f %s

### Key: PDFVer
##  PDF version to be created - can be "1.5", "1.4", "1.3" or "1.2"
##  MacOSX: for using pstopdf set this to an empty value
### Default: 1.4

#PDFVer 1.4

### Key: PostProcessing
##  postprocessing script that will be called after the creation of the PDF
##  as arguments the filename of the PDF, the username as determined by
##  CUPS-PDF and the one as given to CUPS-PDF will be passed
##  the script will be called with user privileges
##  set this to an empty value to use no postprocessing
### Default: <empty>

#PostProcessing


###########################################################################
#                                                                         #
# Experimental Settings                                                   #
#   These settings activate experimental options. If you decide to use    #
#   them I would appreciate any feedback - including an 'ok' if they      #
#   work as expected - so I can eventually put them into the non-         #
#   experimental sections.                    #
#                                                                         #
###########################################################################

### Key: DecodeHexStrings
##  this option will try to decode hex strings in the title to allow
##  internationalized titles
##  (have a look at contrib/pstitleconv for a suitable filter for data
##   from Windows clients)
##  0: disable, 1: enable
### Default: 0

#DecodeHexStrings 0
Sabayon 5.4 AMD64 KDE 4.5.4
on Compaq Presario v5000us notebook
xorg-server-1.8.2, linux-sabayon-2.6.36-r1
1.5 GiB RAM
AMD Turion ML-32 64
ATI Radeon Xpress 200M
argonaut
Simple Hen
 
Posts: 40
Joined: Tue Dec 29, 2009 16:14
Location: Helsinki

Re: Cups-pdf printing, but not producing any file

Postby Fitzcarraldo » Sun Apr 18, 2010 19:58

Looks OK as far as I can see. You did restart CUPS (or reboot), right?:

Code: Select all
# /etc/init.d/cupsd restart

Is the CUPS daemon in the default runlevel and running at the moment?:

Code: Select all
$ su
Password:
# rc-update show -v | grep cups
                cupsd |                                        default
# rc-status | grep cups
 cupsd                                                             [  started  ]
#


I know the Wiki procedure still works because I applied it to SL 5.2 KDE a couple of weeks ago when I installed it on my new laptop, so something odd is going on. Which version of CUPS and CUPS-PDF do you have installed?
User avatar
Fitzcarraldo
Sagely Hen
 
Posts: 7984
Joined: Sat Mar 10, 2007 5:40
Location: United Kingdom

Re: Cups-pdf printing, but not producing any file

Postby argonaut » Mon Apr 19, 2010 19:24

Certainly - I restarted cups-pdf, and also reinstalled a couple of times with no luck in all of them.. For sure, your wiki is very precise and I do believe the procedure works. There's just something strange as you say with my system and I would be very interested to find out what it is.

All seem normal with the demon:
Code: Select all
[email protected] ~ $ su
Password:
sabayon ethan # rc-update show -v | grep cups
                cupsd |                                 default       
sabayon ethan # rc-status | grep cups
 cupsd                                                             [  started  ]


And also the CUPS and CUPS-PDF versions are the current ones:
Code: Select all
@@ Package: net-print/cups-1.4.2-r1 branch: 5, [repo_sabayonlinux.org]
>>        Available:            version: 1.4.2-r1 ~ tag: NoTag ~ revision: 2
>>        Installed:            version: 1.4.2-r1 ~ tag: NoTag ~ revision: 2
>>        Slot:                 0
>>       
>>      @@ Package: net-print/cups-pdf-2.5.0 branch: 5, [repo_sabayonlinux.org]
>>        Available:            version: 2.5.0 ~ tag: NoTag ~ revision: 0
>>        Installed:            version: 2.5.0 ~ tag: NoTag ~ revision: 0
>>        Slot:                 0
Sabayon 5.4 AMD64 KDE 4.5.4
on Compaq Presario v5000us notebook
xorg-server-1.8.2, linux-sabayon-2.6.36-r1
1.5 GiB RAM
AMD Turion ML-32 64
ATI Radeon Xpress 200M
argonaut
Simple Hen
 
Posts: 40
Joined: Tue Dec 29, 2009 16:14
Location: Helsinki

Re: Cups-pdf printing, but not producing any file

Postby Fitzcarraldo » Mon Apr 19, 2010 20:49

When you tried to print after you performed Step 16, did a pop-up window appear prompting you to select the target directory and specify a file name for the PDF file?

Have you checked if there are any error messages in the messages log file?:

Code: Select all
# cat /var/log/messages | grep cups


When you wrote that the PDF file was nowhere to be found, how were you searching for it? If your answer to my first question is "yes", try repeating Step 16 (and undo Step 15, if you have applied it since), try to save a file (give it a name such as test.pdf) and use the following commands to search for it (if you have not already tried this, that is):

Code: Select all
# updatedb
# locate test.pdf


Did you create the directory /var/spool/cups-pdf/ethan/ or was it created automatically?

What is the output when you do the following?:

Code: Select all
# cd /var/spool/cups-pdf/
# ls -la

Does it look something like the following?:

Code: Select all
total 16
drwxr-xr-x 4 root  cron  4096 Mar 30 22:31 .
drwxr-xr-x 7 root  cron  4096 Mar 30 22:26 ..
drwx------ 2 ethan users 4096 Apr 19 16:40 ethan
drwxr-x--x 2 root  lp    4096 Apr 19 16:40 SPOOL


Of which groups are you and the root user members?:

Code: Select all
$ groups
disk lp wheel floppy uucp cron audio cdrom dialout video games cdrw usb users clamav haldaemon plugdev scanner entropy pulse-access pulse-rt pulse crontab vboxusers polkituser
$ su
Password:
# groups
root bin daemon sys adm disk lp wheel floppy dialout tape video clamav messagebus haldaemon


Which packages have you installed since you installed SL 5.2?

Which applications have you tried printing from? If you try printing from Firefox, is there any message displayed in the Firefox pop-up Printing window?

If you do not already have the eix utility installed, install it and enter the following command in order to list the CUPS packages currently installed and the USE flags that were used in the building of those packages:

Code: Select all
$ eix -I cups
User avatar
Fitzcarraldo
Sagely Hen
 
Posts: 7984
Joined: Sat Mar 10, 2007 5:40
Location: United Kingdom

Re: Cups-pdf printing, but not producing any file

Postby argonaut » Wed Apr 21, 2010 19:17

Hello, sorry for my small delay -- too much work!

--Yes, the window that asks where to save the file pops-up.

--No error errors seem to be generated by this command:
Code: Select all
sabayon ethan # cat /var/log/messages | grep cups
sabayon ethan #


But there are errors in /var/log/cups/error_log:
Code: Select all
E [21/Apr/2010:20:13:57 +0300] [cups-driverd] Skipping "/usr/share/ppd": loop detected!


and in /var/log/cups/cups-pdf_log:
Code: Select all
Wed Apr 21 20:28:24 2010  [ERROR] failed to set file mode for PDF file (non fatal) (/var/spool/cups-pdf/ethan/242_Post_a_reply.pdf)
Wed Apr 21 20:28:34 2010  [STATUS] PDF creation successfully finished (ethan)


/var/log/cups/access_log seems fine:
Code: Select all
localhost - - [21/Apr/2010:20:28:23 +0300] "POST /printers/Cups-pdf HTTP/1.1" 200 830452 Print-Job successful-ok


--I search for the files through dolphin (I couldn't locate them) because the two following commands yield:
Code: Select all
sabayon ethan # updatedb
bash: updatedb: command not found
sabayon ethan # locate test.pdf
bash: locate: command not found


-- /var/spool/cups-pdf/ethan/ was created automatically

--The command ls -la for /var/spool/cups-pdf/ yields a somewhat different file than yours:
Code: Select all
sabayon ethan # cd /var/spool/cups-pdf/
sabayon cups-pdf # ls -la
total 20
drwxr-xr-x 5 root  cron  4096 Apr  4 19:35 .
drwxr-xr-x 7 root  cron  4096 Apr 19 22:35 ..
drwx------ 2 ethan users 4096 Apr 17 19:36 ethan
drwx------ 2 root  root  4096 Apr  4 19:35 root
drwxr-x--x 2 root  lp    4096 Apr 21 20:28 SPOOL


--And these are the groups:
Code: Select all
[email protected] ~ $ groups
disk lp wheel floppy uucp cron audio cdrom dialout video games cdrw usb users haldaemon plugdev scanner entropy pulse-access pulse-rt pulse crontab vboxusers polkituser
[email protected] ~ $ su
Password:
sabayon ethan # groups
root bin daemon sys adm disk wheel floppy dialout tape video clamav messagebus haldaemon


--Well, since the fresh installation of SL 5.2 I installed: crossoverlinux + MS Word 2003; some fonts; cups-pdf; zenity; audacious; songbird; GIMP; digiKam; a plasmoid (google dictionary); some icons and aurorae themes; stardict.

--I have tried printing from crossover Word 2003, firefox, open office writer.

--These are the flags and some other info for cups-pdf installation through equo:
Code: Select all
 USE:  amd64 elibc_glibc kernel_linux multilib userland_GNU
 * Please view both the README and contrib_Contents files
 * as you may want to adjust some settings and/or use
 * contributed software. In the latter case you may need
 * to extract some files from the cups-pdf-2.5.0 distfile.
>>    ## Cleaning: net-print/cups-pdf-2.5.0
>>  @@ Installation complete.
>>  @@ Configuration files scan complete.


--And the eix search:
Code: Select all
sabayon ethan # eix -I cups
[I] dev-python/pycups
     Available versions:  (~)1.9.46 (~)1.9.49 {doc examples}
     Installed versions:  1.9.49(10:33:48 AM 03/22/2010)(-doc -examples)
     Homepage:            http://cyberelk.net/tim/data/pycups/
     Description:         Python bindings for the CUPS API

[I] net-print/cups
     Available versions:  1.3.11-r1!t (~)1.3.11-r2!t (~)1.4.3!t {X acl avahi dbus debug gnutls java (+)jpeg kerberos ldap linguas_da linguas_de linguas_en linguas_es linguas_et linguas_eu linguas_fi linguas_fr linguas_he linguas_id linguas_it linguas_ja linguas_ko linguas_nl linguas_no linguas_pl linguas_pt linguas_pt_BR linguas_ru linguas_sv linguas_zh linguas_zh_TW pam perl php (+)png ppds python samba slp (+)ssl static (+)tiff +usb xinetd zeroconf}                                                                 
     Installed versions:  1.4.3!t(12:55:40 PM 04/01/2010)(X acl dbus gnutls jpeg kerberos ldap linguas_da linguas_de linguas_es linguas_eu linguas_fi linguas_fr linguas_it linguas_ja linguas_ko linguas_nl linguas_pl linguas_pt linguas_pt_BR linguas_ru linguas_sv linguas_zh linguas_zh_TW pam perl png python slp ssl tiff usb -debug -java -linguas_id -linguas_no -php -samba -static -xinetd)                         
     Homepage:            http://www.cups.org/
     Description:         The Common Unix Printing System.

[I] net-print/cups-pdf
     Available versions:  2.4.2 (~)2.4.5 2.4.8 (~)2.5.0
     Installed versions:  2.5.0(08:04:04 PM 04/21/2010)
     Homepage:            http://www.cups-pdf.de/
     Description:         Provides a virtual printer for CUPS to produce PDF files.

[I] net-print/libgnomecups
     Available versions:  *0.2.2 0.2.3 {debug}
     Installed versions:  0.2.3(01:50:17 PM 04/02/2010)(-debug)
     Homepage:            http://www.gnome.org/
     Description:         GNOME cups library

Found 4 matches.


Uf! That was a big post!
Sabayon 5.4 AMD64 KDE 4.5.4
on Compaq Presario v5000us notebook
xorg-server-1.8.2, linux-sabayon-2.6.36-r1
1.5 GiB RAM
AMD Turion ML-32 64
ATI Radeon Xpress 200M
argonaut
Simple Hen
 
Posts: 40
Joined: Tue Dec 29, 2009 16:14
Location: Helsinki

Re: Cups-pdf printing, but not producing any file

Postby Fitzcarraldo » Wed Apr 21, 2010 22:09

The reason the updatedb and locate commands didn't work is because you do not have the slocate utility installed. If you install it then the commands will work. The updatedb command just updates the hash (index) file that is used by the locate command.

That directory named 'root' in directory /var/spool/cups-pdf/ does not look correct to me. Try backing it up somewhere else on your HDD and then delete the original. Then try again.

What permissions does the file /usr/libexec/cups/backend/cups-pdf have? Here's mine:

Code: Select all
$ ls -la /usr/libexec/cups/backend/cups-pdf
-rwx------ 1 root root 22784 Jun 27  2009 /usr/libexec/cups/backend/cups-pdf


Given that the Zenity box does pop-up for you (and given the error messages you posted), it looks to me like you have got a directory somewhere without the necessary permissions, thus not letting cups-pdf write to it.

To see if this is the cause, edit the file /etc/cups/cups-pdf.conf and change the following line:

Code: Select all
#GSTmp /var/tmp

to:

Code: Select all
GSTmp /home/ethan/tmp

(don't forget to delete the hash symbol) then create, under your own user account, the directory /home/ethan/tmp/:

Code: Select all
mkdir /home/ethan/tmp

then try restarting the cups daemon again.

You should not need to perform this work-around, but it will simply make cups-pdf use a different directory for temporary Ghostscript files instead of the directory I believe it is apparently not able to write to at the moment. Let's see if that works.
User avatar
Fitzcarraldo
Sagely Hen
 
Posts: 7984
Joined: Sat Mar 10, 2007 5:40
Location: United Kingdom

Re: Cups-pdf printing, but not producing any file

Postby argonaut » Fri Apr 23, 2010 20:36

Very interesting! Your last step had results. So it seems there was a directory permission issue.

To take things in order:

-I deleted the 'root' directory in /var/spool/cups-pdf/, and tried to print: No results and the directory is not recreated automatically, too.

-The permissions for the cups-pdf backend seem to be identical with yours:
Code: Select all
[email protected] ~ $ ls -la /usr/libexec/cups/backend/cups-pdf
-rwx------ 1 root root 22784 Jun 27  2009 /usr/libexec/cups/backend/cups-pdf


-Then, replacing the line "#GSTmp /var/tmp" with "GSTmp /home/ethan/tmp" in cups-pdf.conf, and creating the corresponding directory did the job.

I will mark the post as solved now, and thank you for your excellent help. :thumleft:
Sabayon 5.4 AMD64 KDE 4.5.4
on Compaq Presario v5000us notebook
xorg-server-1.8.2, linux-sabayon-2.6.36-r1
1.5 GiB RAM
AMD Turion ML-32 64
ATI Radeon Xpress 200M
argonaut
Simple Hen
 
Posts: 40
Joined: Tue Dec 29, 2009 16:14
Location: Helsinki


Return to Beginners|Newbies Area

Who is online

Users browsing this forum: No registered users and 1 guest