On Thu, 2011-09-22 at 14:51 -0400, John A. Sullivan III wrote:
Am 21.09.2011 22:55, schrieb John A. Sullivan III:
I tried to intercept it with ddd but that didn't work. Interestingly, its messages were that the program closed normally as if x2goprinting is invoking a close event. I'll see what I can do to get this to run from a debugger but it is a showstopping bug for us - John
<snip> Hallo John,
I still thinking, that client crashes because it cannot work with output from your server. Can you give me a X2Go account on one of your servers, where you have troubles with printing?
regards <snip> Thanks, Alex. I'm working on getting that set up for you. Interestingly, even if I cancel the print job from the x2go print
On Thu, 2011-09-22 at 07:51 +0200, Oleksandr Shneyder wrote: dialog, x2goclient still exits - John
<snip> Argh! the printing seems to be misbehaving on the demo system - taking a long time and often failing. I do not see where it is messing up. However, I do wonder if we have a backwards compatibility problem. Here is what is happening on our server end. The cups-x2go backend perl script has been modified so the jobs are sent with the following:
system ("scp -i $printdsa $pfile $tfile x2goprint\@$x2goserver:"); system( "ssh -i $printdsa x2goprint\@$x2goserver \"sudo x2goprint $userName $sess $bname $bname.title\"" );
In other words, we are transferring the print and title file and placing it in the x2goprint user's home directory (which happens to be /var/spool/x2goprint) and then invoking x2goprint in the x2go server via an ssh command.
The x2goprint command is from 3.0.1-5. It just seems to move the file to the appropriate directory:
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 $spooldir="/tmp/spool_$user/$session";
my $mounts=sudo x2gopgwrapper getmounts $session
;
if( $mounts=~m/$spooldir/)
{
move ("$printdir/$file", "$spooldir") or die "$!: Can't rename
$file to $homedir/.x2go/C-$session/$file";
# chown $uid, $gid, "$homedir/.x2go/C-$session/$file";
# system ("su $user -c \"mv $homedir/.x2go/C-$session/$file
$spooldir\"");
my $counter = 0;
while ( ! -f "$spooldir/$file.ready" && $counter < 10 )
{
open (RFILE,">$spooldir/$file.ready");
print RFILE "$file\n$title";
close (RFILE);
$counter = $counter + 1;
}
if ( $counter > 1 ) { syslog("info", "Failed to write ready file -
Count $counter - C-$session/$file"); }
To get to the demo system, point your client to vdhost01.pacifera.com and use port 442. Thanks - John