Hello, I'm new to the list. I use a server x2go on a Debian 6.0 with Windows XP clients. I do not understand how to set the printing to print on printers on the client side. I installed cups-x2go, and created a printer with cups cups-driver that provides x2go. I installed cups-x2go, and created a printer using the driver that provides cups-x2go. On the client windows, menu Option / Settings / Printing tab is checked the "Show this dialog Before start printing"
Can anyone tell me of some howto or explain how to configure the local client printing from the server windows x2go
Already, thanks
Hello, I'm new to the list. I use a server x2go on a Debian 6.0 with Windows XP clients. I do not understand how to set the printing to print on printers on the client side. I installed cups-x2go, and created a printer with cups cups-driver that provides x2go. I installed cups-x2go, and created a printer using the driver that provides cups-x2go. On the client windows, menu Option / Settings / Printing tab is checked the "Show this dialog Before start printing"
Can anyone tell me of some howto or explain how to configure the local client printing from the server windows x2go
Already, thanks <snip> Hi, Mario. Could you be a bit more detailed about where you are finding
On Mon, 2011-08-01 at 16:49 -0300, Mario OROZ wrote: the problem. When you print from your X2Go desktop to the X2Go printer, what happens? Thanks - John
El 02/08/2011 02:37 p.m., John A. Sullivan III escribió:
Hello, I'm new to the list. I use a server x2go on a Debian 6.0 with Windows XP clients. I do not understand how to set the printing to print on printers on the client side. I installed cups-x2go, and created a printer with cups cups-driver that provides x2go. I installed cups-x2go, and created a printer using the driver that provides cups-x2go. On the client windows, menu Option / Settings / Printing tab is checked the "Show this dialog Before start printing"
Can anyone tell me of some howto or explain how to configure the local client printing from the server windows x2go
Already, thanks <snip> Hi, Mario. Could you be a bit more detailed about where you are finding
On Mon, 2011-08-01 at 16:49 -0300, Mario OROZ wrote: the problem. When you print from your X2Go desktop to the X2Go printer, what happens? Thanks - John
When I try to print from the client x2go desktop to the x2go printer nothings happens! The print job is queued in the spool of the x2go printer (cups server), nothings happens from the client side!
What I need is to understand how to configure the printing system, on both the client and the server side, to achieve redirect the print jobs on the server side to client's local printer. I saw no documentation on this configuration.
This is achievable with the current version of x2goserver/x2goprint/cups-x2go?
Since then, thanks for your answer
Mario.
On Tue, 2011-08-02 at 15:12 -0300, Mario OROZ wrote:
El 02/08/2011 02:37 p.m., John A. Sullivan III escribió:
Hello, I'm new to the list. I use a server x2go on a Debian 6.0 with Windows XP clients. I do not understand how to set the printing to print on printers on the client side. I installed cups-x2go, and created a printer with cups cups-driver that provides x2go. I installed cups-x2go, and created a printer using the driver that provides cups-x2go. On the client windows, menu Option / Settings / Printing tab is checked the "Show this dialog Before start printing"
Can anyone tell me of some howto or explain how to configure the local client printing from the server windows x2go
Already, thanks <snip> Hi, Mario. Could you be a bit more detailed about where you are finding
On Mon, 2011-08-01 at 16:49 -0300, Mario OROZ wrote: the problem. When you print from your X2Go desktop to the X2Go printer, what happens? Thanks - John
When I try to print from the client x2go desktop to the x2go printer nothings happens! The print job is queued in the spool of the x2go printer (cups server), nothings happens from the client side!
What I need is to understand how to configure the printing system, on both the client and the server side, to achieve redirect the print jobs on the server side to client's local printer. I saw no documentation on this configuration.
This is achievable with the current version of x2goserver/x2goprint/cups-x2go?
Since then, thanks for your answer <snip> Is the cups server running on the X2Go server? If not, I believe it needs the ability to SSH to it to transfer the file.
The printing is also dependent upon sshfs working properly. This should be relatively automagic assuming it is not being blocked by Windows.
On the X2Go server side, if you issue a mount command, do you see a print spool directory, e.g., sshuser@127.0.0.1:/cygdrive/C/DOCUME~1/MYID~1/X2GO~1/S-9270~1/spool on /tmp/spool_myid/myid-63-1312305869_stDKDE_dp32 type fuse.sshfs (rw,nosuid,nodev,max_read=65536,user=myid)
El 02/08/2011 03:20 p.m., John A. Sullivan III escribió:
On Tue, 2011-08-02 at 15:12 -0300, Mario OROZ wrote:
El 02/08/2011 02:37 p.m., John A. Sullivan III escribi:
Hello, I'm new to the list. I use a server x2go on a Debian 6.0 with Windows XP clients. I do not understand how to set the printing to print on printers on the client side. I installed cups-x2go, and created a printer with cups cups-driver that provides x2go. I installed cups-x2go, and created a printer using the driver that provides cups-x2go. On the client windows, menu Option / Settings / Printing tab is checked the "Show this dialog Before start printing"
Can anyone tell me of some howto or explain how to configure the local client printing from the server windows x2go
Already, thanks <snip> Hi, Mario. Could you be a bit more detailed about where you are finding
On Mon, 2011-08-01 at 16:49 -0300, Mario OROZ wrote: the problem. When you print from your X2Go desktop to the X2Go printer, what happens? Thanks - John
When I try to print from the client x2go desktop to the x2go printer nothings happens! The print job is queued in the spool of the x2go printer (cups server), nothings happens from the client side!
What I need is to understand how to configure the printing system, on both the client and the server side, to achieve redirect the print jobs on the server side to client's local printer. I saw no documentation on this configuration.
This is achievable with the current version of x2goserver/x2goprint/cups-x2go?
Since then, thanks for your answer <snip> Is the cups server running on the X2Go server?
Yes! x2go server and tne cups server are in the same PC.
If not, I believe it needs the ability to SSH to it to transfer the file.
The printing is also dependent upon sshfs working properly. This should be relatively automagic assuming it is not being blocked by Windows.
On the X2Go server side, if you issue a mount command, do you see a print spool directory, e.g., sshuser@127.0.0.1:/cygdrive/C/DOCUME~1/MYID~1/X2GO~1/S-9270~1/spool on /tmp/spool_myid/myid-63-1312305869_stDKDE_dp32 type fuse.sshfs (rw,nosuid,nodev,max_read=65536,user=myid)
I can see this type of mount! being logged in with my username, from the server in a console; can change dir to /tmp/spool_mario/mario-60-1312310981_stDGNOME_dp32 and I created 2 files in that directory: $ Echo "some text"> x.txt $ Echo "x.txt"> x.txt.ready
On the client PC, the window for print for x2go emerged.
Pressing the print button gave an error:
Window Title: Printing error Failed to execute command: C:\Archivos de programa\GhostGum\gsview\gsprint.exe -query -color C:/Documents and Settings/mario/.x2go/S-mario-60-1312310981_stDGNOME_dp32/spool/x.txt [OK button]
But that is not important; for now!
The important thing is that apparently the print jobs are not placed / created in the directory /tmp/spool_mario/mario-60-1312310981_stDGNOME_dp32
why?
Thanks Jhon!
El 02/08/2011 03:20 p.m., John A. Sullivan III escribió:
On Tue, 2011-08-02 at 15:12 -0300, Mario OROZ wrote:
El 02/08/2011 02:37 p.m., John A. Sullivan III escribi:
Hello, I'm new to the list. I use a server x2go on a Debian 6.0 with Windows XP clients. I do not understand how to set the printing to print on printers on the client side. I installed cups-x2go, and created a printer with cups cups-driver that provides x2go. I installed cups-x2go, and created a printer using the driver that provides cups-x2go. On the client windows, menu Option / Settings / Printing tab is checked the "Show this dialog Before start printing"
Can anyone tell me of some howto or explain how to configure the local client printing from the server windows x2go
Already, thanks <snip> Hi, Mario. Could you be a bit more detailed about where you are finding
On Mon, 2011-08-01 at 16:49 -0300, Mario OROZ wrote: the problem. When you print from your X2Go desktop to the X2Go printer, what happens? Thanks - John
When I try to print from the client x2go desktop to the x2go printer nothings happens! The print job is queued in the spool of the x2go printer (cups server), nothings happens from the client side!
What I need is to understand how to configure the printing system, on both the client and the server side, to achieve redirect the print jobs on the server side to client's local printer. I saw no documentation on this configuration.
This is achievable with the current version of x2goserver/x2goprint/cups-x2go?
Since then, thanks for your answer <snip> Is the cups server running on the X2Go server?
Yes! x2go server and tne cups server are in the same PC.
If not, I believe it needs the ability to SSH to it to transfer the file.
The printing is also dependent upon sshfs working properly. This should be relatively automagic assuming it is not being blocked by Windows.
On the X2Go server side, if you issue a mount command, do you see a print spool directory, e.g., sshuser@127.0.0.1:/cygdrive/C/DOCUME~1/MYID~1/X2GO~1/S-9270~1/spool on /tmp/spool_myid/myid-63-1312305869_stDKDE_dp32 type fuse.sshfs (rw,nosuid,nodev,max_read=65536,user=myid)
I can see this type of mount! being logged in with my username, from the server in a console; can change dir to /tmp/spool_mario/mario-60-1312310981_stDGNOME_dp32 and I created 2 files in that directory: $ Echo "some text"> x.txt $ Echo "x.txt"> x.txt.ready
On the client PC, the window for print for x2go emerged.
Pressing the print button gave an error:
Window Title: Printing error Failed to execute command: C:\Archivos de programa\GhostGum\gsview\gsprint.exe -query -color C:/Documents and Settings/mario/.x2go/S-mario-60-1312310981_stDGNOME_dp32/spool/x.txt [OK button]
But that is not important; for now!
The important thing is that apparently the print jobs are not placed / created in the directory /tmp/spool_mario/mario-60-1312310981_stDGNOME_dp32
why? <snip> I really don't know. It has been quite a while since I setup X2Go
On Tue, 2011-08-02 at 17:10 -0300, Mario OROZ wrote: printing and our environment is very specialized. If I recall correctly, the X2Go print driver is a script or somewhere there is a script involved which places the files in the appropriate tmp directory. Is there any chance that script is not executable?
You may wish to find that script and edit it by adding some debug information. I usually add a logger command to send output or simply statements about where I am in the script to the syslog. This way, you can find out where the script is breaking. Hope that helps - John
El 02/08/2011 11:47 p.m., John A. Sullivan III escribió:
El 02/08/2011 03:20 p.m., John A. Sullivan III escribió:
On Tue, 2011-08-02 at 15:12 -0300, Mario OROZ wrote:
El 02/08/2011 02:37 p.m., John A. Sullivan III escribi:
Hello, I'm new to the list. I use a server x2go on a Debian 6.0 with Windows XP clients. I do not understand how to set the printing to print on printers on the client side. I installed cups-x2go, and created a printer with cups cups-driver that provides x2go. I installed cups-x2go, and created a printer using the driver that provides cups-x2go. On the client windows, menu Option / Settings / Printing tab is checked the "Show this dialog Before start printing"
Can anyone tell me of some howto or explain how to configure the local client printing from the server windows x2go
Already, thanks <snip> Hi, Mario. Could you be a bit more detailed about where you are finding
On Mon, 2011-08-01 at 16:49 -0300, Mario OROZ wrote: the problem. When you print from your X2Go desktop to the X2Go printer, what happens? Thanks - John
When I try to print from the client x2go desktop to the x2go printer nothings happens! The print job is queued in the spool of the x2go printer (cups server), nothings happens from the client side!
What I need is to understand how to configure the printing system, on both the client and the server side, to achieve redirect the print jobs on the server side to client's local printer. I saw no documentation on this configuration.
This is achievable with the current version of x2goserver/x2goprint/cups-x2go?
Since then, thanks for your answer <snip> Is the cups server running on the X2Go server? Yes! x2go server and tne cups server are in the same PC.
If not, I believe it needs the ability to SSH to it to transfer the file.
The printing is also dependent upon sshfs working properly. This should be relatively automagic assuming it is not being blocked by Windows.
On the X2Go server side, if you issue a mount command, do you see a print spool directory, e.g., sshuser@127.0.0.1:/cygdrive/C/DOCUME~1/MYID~1/X2GO~1/S-9270~1/spool on /tmp/spool_myid/myid-63-1312305869_stDKDE_dp32 type fuse.sshfs (rw,nosuid,nodev,max_read=65536,user=myid) I can see this type of mount! being logged in with my username, from the server in a console; can change dir to /tmp/spool_mario/mario-60-1312310981_stDGNOME_dp32 and I created 2 files in that directory: $ Echo "some text"> x.txt $ Echo "x.txt"> x.txt.ready
On the client PC, the window for print for x2go emerged.
Pressing the print button gave an error:
Window Title: Printing error Failed to execute command: C:\Archivos de programa\GhostGum\gsview\gsprint.exe -query -color C:/Documents and Settings/mario/.x2go/S-mario-60-1312310981_stDGNOME_dp32/spool/x.txt [OK button]
But that is not important; for now!
The important thing is that apparently the print jobs are not placed / created in the directory /tmp/spool_mario/mario-60-1312310981_stDGNOME_dp32
why? <snip> I really don't know. It has been quite a while since I setup X2Go
On Tue, 2011-08-02 at 17:10 -0300, Mario OROZ wrote: printing and our environment is very specialized. If I recall correctly, the X2Go print driver is a script or somewhere there is a script involved which places the files in the appropriate tmp directory. Is there any chance that script is not executable?
1 - I do not know perl!
The script / usr/lib/cups/backend/cups-x2go making the task of printing has permissions 0700 and owned by root and group is root
Reading the script I can see references to a user x2goprint, that is not created on my system. Instead it is added to the file / etc / sudoers
What we still do not recognize is how backen detects user's (not x2goprint user $spooldir) spool directory:
You may wish to find that script and edit it by adding some debug information. I usually add a logger command to send output or simply statements about where I am in the script to the syslog. This way, you can find out where the script is breaking. Hope that helps - John
How can i debug. What are those statement to make the script log to syslog?
Thanks
On Wed, 2011-08-03 at 17:11 -0300, Mario OROZ wrote:
El 02/08/2011 11:47 p.m., John A. Sullivan III escribió:
El 02/08/2011 03:20 p.m., John A. Sullivan III escribió:
On Tue, 2011-08-02 at 15:12 -0300, Mario OROZ wrote:
El 02/08/2011 02:37 p.m., John A. Sullivan III escribi:
On Mon, 2011-08-01 at 16:49 -0300, Mario OROZ wrote: > Hello, I'm new to the list. > I use a server x2go on a Debian 6.0 with Windows XP clients. > I do not understand how to set the printing to print on printers on the client side. > I installed cups-x2go, and created a printer with cups cups-driver that provides > x2go. > I installed cups-x2go, and created a printer using the driver that provides > cups-x2go. > On the client windows, menu Option / Settings / Printing tab is checked the > "Show this dialog Before start printing" > > Can anyone tell me of some howto or explain how to configure the local client > printing from the server windows x2go > > Already, thanks <snip> Hi, Mario. Could you be a bit more detailed about where you are finding the problem. When you print from your X2Go desktop to the X2Go printer, what happens? Thanks - John
When I try to print from the client x2go desktop to the x2go printer nothings happens! The print job is queued in the spool of the x2go printer (cups server), nothings happens from the client side!
What I need is to understand how to configure the printing system, on both the client and the server side, to achieve redirect the print jobs on the server side to client's local printer. I saw no documentation on this configuration.
This is achievable with the current version of x2goserver/x2goprint/cups-x2go?
Since then, thanks for your answer <snip> Is the cups server running on the X2Go server? Yes! x2go server and tne cups server are in the same PC.
If not, I believe it needs the ability to SSH to it to transfer the file.
The printing is also dependent upon sshfs working properly. This should be relatively automagic assuming it is not being blocked by Windows.
On the X2Go server side, if you issue a mount command, do you see a print spool directory, e.g., sshuser@127.0.0.1:/cygdrive/C/DOCUME~1/MYID~1/X2GO~1/S-9270~1/spool on /tmp/spool_myid/myid-63-1312305869_stDKDE_dp32 type fuse.sshfs (rw,nosuid,nodev,max_read=65536,user=myid) I can see this type of mount! being logged in with my username, from the server in a console; can change dir to /tmp/spool_mario/mario-60-1312310981_stDGNOME_dp32 and I created 2 files in that directory: $ Echo "some text"> x.txt $ Echo "x.txt"> x.txt.ready
On the client PC, the window for print for x2go emerged.
Pressing the print button gave an error:
Window Title: Printing error Failed to execute command: C:\Archivos de programa\GhostGum\gsview\gsprint.exe -query -color C:/Documents and Settings/mario/.x2go/S-mario-60-1312310981_stDGNOME_dp32/spool/x.txt [OK button]
But that is not important; for now!
The important thing is that apparently the print jobs are not placed / created in the directory /tmp/spool_mario/mario-60-1312310981_stDGNOME_dp32
why? <snip> I really don't know. It has been quite a while since I setup X2Go
On Tue, 2011-08-02 at 17:10 -0300, Mario OROZ wrote: printing and our environment is very specialized. If I recall correctly, the X2Go print driver is a script or somewhere there is a script involved which places the files in the appropriate tmp directory. Is there any chance that script is not executable?
1 - I do not know perl!
The script / usr/lib/cups/backend/cups-x2go making the task of printing has permissions 0700 and owned by root and group is root
Reading the script I can see references to a user x2goprint, that is not created on my system. Instead it is added to the file / etc / sudoers
What we still do not recognize is how backen detects user's (not x2goprint user $spooldir) spool directory:
You may wish to find that script and edit it by adding some debug information. I usually add a logger command to send output or simply statements about where I am in the script to the syslog. This way, you can find out where the script is breaking. Hope that helps - John
How can i debug. What are those statement to make the script log to syslog?
<snip> Something like logger -t "X2GoPrint " "I at at such and such a point in the script"
As I mentioned, it is a long time since I've set up x2go printing and, although we highly customized it, it was pretty straightforward. You might want to doublecheck the instructions and see if you missed anything. Good luck - John
El 02/08/2011 11:47 p.m., John A. Sullivan III escribió:
El 02/08/2011 03:20 p.m., John A. Sullivan III escribió:
On Tue, 2011-08-02 at 15:12 -0300, Mario OROZ wrote:
El 02/08/2011 02:37 p.m., John A. Sullivan III escribi:
Hello, I'm new to the list. I use a server x2go on a Debian 6.0 with Windows XP clients. I do not understand how to set the printing to print on printers on the client side. I installed cups-x2go, and created a printer with cups cups-driver that provides x2go. I installed cups-x2go, and created a printer using the driver that provides cups-x2go. On the client windows, menu Option / Settings / Printing tab is checked the "Show this dialog Before start printing"
Can anyone tell me of some howto or explain how to configure the local client printing from the server windows x2go
Already, thanks <snip> Hi, Mario. Could you be a bit more detailed about where you are finding
On Mon, 2011-08-01 at 16:49 -0300, Mario OROZ wrote: the problem. When you print from your X2Go desktop to the X2Go printer, what happens? Thanks - John
When I try to print from the client x2go desktop to the x2go printer nothings happens! The print job is queued in the spool of the x2go printer (cups server), nothings happens from the client side!
What I need is to understand how to configure the printing system, on both the client and the server side, to achieve redirect the print jobs on the server side to client's local printer. I saw no documentation on this configuration.
This is achievable with the current version of x2goserver/x2goprint/cups-x2go?
Since then, thanks for your answer <snip> Is the cups server running on the X2Go server? Yes! x2go server and tne cups server are in the same PC.
If not, I believe it needs the ability to SSH to it to transfer the file.
The printing is also dependent upon sshfs working properly. This should be relatively automagic assuming it is not being blocked by Windows.
On the X2Go server side, if you issue a mount command, do you see a print spool directory, e.g., sshuser@127.0.0.1:/cygdrive/C/DOCUME~1/MYID~1/X2GO~1/S-9270~1/spool on /tmp/spool_myid/myid-63-1312305869_stDKDE_dp32 type fuse.sshfs (rw,nosuid,nodev,max_read=65536,user=myid) I can see this type of mount! being logged in with my username, from the server in a console; can change dir to /tmp/spool_mario/mario-60-1312310981_stDGNOME_dp32 and I created 2 files in that directory: $ Echo "some text"> x.txt $ Echo "x.txt"> x.txt.ready
On the client PC, the window for print for x2go emerged.
Pressing the print button gave an error:
Window Title: Printing error Failed to execute command: C:\Archivos de programa\GhostGum\gsview\gsprint.exe -query -color C:/Documents and Settings/mario/.x2go/S-mario-60-1312310981_stDGNOME_dp32/spool/x.txt [OK button]
But that is not important; for now!
The important thing is that apparently the print jobs are not placed / created in the directory /tmp/spool_mario/mario-60-1312310981_stDGNOME_dp32
why? <snip> I really don't know. It has been quite a while since I setup X2Go
On Tue, 2011-08-02 at 17:10 -0300, Mario OROZ wrote: printing and our environment is very specialized. If I recall correctly, the X2Go print driver is a script or somewhere there is a script involved which places the files in the appropriate tmp directory. Is there any chance that script is not executable?
You may wish to find that script and edit it by adding some debug information. I usually add a logger command to send output or simply statements about where I am in the script to the syslog. This way, you can find out where the script is breaking. Hope that helps - John
Hello people!
I changed the cups-x2go script, so I could print on a client XP. Also modify x2goprint, but not its functionality, just add a few lines to logging. The problem, from what little I could understand, is that the user x2goprint it is not created in the installation package x2goserver.*.deb, #·addgroup --system x2goprint # adduser --system --no-create-home --shell /bin/bash --group --home /var/spool/cups/x2goprint x2goprint # passwd -d x2goprint #### Surely there is a better way to create this user. Besides having some leftover variables like $sess. And x2goprint generates a problem when it checks if there is a mount point in the session called $spooldir when there is *additionaly* a shared directory configured for the remote user on the client PC for export.
Y commented the 2 script with #mario# tags for clarity
I copy here:
[BEGIN_cups-x2go]
#!/usr/bin/perl # x2go CUPS backend # Copyright 2009-2011 Obviously Nice # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 2 of the License, or (at your # option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General # Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
use Sys::Syslog qw( :DEFAULT setlogsock); #mario# module to log to syslog use Sys::Hostname; use File::Basename; use File::Copy; use strict;
setlogsock('unix'); openlog($0,'','user'); #mario# for log to syslog
my $x2goserver = "local"; my $printdsa = "/root/.x2go/ssh/.x2goprint/id_dsa"; my $ps2pdf = "/usr/bin/gs -q -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -sOutputFile=\"%s.pdf\" -dAutoRotatePages=/PageByPage -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dPDFSETTINGS=/prepress -c .setpdfwrite -f /usr/bin/margen-offset.ps \"%s\""; my $cfgfile="/etc/cups/cups-x2go.conf"; my $userName; my @sessions; my $host=hostname();
sub readconfig { if( -e $cfgfile) { open(CFG,"<$cfgfile"); while(!eof(CFG)) { my $ln=<CFG>; my $nocomln=(split("#",$ln))[0]; $nocomln=~s/\n//g; my @valarr=split("=",$nocomln); my $option=@valarr[0]; shift(@valarr); my $value=join("=",@valarr); $option=~s/ //g; if($option eq "x2goserver") { $x2goserver=$value; $x2goserver=~s/ //g } if($option eq "printdsa") { $printdsa=$value; } if($option eq "ps2pdf") { $ps2pdf=$value; }
}
close(CFG);
} }
sub getsessions
{
my $sesslist;
if ( $x2goserver eq "local" )
{
open (SQLCONF, "</etc/x2go/x2gosql/sql");
my $cfgline=<SQLCONF>;
close (SQLCONF);
if(($cfgline=~m/local/)||($cfgline=~m/sqlite/))
{
$sesslist=su $userName -c "x2golistsessions --all-servers"
;
}
}
else
{
$sesslist=ssh -i $printdsa x2goprint\@$x2goserver "sudo x2goprint $userName"
;
}
@sessions=split("\n",$sesslist);
}
sub printfile { my ($pfile,$tfile,$phost, $sess)=@_; my $bname=basename($pfile); if($phost eq $host) { my ($tm,$tm,$uid,$gid,$tm,$tm,$tm,$spooldir)=getpwnam("x2goprint"); #mario# I create the user x2goprint with home=/var/spool/cups/x2goprint #mario# drwxrwxr-x 2 x2goprint x2goprint 4096 ago 12 20:20 /var/spool/cups/x2goprint #mario# and put x2goprint to sudoers like the manual. my $spfile="$spooldir/$bname"; #mario# eliminate $sess from $spooldir$sess$bname and put "/" here. syslog('info', "spfile-> $spfile");
copy($pfile, $spfile);
syslog('info', "printfile copy pfile-> $pfile to spfile-> $spfile");
copy($tfile, "$spfile.title");
syslog('info', "printfile copy tfile-> $tfile to spfile.title->
$spfile.title");
chown $uid,$gid,$spfile;
chown $uid,$gid,"$spfile.title";
#mario# added the above line to $spfile.title
system( "su x2goprint -c \"sudo x2goprint $userName $sess $bname
$bname.title\"" ); #mario# eliminate 2nd and 3th mention off $sess; in $bname and $bname.title syslog('info', "su x2goprint -c sudo x2goprint $userName $sess $bname $bname.title"); } else { system ("scp -i $printdsa $pfile $tfile x2goprint\@$x2goserver:~x2goprint/"); system( "ssh -i $printdsa x2goprint\@$x2goserver \"sudo x2goprint $userName $sess $bname $bname.title\"" ); } }
my $uname=$ENV{USER};
if (!$ARGV[0]) { print "file cups-x2go:/ \"Virtual X2GO Printer\" \"CUPS-X2GO\" \"MFG:Generic;MDL:CUPS-X2GO Printer;DES:Generic CUPS-X2GO Printer;CLS:PRINTER;CMD:POSTSCRIPT;\"\n"; exit 0; }
if (scalar(@ARGV) < 5 || scalar(@ARGV) > 6) { print STDERR "ERROR: Usage: cups-x2go job-id user title copies options [file]\n"; exit 1; }
my $jobID; my $jobTitle; my $copies; my $printOptions; my $printFile;
($jobID, $userName, $jobTitle, $copies, $printOptions, $printFile) = @ARGV; my $sepa = "->-"; #mario# to separate de printjob filename syslog('info', "I received from cups-> $jobID $userName $jobTitle $copies $printOptions $sepa $printFile"); #mario# to see what he received from cups my $tempFile; if (!$printFile) { my $jid = $jobID; my $uid = $userName; $jid =~ s/\W//g; #sanity check $uid =~ s/\W//g; #sanity check $tempFile = "$ENV{TMPDIR}/$jid-$uid-cupsjob$$"; syslog('info', "Come from STDIN -> it create tempFile = $tempFile\n"); #mario# Come from stdin? open (OUT, ">$tempFile") or die "ERROR: Cannot write $tempFile: $!\n"; while(<STDIN>) { print OUT "$_"; } close OUT;
$printFile = $tempFile;
}
readconfig();
$ps2pdf=~s/%s/$printFile/g; system($ps2pdf); $printFile="$printFile.pdf"; my $titleFile="$printFile.title"; open (TITLE,">$titleFile"); print TITLE $jobTitle; close (TITLE);
getsessions(); for(my $i=0; $i<scalar(@sessions);$i++ ) { my @sinfo=split("\\|",@sessions[$i]); if(@sinfo[4] eq "R") { printfile( $printFile, $titleFile, @sinfo[3], @sinfo[1]);
syslog('info', "Call to printfile function with: $printFile $titleFile
@sinfo[3] @sinfo[1]\n"); #mario# to see how i call printfile function! } }
unlink ($printFile); unlink ($titleFile); closelog; #mario# to close syslog logging.
[END_cups-x2go]
======================//======================//===================== ======================//======================//=====================
[BEGIN_x2goprint]
#!/usr/bin/perl
# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. # # Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> # Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de>
use Sys::Syslog qw( :DEFAULT setlogsock); #mario# module to log to syslog use File::Basename; use File::Copy; use File::Path; use strict;
use lib "/usr/lib/x2go"; use x2godbwrapper;
setlogsock('unix'); openlog($0,'','user'); #mario# for log to syslog
if (scalar(@ARGV) ==1) { system ("su @ARGV[0] -c \"x2golistsessions --all-servers\" "); } elsif (scalar(@ARGV) != 4) { print STDERR "ERROR: Usage:\nx2goprint user session file titleFile\nx2goprint user\n"; exit 1; }
my ($user, $session, $file, $titleFile)=@ARGV; syslog('info', "X2GOPRINT receive ARGS: $user $session $file $titleFile"); #mario# wath args come from cups-x2go my ($tm,$tm,$uid,$gid,$tm,$tm,$tm,$homedir)=getpwnam("x2goprint"); my $printdir=$homedir;
my $title; if( -e "$printdir/$titleFile") { open (TITLE,"<$printdir/$titleFile"); $title=<TITLE>; close (TITLE); unlink("$printdir/$titleFile"); }
($tm,$tm,$uid,$gid,$tm,$tm,$tm,$homedir)=getpwnam($user);
my $spoolbase="/tmp/spool_$user"; my $spooldir="$spoolbase/$session"; my $spooltmp="$spoolbase/tmp"; mkpath($spooltmp); chown $uid, $gid, "$spooltmp"; chmod 0700, "$spooltmp";
my ($mounts)=db_getmounts($session);
if( $mounts=~m/$spooldir/) #mario# here, if I have an exported directory (shared folder) from the client does not match the conditions outlined in the if #mario# and jump the copy of the printjob to the client. PLEASE see this problem! { move("$printdir/$file", "$spooltmp") or die "$!: Can't move $file to $spooltmp/"; chown $uid, $gid, "$spooltmp/$file"; system("su $user -c \"mv $spooltmp/$file $spooldir\""); syslog('info', "X2GOPRINT: su $user -c mv $spooltmp/$file $spooldir"); #mario# $user move file from the server to client sshfs $spooldir direcoty mounted open (RFILE,">$spooltmp/$file.ready"); print RFILE "$file\n$title"; close (RFILE);
chown $uid, $gid, "$spooltmp/$file.ready";
system ("su $user -c \"mv $spooltmp/$file.ready $spooldir\"");
syslog('info', "X2GOPRINT: su $user -c mv $spooltmp/$file.ready $spooldir");
#mario# the same as above...
} else { unlink("$printdir/$file"); }
closelog; #mario# close the log to syslog
[END_x2goprint]
=====================================/////===============================
with Debian 6.0 server repository apt-get: deb http://packages.x2go.org/debian squeeze main deb-src http://packages.x2go.org/debian squeeze main And Win XP SP3
What are the repositories of *Production*?
I hope will be useful to someone
Mario.
Hi Mario,
sorry for top posting...
THANKS for sharing your work, Mario!!!
Could you please do this:
git clone git://code.x2go.org/cups-x2go.git cd cups-x2go <put your changes into the files there> git diff -> then send the diff to patches@x2go.org
Same for x2goserver.git.
This will be much easier to read and use.
Thanks, Mike
@Morty: how do you send Git patches via mail. With you they seem to
come directly from the git command. Could you add some lines in the
wiki on that?
On Mo 15 Aug 2011 20:56:53 CEST Mario OROZ wrote:
El 02/08/2011 11:47 p.m., John A. Sullivan III escribió:
El 02/08/2011 03:20 p.m., John A. Sullivan III escribió:
On Tue, 2011-08-02 at 15:12 -0300, Mario OROZ wrote:
El 02/08/2011 02:37 p.m., John A. Sullivan III escribi:
On Mon, 2011-08-01 at 16:49 -0300, Mario OROZ wrote: > Hello, I'm new to the list. > I use a server x2go on a Debian 6.0 with Windows XP clients. > I do not understand how to set the printing to print on
> printers on the client side. > I installed cups-x2go, and created a printer with cups
> cups-driver that provides > x2go. > I installed cups-x2go, and created a printer using the driver
> that provides > cups-x2go. > On the client windows, menu Option / Settings / Printing tab
> is checked the > "Show this dialog Before start printing" > > Can anyone tell me of some howto or explain how to configure
> the local client > printing from the server windows x2go > > Already, thanks <snip> Hi, Mario. Could you be a bit more detailed about where you are finding the problem. When you print from your X2Go desktop to the X2Go printer, what happens? Thanks - JohnWhen I try to print from the client x2go desktop to the x2go
printer nothings happens! The print job is queued in the spool of the x2go printer (cups server), nothings happens from the client side!What I need is to understand how to configure the printing
system, on both the client and the server side, to achieve redirect the print jobs on the
server side to client's local printer. I saw no documentation on this configuration.This is achievable with the current version of
x2goserver/x2goprint/cups-x2go?Since then, thanks for your answer <snip> Is the cups server running on the X2Go server? Yes! x2go server and tne cups server are in the same PC.
If not, I believe it needs the ability to SSH to it to transfer the file.
The printing is also dependent upon sshfs working properly. This should be relatively automagic assuming it is not being blocked by Windows.
On the X2Go server side, if you issue a mount command, do you see a print spool directory, e.g., sshuser@127.0.0.1:/cygdrive/C/DOCUME~1/MYID~1/X2GO~1/S-9270~1/spool on /tmp/spool_myid/myid-63-1312305869_stDKDE_dp32 type fuse.sshfs (rw,nosuid,nodev,max_read=65536,user=myid) I can see this type of mount! being logged in with my username, from the server in a console;
can change dir to /tmp/spool_mario/mario-60-1312310981_stDGNOME_dp32 and I created 2 files in that directory: $ Echo "some text"> x.txt $ Echo "x.txt"> x.txt.readyOn the client PC, the window for print for x2go emerged.
Pressing the print button gave an error:
Window Title: Printing error Failed to execute command: C:Archivos de programaGhostGumgsviewgsprint.exe -query -color C:/Documents and Settings/mario/.x2go/S-mario-60-1312310981_stDGNOME_dp32/spool/x.txt [OK button]
But that is not important; for now!
The important thing is that apparently the print jobs are not
placed / created in the directory /tmp/spool_mario/mario-60-1312310981_stDGNOME_dp32why? <snip> I really don't know. It has been quite a while since I setup X2Go
On Tue, 2011-08-02 at 17:10 -0300, Mario OROZ wrote: printing and our environment is very specialized. If I recall correctly, the X2Go print driver is a script or somewhere there is a script involved which places the files in the appropriate tmp directory. Is there any chance that script is not executable?
You may wish to find that script and edit it by adding some debug information. I usually add a logger command to send output or simply statements about where I am in the script to the syslog. This way, you can find out where the script is breaking. Hope that helps - John
Hello people!
I changed the cups-x2go script, so I could print on a client XP. Also modify x2goprint, but not its functionality, just add a few
lines to logging. The problem, from what little I could understand, is that the user
x2goprint it is not created in the installation package x2goserver.*.deb, #·addgroup --system x2goprint # adduser --system --no-create-home --shell /bin/bash --group --home /var/spool/cups/x2goprint x2goprint # passwd -d x2goprint #### Surely there is a better way to create this user. Besides having some leftover variables like $sess. And x2goprint generates a problem when it checks if there is a mount point in the session called $spooldir when there is *additionaly* a shared directory configured for the remote user on the client PC for export.Y commented the 2 script with #mario# tags for clarity
I copy here:
[BEGIN_cups-x2go]
#!/usr/bin/perl # x2go CUPS backend # Copyright 2009-2011 Obviously Nice # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 2 of the License, or (at your # option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General # Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
use Sys::Syslog qw( :DEFAULT setlogsock); #mario# module to log to syslog use Sys::Hostname; use File::Basename; use File::Copy; use strict;
setlogsock('unix'); openlog($0,'','user'); #mario# for log to syslog
my $x2goserver = "local"; my $printdsa = "/root/.x2go/ssh/.x2goprint/id_dsa"; my $ps2pdf = "/usr/bin/gs -q -dCompatibilityLevel=1.4 -dNOPAUSE
-dBATCH -dSAFER -sDEVICE=pdfwrite -sOutputFile="%s.pdf" -dAutoRotatePages=/PageByPage -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dPDFSETTINGS=/prepress -c .setpdfwrite -f /usr/bin/margen-offset.ps "%s""; my $cfgfile="/etc/cups/cups-x2go.conf"; my $userName; my @sessions; my $host=hostname();sub readconfig { if( -e $cfgfile) { open(CFG,"<$cfgfile"); while(!eof(CFG)) { my $ln=<CFG>; my $nocomln=(split("#",$ln))[0]; $nocomln=~s/n//g; my @valarr=split("=",$nocomln); my $option=@valarr[0]; shift(@valarr); my $value=join("=",@valarr); $option=~s/ //g; if($option eq "x2goserver") { $x2goserver=$value; $x2goserver=~s/ //g } if($option eq "printdsa") { $printdsa=$value; } if($option eq "ps2pdf") { $ps2pdf=$value; }
} close(CFG);
} }
sub getsessions { my $sesslist; if ( $x2goserver eq "local" ) { open (SQLCONF, "</etc/x2go/x2gosql/sql"); my $cfgline=<SQLCONF>; close (SQLCONF); if(($cfgline=~m/local/)||($cfgline=~m/sqlite/)) { $sesslist=
su $userName -c "x2golistsessions --all-servers"
; } } else { $sesslist=ssh -i $printdsa x2goprint@$x2goserver "sudo x2goprint $userName"
; } @sessions=split("n",$sesslist); }sub printfile { my ($pfile,$tfile,$phost, $sess)=@_; my $bname=basename($pfile); if($phost eq $host) { my ($tm,$tm,$uid,$gid,$tm,$tm,$tm,$spooldir)=getpwnam("x2goprint"); #mario# I create the user x2goprint with
home=/var/spool/cups/x2goprint #mario# drwxrwxr-x 2 x2goprint x2goprint 4096 ago 12 20:20 /var/spool/cups/x2goprint #mario# and put x2goprint to sudoers like the manual. my $spfile="$spooldir/$bname"; #mario# eliminate $sess from $spooldir$sess$bname and put "/" here. syslog('info', "spfile-> $spfile");copy($pfile, $spfile); syslog('info', "printfile copy pfile-> $pfile to spfile-> $spfile"); copy($tfile, "$spfile.title"); syslog('info', "printfile copy tfile-> $tfile to spfile.title->
$spfile.title");
chown $uid,$gid,$spfile; chown $uid,$gid,"$spfile.title"; #mario# added the above line to $spfile.title system( "su x2goprint -c "sudo x2goprint $userName $sess $bname
$bname.title"" ); #mario# eliminate 2nd and 3th mention off $sess; in $bname
and $bname.title syslog('info', "su x2goprint -c sudo x2goprint $userName $sess $bname $bname.title"); } else { system ("scp -i $printdsa $pfile $tfile x2goprint@$x2goserver:~x2goprint/"); system( "ssh -i $printdsa x2goprint@$x2goserver "sudo x2goprint $userName $sess $bname $bname.title"" ); } }my $uname=$ENV{USER};
if (!$ARGV[0]) { print "file cups-x2go:/ "Virtual X2GO Printer" "CUPS-X2GO" "MFG:Generic;MDL:CUPS-X2GO Printer;DES:Generic CUPS-X2GO Printer;CLS:PRINTER;CMD:POSTSCRIPT;"n"; exit 0; }
if (scalar(@ARGV) < 5 || scalar(@ARGV) > 6) { print STDERR "ERROR: Usage: cups-x2go job-id user title copies options [file]n"; exit 1; }
my $jobID; my $jobTitle; my $copies; my $printOptions; my $printFile;
($jobID, $userName, $jobTitle, $copies, $printOptions, $printFile) = @ARGV; my $sepa = "->-"; #mario# to separate de printjob filename syslog('info', "I received from cups-> $jobID $userName $jobTitle $copies $printOptions $sepa $printFile"); #mario# to see what he received from cups my $tempFile; if (!$printFile) { my $jid = $jobID; my $uid = $userName; $jid =~ s/W//g; #sanity check $uid =~ s/W//g; #sanity check $tempFile = "$ENV{TMPDIR}/$jid-$uid-cupsjob$$"; syslog('info', "Come from STDIN -> it create tempFile = $tempFilen"); #mario# Come from stdin? open (OUT, ">$tempFile") or die "ERROR: Cannot write $tempFile: $!n"; while(<STDIN>) { print OUT "$_"; } close OUT;
$printFile = $tempFile;
}
readconfig();
$ps2pdf=~s/%s/$printFile/g; system($ps2pdf); $printFile="$printFile.pdf"; my $titleFile="$printFile.title"; open (TITLE,">$titleFile"); print TITLE $jobTitle; close (TITLE);
getsessions(); for(my $i=0; $i<scalar(@sessions);$i++ ) { my @sinfo=split("\|",@sessions[$i]); if(@sinfo[4] eq "R") { printfile( $printFile, $titleFile, @sinfo[3], @sinfo[1]);
syslog('info', "Call to printfile function with: $printFile
$titleFile @sinfo[3] @sinfo[1]n"); #mario# to see how i call printfile function! } }
unlink ($printFile); unlink ($titleFile); closelog; #mario# to close syslog logging.
[END_cups-x2go]
======================//======================//===================== ======================//======================//=====================
[BEGIN_x2goprint]
#!/usr/bin/perl
# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. # # Copyright (C) 2007-2011 Oleksandr Shneyder
<oleksandr.shneyder@obviously-nice.de> # Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de>use Sys::Syslog qw( :DEFAULT setlogsock); #mario# module to log to syslog use File::Basename; use File::Copy; use File::Path; use strict;
use lib "/usr/lib/x2go"; use x2godbwrapper;
setlogsock('unix'); openlog($0,'','user'); #mario# for log to syslog
if (scalar(@ARGV) ==1) { system ("su @ARGV[0] -c "x2golistsessions --all-servers" "); } elsif (scalar(@ARGV) != 4) { print STDERR "ERROR: Usage:nx2goprint user session file titleFilenx2goprint usern"; exit 1; }
my ($user, $session, $file, $titleFile)=@ARGV; syslog('info', "X2GOPRINT receive ARGS: $user $session $file $titleFile"); #mario# wath args come from cups-x2go my ($tm,$tm,$uid,$gid,$tm,$tm,$tm,$homedir)=getpwnam("x2goprint"); my $printdir=$homedir;
my $title; if( -e "$printdir/$titleFile") { open (TITLE,"<$printdir/$titleFile"); $title=<TITLE>; close (TITLE); unlink("$printdir/$titleFile"); }
($tm,$tm,$uid,$gid,$tm,$tm,$tm,$homedir)=getpwnam($user);
my $spoolbase="/tmp/spool_$user"; my $spooldir="$spoolbase/$session"; my $spooltmp="$spoolbase/tmp"; mkpath($spooltmp); chown $uid, $gid, "$spooltmp"; chmod 0700, "$spooltmp";
my ($mounts)=db_getmounts($session);
if( $mounts=~m/$spooldir/) #mario# here, if I have an exported directory (shared folder) from the client does not match the conditions outlined in the if #mario# and jump the copy of the printjob to the client. PLEASE see
this problem! { move("$printdir/$file", "$spooltmp") or die "$!: Can't move $file to $spooltmp/"; chown $uid, $gid, "$spooltmp/$file"; system("su $user -c "mv $spooltmp/$file $spooldir""); syslog('info', "X2GOPRINT: su $user -c mv $spooltmp/$file $spooldir"); #mario# $user move file from the server to client sshfs
$spooldir direcoty mounted open (RFILE,">$spooltmp/$file.ready"); print RFILE "$filen$title"; close (RFILE);chown $uid, $gid, "$spooltmp/$file.ready"; system ("su $user -c "mv $spooltmp/$file.ready $spooldir""); syslog('info', "X2GOPRINT: su $user -c mv $spooltmp/$file.ready
$spooldir"); #mario# the same as above... } else { unlink("$printdir/$file"); }
closelog; #mario# close the log to syslog
[END_x2goprint]
=====================================/////===============================
with Debian 6.0 server repository apt-get: deb http://packages.x2go.org/debian squeeze main deb-src http://packages.x2go.org/debian squeeze main And Win XP SP3
What are the repositories of *Production*?
I hope will be useful to someone
Mario.
X2go-User mailing list X2go-User@lists.berlios.de https://lists.berlios.de/mailman/listinfo/x2go-user
--
DAS-NETZWERKTEAM mike gabriel, dorfstr. 27, 24245 barmissen fon: +49 (4302) 281418, fax: +49 (4302) 281419
GnuPG Key ID 0xB588399B mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...
El 17/08/2011 06:22 p.m., Mike Gabriel escribió:
Hi Mario,
sorry for top posting...
THANKS for sharing your work, Mario!!!
Could you please do this:
git clone git://code.x2go.org/cups-x2go.git cd cups-x2go <put your changes into the files there> git diff -> then send the diff to patches@x2go.org
Same for x2goserver.git.
This will be much easier to read and use.
Thanks, Mike
@Morty: how do you send Git patches via mail. With you they seem to come directly from the git command. Could you add some lines in the wiki on that?
Ok Mike, here goes. Attached is the file (cups-x2go.diff) generated by "# git diff" with cc: to patches[]x2go.com
Some comments: The user x2goprint is not created by post instalation script in .deb package
/usr/bin/margin-offset.ps is a postscript to add margins to the print job.
The possibility of log to syslog can be removed or better yet, leave it to activate (by declaring a variable and checking with if?) by the administrator to search for errors!
There are problems to correctly detect the client's spool directory (mounted with sshfs) when there are shared folders mounted in the session, by the user (when you call getsessions() at the end).
Thanks. Mario.
Hi Mario,
On Do 25 Aug 2011 18:53:48 CEST Mario OROZ wrote:
/usr/bin/margin-offset.ps is a postscript to add margins to the print job.
Could you shortly explain where this file comes from, and what it
looks like etc. I did an apt-file search on a Debian squeeze system
and could not find this file.
You say it adds margin... Why do we want that. What will happen to the
print area (scaled shrinking?)...
Thanks, Mike
--
DAS-NETZWERKTEAM mike gabriel, dorfstr. 27, 24245 barmissen fon: +49 (4302) 281418, fax: +49 (4302) 281419
GnuPG Key ID 0xB588399B mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...
On Tue, 2011-08-30 at 10:28 +0200, Mike Gabriel wrote:
Hi Mario,
On Do 25 Aug 2011 18:53:48 CEST Mario OROZ wrote:
/usr/bin/margin-offset.ps is a postscript to add margins to the print job.
Could you shortly explain where this file comes from, and what it
looks like etc. I did an apt-file search on a Debian squeeze system
and could not find this file.You say it adds margin... Why do we want that. What will happen to the
print area (scaled shrinking?)... <snip> That's interesting. We have had a corner case where this is a problem. There are some applications (e.g., Timberline check printing) which seem to query to the printer directly for margins. We could not print checks via the X2Go local printer because it returns margins of 0,0,0,0. The client was forced to print to a different network-enabled printer accessible via VPN so that that it could be interrogated for its margins in order to print checks.
I am guessing the X2Go printer returns 0,0,0,0 because it does not know what the margins of the printer are until a destination printer is selected - John
Ok, let me explain. /usr/bin/margen-offset.ps It is a postscript that I created to fix a little problem that appears when I try to print the pdf on a laser printer hp, where the text in the pdf document starts from the left edge to right edge, regardless margins!. When the PDF page exits the printer the text is cut by a margin around the text, is the unprintable area of the printer, I think! So when you add the margin-offcet.ps file in the conversion command line, gs merge it with the ps print jobs and ensures a margin or bleed in the pdf doc.
content of /usr/bin/margen-offset.ps is: <</.HWMargins [18 18 18 13] /Margins [-75 0]>> setpagedevice <</PageOffset [18 -9]>> setpagedevice
I think the first line does not help much.
The information come from this page: http://www.bobdbob.com/~deneb/doc/ghostscript_margins.html http://www.humbug.in/stackoverflow/es/como-para-cambiar-pagina-de-pdf-que-ut... (can be read in English)
Saludos! Mario.
El 30/08/2011 05:28 a.m., Mike Gabriel escribió:
Hi Mario,
On Do 25 Aug 2011 18:53:48 CEST Mario OROZ wrote:
/usr/bin/margin-offset.ps is a postscript to add margins to the print job.
Could you shortly explain where this file comes from, and what it looks like etc. I did an apt-file search on a Debian squeeze system and could not find this file.
You say it adds margin... Why do we want that. What will happen to the print area (scaled shrinking?)...
Thanks, Mike
Hi devs,
On Mi 31 Aug 2011 18:06:39 CEST Mario OROZ wrote:
Ok, let me explain. /usr/bin/margen-offset.ps It is a postscript that I created to fix a little problem that appears when I try to print the pdf on a laser printer hp, where the text in the pdf document starts from the left edge to right edge, regardless margins!. When the PDF page exits the printer the text is cut by a margin
around the text, is the unprintable area of the printer, I think! So when you add the margin-offcet.ps file in the conversion command
line, gs merge it with the ps print jobs and ensures a margin or bleed in the pdf doc.content of /usr/bin/margen-offset.ps is: <</.HWMargins [18 18 18 13] /Margins [-75 0]>> setpagedevice <</PageOffset [18 -9]>> setpagedevice
I think the first line does not help much.
The information come from this page: http://www.bobdbob.com/~deneb/doc/ghostscript_margins.html http://www.humbug.in/stackoverflow/es/como-para-cambiar-pagina-de-pdf-que-ut... (can be read in English)
Saludos! Mario.
On the x2go-user ML there is a discussion going on about margins and
X2go printing. Do we want to look at that more closely???
Greets, Mike
--
DAS-NETZWERKTEAM mike gabriel, dorfstr. 27, 24245 barmissen fon: +49 (4302) 281418, fax: +49 (4302) 281419
GnuPG Key ID 0xB588399B mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
freeBusy: https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xf...