On Tue, Nov 28, 2006 at 11:01:54AM +0100, Jan Wagner wrote: > Package: release-notes > Severity: normal > > http://www.debian.org/releases/etch/i386/release-notes/ch-upgrading.en.html#s-upgradingpackages > recommands to use 'script' and less > to view the log. Unfortunately with less I have many control chars wich makes > it a bit difficult to work with. 'more' seems to work > more proper. If you have used 'script' with a timing parameter you can use 'scriptreplay'. If you have not, you can just generate the timing file from scratch (use 1 millisecond timers per char) so that you can replay it later. I wrote a long time ago a utility that would do this automatically for you, it was just a simple Perl script that would read the typescript and replay (char by char) the contents with 1 millisec delay. [ few minutes later ] Attached is a first attempt at such a Perl script, you can even control the speed of the output (using '+' or '-'). Feel free to modify as needed. Regards Javier
#!/usr/bin/perl -w # Reproduce a typescript file (generated by script(1)) line by line. # with a controlling terminal # Keys: # - - increase timestep 10ms (i.e output slower) # + - decrease timestep 10ms (i.e. output faster) # q - quit reading the file use Term::ReadKey; my $readfiles=0; ReadMode 4; # Set signal trappers to reset terminal $SIG{INT} = \&catch_zap; $SIG{QUIT} = \&catch_zap; $SIG{KILL} = \&catch_zap; $SIG{TERM} = \&catch_zap; foreach $file (@ARGV) { $readfiles++; printout($file); } ReadMode 0; # Reset tty mode before exiting if ( $readfiles == 0 ) { print STDERR "USAGE: replay_typescript file1 file2 ...\n"; exit 1; } exit 0; sub catch_zap { my $signame = shift; ReadMode 0; # Reset tty mode before exiting die; } sub printout { my ($file) = $file; my $time = 0.10; my $key; open (FILE, "<$file") || die "Cannot open file: $file: $!"; while (<FILE>) { print $_; select(undef, undef, undef, $time); # Wait several ms $key = ReadKey(0.10); if ( defined ($key) ) { $time = $time - 0.10 if ($key eq "+") ; # Faster! $time = $time + 0.10 if ($key eq "-") ; # Slower! last if ($key eq "q") ; # Quit! $time = 0 if $time < 0 ; } } close FILE; }
Attachment:
signature.asc
Description: Digital signature