x2goprint <username> <session_id> <pdf_file> <title_file>
X2Go print jobs are rendered by the cups-x2go backend on your network's (central) CUPS server and then get copied to the X2Go server that the X2Go print job was issued from.
On that X2Go server cups-x2go places two print job files (a PDF file and a title file) into the home directory of the POSIX system user ,,x2goprint'' where they await further processing by x2goprint.
The x2goprint command on the session's X2Go server (executed by cups-x2go backend) then prepares the job files for delivery to the X2Go client-side.
x2goprint must run with root privileges and is executed by cups-x2go.
The owner of the incoming print jobs is given as the <username> argument.
The <session_id> is the unique identifier of the X2Go session that the processed print job is coming from.
The filename of the PDF file as dropped into ~x2goprint by cups-x2go.
The filename of the title file as dropped into ~x2goprint by cups-x2go.
X2Go uses the fuse-based SSH filesystem (SSHFS) for transferring print jobs from X2Go server to X2Go client. Users that shall use X2Go printing must be members of the X2Go server's ,,fuse'' POSIX group.
X2go Cluster Mode
If X2Go server and CUPS server are the same machine, no further setup for X2Go printing is necessary.
However, if X2Go server and CUPS server are hosted on separate machines then a special setup of sudo and SSH is required on X2Go server(s) and the central CUPS server.
Refer to https://wiki.x2go.org/installing_x2go_printing_debian_ubuntu for further information.
By x2goprint nothing is reported on stdout or stderr.
If x2goprint has run successfully, an exitcode of 0 is returned. If the script has either been called by a non-root user or with the wrong number of command line arguments, a non-zero exitcode is returned.
This manual has been written by Mike Gabriel <firstname.lastname@example.org> for the X2Go project (https://www.x2go.org).