/[pxelator]/lib/PXElator/screen.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /lib/PXElator/screen.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 126 - (hide annotations)
Mon Aug 3 15:06:36 2009 UTC (14 years, 7 months ago) by dpavlin
File size: 943 byte(s)
start dnsd

1 dpavlin 49 package screen;
2    
3     use warnings;
4     use strict;
5     use autodie;
6    
7     use File::Slurp;
8    
9     use log;
10     use server;
11    
12 dpavlin 67 our $debug = server::debug;
13    
14 dpavlin 49 my $screenrc = '/tmp/screenrc';
15    
16     sub screen_daemon {
17     my $daemon = shift;
18     my $run = "sudo perl -I$server::base_dir/lib/PXElator -I$server::base_dir/lib -M$daemon -e " . $daemon . "::start";
19 dpavlin 95 warn "screen_daemon $daemon $run\n";
20 dpavlin 49 qq|
21    
22     split
23    
24     screen -t $daemon $run
25 dpavlin 109 logfile $log::dir/$daemon.log
26 dpavlin 49 log on
27    
28     focus down
29     |}
30    
31     write_file $screenrc, qq|
32    
33     autodetach off
34     altscreen off
35     defscrollback 10000
36     startup_message off
37    
38     sessionname PXElator
39    
40     |
41     . screen_daemon('dhcpd')
42     . screen_daemon('tftpd')
43 dpavlin 126 . screen_daemon('dnsd')
44 dpavlin 53 #. screen_daemon('httpd')
45 dpavlin 49 . qq|remove|;
46     ;
47    
48 dpavlin 95 warn "screenrc $screenrc ", -s $screenrc if $debug;
49 dpavlin 49
50     sub start {
51    
52     my $screen="screen -R PXElator -c $screenrc";
53     warn $screen;
54    
55     chdir $server::base_dir;
56    
57     if ( defined $ENV{DISPLAY} ) {
58 dpavlin 90 exec "xterm -fg yellow -e $screen";
59 dpavlin 49 } else {
60     exec $screen;
61     }
62    
63     }
64    
65     1;

  ViewVC Help
Powered by ViewVC 1.1.26