[X2go-Dev] X2Go printing crash [was: libssh, nagle, and performance issues]
John A. Sullivan III
jsullivan at opensourcedevel.com
Fri Sep 23 06:52:59 CEST 2011
On Thu, 2011-09-22 at 14:51 -0400, John A. Sullivan III wrote:
> On Thu, 2011-09-22 at 07:51 +0200, Oleksandr Shneyder 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
> 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
More information about the x2go-dev
mailing list