Журнал лабораторных работ

Содержание

Журнал

Среда (06/22/11)

/dev/pts/4
11:34:54
#vim /etc/asterisk/festival.conf
/dev/pts/3
11:34:54
#vim /etc/asterisk/festival.conf
/dev/tty2
11:34:56
#ывивыивыивыи
bash: ывивыивыивыи: команда не найдена
/dev/pts/4
11:35:23
#[ ]
[       ]
[       ]
; Use cache (yes, no - defaults to no)
;
usecache=yes
;
;; Use cache (yes, no - defaults to no) waveform cache files.
; The cache is never cleared (yet), so you must take care of cleaning it
; yourself (just delete any or all files from the cache).
; THIS DIRECTORY *MUST* EXIST and must be writable from the asterisk process.
; Defaults to /tmp/
E37: Изменения не сохранены (добавьте !, чтобы обойти проверку)
E37: Изменения не сохранены (добавьте !, чтобы обойти проверку)
/dev/pts/3
11:35:23
#[ ]
[       ]
[       ]
; Use cache (yes, no - defaults to no)
;
usecache=yes
;
;; Use cache (yes, no - defaults to no) waveform cache files.
; The cache is never cleared (yet), so you must take care of cleaning it
; yourself (just delete any or all files from the cache).
; THIS DIRECTORY *MUST* EXIST and must be writable from the asterisk process.
; Defaults to /tmp/
E37: Изменения не сохранены (добавьте !, чтобы обойти проверку)
E37: Изменения не сохранены (добавьте !, чтобы обойти проверку)
/dev/pts/4
11:35:44
#;

/dev/pts/3
11:35:44
#;

/dev/pts/4
11:35:54
#exit
exit
/dev/pts/3
11:35:54
#exit
exit
/dev/tty2
11:36:17
#мшь .Ñvim /etc/asterisk/festival.conf
;
; Festival command to send to the server.
; Defaults to: (tts_textasterisk "%s" 'file)(quit)\n
; %s is replaced by the desired text to say. The command MUST end with a
; (quit) directive, or the cache handling mechanism will hang. Do not
; forget the \n at the end.
;
;festivalcommand=(tts_textasterisk "%s" 'file)(quit)\n
;
;
"/etc/asterisk/festival.conf" 35L, 929C записано
11:36:51
#/etc/init.d/festival stop
Stopping Festival server: festival.
11:38:09
#festival --server /etc/festival.scm
^C
11:39:16
#cd /etc/asterisk/c
cdr_adaptive_odbc.conf   cdr_pgsql.conf           cli.conf
cdr.conf                 cdr_sqlite3_custom.conf  cli_permissions.conf
cdr_custom.conf          cdr_tds.conf             codecs.conf
cdr_manager.conf         chan_dahdi.conf          console.conf
cdr_odbc.conf            cli_aliases.conf
11:39:16
#rpm -qa | fest
bash: rpm: команда не найдена
bash: fest: команда не найдена
/dev/pts/4
11:41:33
#less /var/log/asterisk/
11:41:33
#less /var/log/asterisk/messages
11:43:54
#vim /etc/festival.scm
11:44:13
#( )
root      5596  0.0  0.0   7568   880 pts/5    S+   12:44   0:00 grep fest
11:44:17
#/etc/init.d/festival start
Starting Festival server: festival.
11:45:07
#ps aux | grep fest | less
11:45:12
#vim /etc/festival.scm
--- /tmp/l3-saved-5546.14782.27481	2011-06-22 12:45:15.000000000 +0300
+++ /etc/festival.scm	2011-06-22 12:46:02.000000000 +0300
@@ -30,12 +30,12 @@
 ; Server deny list (hosts)
 
 (define (tts_textasterisk string mode)
-"(tts_textasterisk STRING MODE)
+  "(tts_textasterisk STRING MODE)
 Apply tts to STRING. This function is specifically designed for
 use in server mode so a single function call may synthesize the string.
 This function name may be added to the server safe functions."
-(let ((wholeutt (utt.synth (eval (list 'Utterance 'Text string)))))
-(utt.wave.resample wholeutt 8000)
-(utt.wave.rescale wholeutt 5)
-(utt.send.wave.client wholeutt)))
+  (let ((wholeutt (utt.synth (eval (list 'Utterance 'Text string)))))
+   (utt.wave.resample wholeutt 8000)
+   (utt.wave.rescale wholeutt 5)
+   (utt.send.wave.client wholeutt)))
 
11:46:02
#less /etc/asterisk/festival.conf
11:46:31
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
11:46:40
#man text2wave
/dev/tty1
11:46:40
#vim /etc/passwd
/dev/pts/4
11:48:19
#echo hello from festival | text2wave > test-festival.wav

11:48:45
#^C

11:49:00
#ls -l /etc/festival.scm
-rw-r--r-- 1 root root 1456 Июн 22 12:46 /etc/festival.scm
/dev/tty1
11:50:29
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
11:50:39
#/etc/init.d/festival restart
Restarting Festival server: festival\.
11:50:53
#\
> \^C
11:50:55
#/etc/init.d/festival restart
Restarting Festival server: festival.
11:50:57
#asterisk -rrr
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux1 (pid = 5843)
[Jun 22 12:51:09] WARNING[5936]: app_festival.c:504 festival_exec: Unable to read from cache/festival fd
linux1*CLI>
Disconnected from Asterisk server
11:51:19
#cd /bin/false
bash: cd: /bin/false: Это не каталог
11:51:23
#chmod -R /home/festival/
chmod: пропущен операнд после «/home/festival/»
Попробуйте `chmod --help' для получения более подробного описания.
11:51:37
#chmod -R 777 /home/festival/

11:51:48
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
11:52:01
#/etc/init.d/festival restart
Restarting Festival server: festival.
/dev/tty2
11:53:12
#rpm -qa | grep fest
bash: rpm: команда не найдена
11:53:17
#apt-cache search fest
bnd - A tool to create and diagnose OSGi R4 bundles
brltty-flite - Access software for a blind person - Flite speech driver
doc-debian - Debian Project documentation and other documents
eflite - Festival-Lite based emacspeak speech server
festival-czech - Czech support for Festival speech synthesis system
festival-doc - Documentation for Festival
festival-freebsoft-utils - Festival extensions and utilities
festival-hi - festival text to speech synthesizer for Hindi language
festvox-hi-nsk - Hindi male speaker for festival
festlex-ifd - Italian support for Festival
...
screader - Screen reader using software or hardware speech synthesizer
sisu - documents - structuring, publishing in multiple formats and search
speech-dispatcher-festival - Festival support for Speech Dispatcher
stardict-plugin-festival - International dictionary - Festival TTS plugin
stress - A tool to impose load on and stress test a computer system
surfraw-extra - extra surfraw search tools with heavy dependencies
surfraw - a fast unix command line interface to WWW
xul-ext-torbutton - Iceweasel/Firefox extension enabling 1-click toggle of Tor usage
plasma-widget-translatoid - translation widget for KDE Plasma
yasr - General-purpose console screen reader
/dev/pts/4
11:53:19
#ps aux | grep festi
festival  6035  0.0  0.4  74716 38648 ?        S    12:52   0:00 /usr/bin/festival --server -b /etc/festival.scm
root      6077  0.0  0.0   7568   876 pts/5    S+   12:53   0:00 grep festi
11:53:25
#find /usr -name \*festival.scm
^C
/dev/tty2
11:53:28
#apt-cache search festival
brltty-flite - Access software for a blind person - Flite speech driver
eflite - Festival-Lite based emacspeak speech server
festival-czech - Czech support for Festival speech synthesis system
festival-doc - Documentation for Festival
festival-freebsoft-utils - Festival extensions and utilities
festival-hi - festival text to speech synthesizer for Hindi language
festvox-hi-nsk - Hindi male speaker for festival
festlex-ifd - Italian support for Festival
festvox-italp16k - Italian female speaker for Festival
festvox-itapc16k - Italian male speaker for Festival
...
libflite1 - a small run-time speech synthesis engine - shared libraries
libgnome-speech7 - GNOME text-to-speech library
kismet - Wireless 802.11b monitoring tool
libperlspeak-perl - Perl Module for text to speech with festival, espeak, cepstral
pidgin-festival - pidgin plugin to hear incoming messages using voice synthesis
screader - Screen reader using software or hardware speech synthesizer
speech-dispatcher-festival - Festival support for Speech Dispatcher
stardict-plugin-festival - International dictionary - Festival TTS plugin
plasma-widget-translatoid - translation widget for KDE Plasma
yasr - General-purpose console screen reader
11:53:31
#apt-cache search festival | less
прошло 47 минут
/dev/pts/4
12:40:36
#less /usr/share/festival/festival.scm
12:41:00
#/usr/share/festival/festival.scm /etc/
bash: /usr/share/festival/festival.scm: Отказано в доступе
12:41:09
#/etc/init.d/festival restart
Restarting Festival server: festival.
12:41:14
#ps aux | grep fest
festival  6241  1.5  0.4  72640 38580 ?        S    13:41   0:00 /usr/bin/festival --server -b /etc/festival.scm
root      6249  0.0  0.0   7568   876 pts/5    S+   13:41   0:00 grep fest
12:41:18
#vim /etc/asterisk/extensions.conf
/dev/tty2
12:41:35
#less /etc/asterisk/extensions.conf
12:42:21
#cp /usr/share/doc/festival/examples/festival.scm /etc/

12:43:26
#/etc/init.d/festival restart
Restarting Festival server: festival.
12:44:09
#; Server access list (hosts)

12:44:19
#chown festival:festival /var/log/festival
chown: неверная группа: «festival:festival»
12:44:26
#chown festival /var/log/festival

12:44:31
#/etc/init.d/festival restart
Restarting Festival server: festival.
12:44:37
#ls /var/log/festival
festival.log
12:44:39
#tail -f /var/log/festival/festival.log
server    Wed Jun 22 13:44:37 2011 : Festival server started on port 1314
client(1) Wed Jun 22 13:44:51 2011 : rejected from localhost bad passwd
^C
12:44:58
#less /etc/festival.scm
12:45:07
#vim /etc/asterisk/festival.conf
12:45:43
#/etc/init.d/festival restart
Restarting Festival server: festival.
12:45:45
#tail -f /var/log/festival/festival.log
server    Wed Jun 22 13:44:37 2011 : Festival server started on port 1314
client(1) Wed Jun 22 13:44:51 2011 : rejected from localhost bad passwd
server    Wed Jun 22 13:45:45 2011 : Festival server started on port 1314
client(1) Wed Jun 22 13:46:00 2011 : accepted from localhost
client(1) Wed Jun 22 13:46:00 2011 : disconnected
^C
12:46:11
#mv /etc/festival.scm.save /etc/festival.scm

12:46:20
#vim /etc/festival.scm
--- /tmp/l3-saved-2444.30930.28683	2011-06-22 13:46:27.000000000 +0300
+++ /etc/festival.scm	2011-06-22 13:46:31.000000000 +0300
@@ -16,7 +16,7 @@
 (set! server_port 1314)
 
 ; Server password:
-(set! server_passwd "password")
+;(set! server_passwd "password")
 
 ; Log file location
 (set! server_log_file "/var/log/festival/festival.log")
12:46:31
#/etc/init.d/festival restart
Restarting Festival server: festival.
12:47:38
#exten => _11XX,1,Answer
; Server deny list (hosts)
(define (tts_textasterisk string mode)
(                                                          )
( "(tts_textasterisk STRING MODE)
Apply tts to STRING. This function is specifically designed for
use in server mode so a single function call may synthesize the string.
This function name may be added to the server safe functions."
  (let ((wholeutt (utt.synth (eval (list 'Utterance 'Text string)))))
   (utt.wave.resample wholeutt 8000)
   (utt.wave.rescale wholeutt 5)
~
~
~
~
~                                                             31,0-1      Внизу
12:48:03
#(
server    Wed Jun 22 13:44:37 2011 : Festival server started on port 1314
client(1) Wed Jun 22 13:44:51 2011 : rejected from localhost bad passwd
server    Wed Jun 22 13:45:45 2011 : Festival server started on port 1314
client(1) Wed Jun 22 13:46:00 2011 : accepted from localhost
client(1) Wed Jun 22 13:46:00 2011 : disconnected
server    Wed Jun 22 13:46:33 2011 : Festival server started on port 1314
client(1) Wed Jun 22 13:46:55 2011 : accepted from localhost
client(1) Wed Jun 22 13:46:55 2011 : disconnected
12:48:23
#less /var/log/asterisk/
12:48:23
#less /var/log/asterisk/messages
12:49:05
#tail -f /var/log/asterisk/messages
[Jun 22 12:52:01] NOTICE[5985] pbx_ael.c: AEL load process: checked config file name '/etc/asterisk/extensions.ael'.
[Jun 22 12:52:01] NOTICE[5985] pbx_ael.c: AEL load process: compiled config file name '/etc/asterisk/extensions.ael'.
[Jun 22 12:52:01] NOTICE[5985] pbx_ael.c: AEL load process: merged config file name '/etc/asterisk/extensions.ael'.
[Jun 22 12:52:01] NOTICE[5985] pbx_ael.c: AEL load process: verified config file name '/etc/asterisk/extensions.ael'.
[Jun 22 12:52:01] WARNING[5985] res_musiconhold.c: No music on hold classes configured, disabling music on hold.
[Jun 22 12:52:01] ERROR[5985] codec_dahdi.c: Failed to open /dev/dahdi/transcode: No such file or directory
[Jun 22 12:52:14] WARNING[6047] app_festival.c: Unable to read from cache/festival fd
[Jun 22 12:52:20] NOTICE[6025] chan_sip.c: Received SIP subscribe for peer without mailbox: 1102
[Jun 22 13:43:44] WARNING[6314] app_festival.c: Unable to read from cache/festival fd
[Jun 22 13:44:51] WARNING[6381] app_festival.c: Unable to read from cache/festival fd
^C
12:49:30
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-2444.7837.5835	2011-06-22 13:49:39.000000000 +0300
+++ /etc/asterisk/extensions.conf	2011-06-22 13:49:56.000000000 +0300
@@ -17,7 +17,8 @@
 exten => _88XX,n,Wait(1)
 exten => _88XX,n,Playback(/var/tmp/asterisk/record${EXTEN:2})
 exten => 9922,1,Playback(/var/tmp/asterisk/record)
-exten => 9933,1,Festival(Hello from festival. Welcome to our system)  
+exten => 9933,1,Festival(Hello)
+;exten => 9933,1,Festival(Hello from festival. Welcome to our system)  
 
 [local]
 ;exten => _8XXX,1,Playback(demo-congrats)
12:49:56
#/etc/init.d/festival restart
Restarting Festival server: festival.
12:50:00
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
/dev/tty1
12:50:08
#asterisk -rvvv
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux1 (pid = 6626)
...
channels      channelstats  channel
linux1*CLI> sip show channels
Peer             User/ANR         Call ID          Format           Hold     Last Message    Expiry
192.168.102.1    (None)           328628483f815b7  0x0 (nothing)    No       Rx: REGISTER
192.168.101.10   1101             0015c6cc-5ed000  0x4 (ulaw)       No       Rx: ACK
2 active SIP dialogs
    -- Remote UNIX connection
linux1*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
/dev/pts/4
12:54:00
#[service]]
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
/dev/tty1
12:54:10
#vim voicemail.conf
12:54:10
#vim voicemail.conf
12:54:10
#apt-get install gpm
                        as
as                     aspell-import          astribank_allow
aseqdump               astcanary              astribank_hexload
aseqnet                asterisk               astribank_is_starting
aspell                 astgenkey              astribank_tool
aspell-autobuildhash   astman
12:54:10
#as festival
Assembler messages:
Error: can't open festival for reading: No such file or directory
13:00:07
#cd /tmp/

/dev/pts/4
13:01:38
## https://issues.asterisk.org/view.php?id=17995

/dev/tty1
13:08:42
#tar xvfz asterisk-perl-0.09.tar.gz
asterisk-perl-0.09/
asterisk-perl-0.09/examples/
asterisk-perl-0.09/examples/agi-test.agi
asterisk-perl-0.09/examples/tts-bofh.agi
asterisk-perl-0.09/examples/calleridnamelookup.agi
asterisk-perl-0.09/examples/tts-line.agi
asterisk-perl-0.09/examples/manager-test.pl
asterisk-perl-0.09/examples/agi-enum.agi
asterisk-perl-0.09/examples/tts-ping.agi
asterisk-perl-0.09/examples/directory.agi
...
asterisk-perl-0.09/lib/
asterisk-perl-0.09/lib/Asterisk.pm
asterisk-perl-0.09/lib/Asterisk/
asterisk-perl-0.09/lib/Asterisk/Outgoing.pm
asterisk-perl-0.09/lib/Asterisk/Voicemail.pm
asterisk-perl-0.09/lib/Asterisk/Manager.pm
asterisk-perl-0.09/lib/Asterisk/AGI.pm
asterisk-perl-0.09/lib/Asterisk/QCall.pm
asterisk-perl-0.09/Makefile.PL
asterisk-perl-0.09/LICENSE
13:09:55
#cd asterisk-perl-0.09

13:09:57
#ls
CHANGES  examples  lib  LICENSE  Makefile.PL  README  t
13:10:06
#per
perf        perl5.10.1  perldoc     perlthanks
perl        perlbug     perlivp
13:10:06
#per
perf        perl5.10.1  perldoc     perlthanks
perl        perlbug     perlivp
13:10:06
#perrl Makefile.PL
bash: perrl: команда не найдена
13:10:13
#perl Makefile.PL
Writing Makefile for asterisk-perl
13:10:17
#make
cp lib/Asterisk/Manager.pm blib/lib/Asterisk/Manager.pm
cp lib/Asterisk/Voicemail.pm blib/lib/Asterisk/Voicemail.pm
cp lib/Asterisk/Outgoing.pm blib/lib/Asterisk/Outgoing.pm
cp lib/Asterisk/QCall.pm blib/lib/Asterisk/QCall.pm
cp lib/Asterisk.pm blib/lib/Asterisk.pm
cp lib/Asterisk/AGI.pm blib/lib/Asterisk/AGI.pm
Manifying blib/man3/Asterisk::Voicemail.3pm
Manifying blib/man3/Asterisk::Manager.3pm
Manifying blib/man3/Asterisk::Outgoing.3pm
Manifying blib/man3/Asterisk::AGI.3pm
13:10:21
#make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/agi.t .. ok
All tests successful.
Files=1, Tests=2,  0 wallclock secs ( 0.01 usr  0.01 sys +  0.02 cusr  0.00 csys =  0.04 CPU)
Result: PASS
13:10:53
#make install
Installing /usr/local/share/perl/5.10.1/Asterisk.pm
Installing /usr/local/share/perl/5.10.1/Asterisk/Manager.pm
Installing /usr/local/share/perl/5.10.1/Asterisk/Voicemail.pm
Installing /usr/local/share/perl/5.10.1/Asterisk/Outgoing.pm
Installing /usr/local/share/perl/5.10.1/Asterisk/AGI.pm
Installing /usr/local/share/perl/5.10.1/Asterisk/QCall.pm
Installing /usr/local/man/man3/Asterisk::Outgoing.3pm
Installing /usr/local/man/man3/Asterisk::AGI.3pm
Installing /usr/local/man/man3/Asterisk::Voicemail.3pm
Installing /usr/local/man/man3/Asterisk::Manager.3pm
Appending installation info to /usr/local/lib/perl/5.10.1/perllocal.pod
13:10:58
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-1503.9723.6392	2011-06-22 14:12:03.000000000 +0300
+++ /etc/asterisk/extensions.conf	2011-06-22 14:12:48.000000000 +0300
@@ -17,8 +17,8 @@
 exten => _88XX,n,Wait(1)
 exten => _88XX,n,Playback(/var/tmp/asterisk/record${EXTEN:2})
 exten => 9922,1,Playback(/var/tmp/asterisk/record)
-exten => 9933,1,Festival(Hello)
-;exten => 9933,1,Festival(Hello from festival. Welcome to our system)  
+;exten => 9933,1,Festival(Hello)
+exten => 9933,1,AGI(/usr/local/bin/festival-script.pl,Hello from festival. Welcome to our system)  
 
 [local]
 ;exten => _8XXX,1,Playback(demo-congrats)
13:12:48
#asterisk -rvvv
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux1 (pid = 6734)
...
 Reloading SIP
  == Using SIP RTP CoS mark 5
    -- Executing [9933@gr3:1] AGI("SIP/1101-00000000", "/usr/local/bin/festival-script.pl,Hello from festival. Welcome to our system") in new stack
    -- Launched AGI Script /usr/local/bin/festival-script.pl
[Jun 22 14:13:19] WARNING[7011]: file.c:650 ast_openstream_full: File tts/tts-213bf36e0006c1c51ba7548cb57ba690 does not exist in any format
    -- <SIP/1101-00000000>AGI Script /usr/local/bin/festival-script.pl completed, returning 0
    -- Auto fallthrough, channel 'SIP/1101-00000000' status is 'UNKNOWN'
linux1*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
13:15:22
#mkdir /var/lib/asterisk/sounds/tts

13:15:24
#chown asterisk /var/lib/asterisk/sounds/tts

/dev/pts/4
13:17:24
#ls /var/lib/asterisk/sounds/tts

13:17:28
#ls -ld /var/lib/asterisk/sounds/tts
drwxr-xr-x 2 asterisk root 4096 Июн 22 14:15 /var/lib/asterisk/sounds/tts
/dev/tty1
13:18:45
#vim /usr/local/bin/festival-script.pl
--- /tmp/l3-saved-1503.378.26944	2011-06-22 14:18:54.000000000 +0300
+++ /usr/local/bin/festival-script.pl	2011-06-22 14:19:13.000000000 +0300
@@ -14,7 +14,7 @@
 my $hash = md5_hex($text);
 my $sounddir = "/var/lib/asterisk/sounds/tts";
 my $wavefile = "$sounddir/"."tts-$hash.wav";
-my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/";
+#my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/";
  
 unless (-f $wavefile) {
         open(fileOUT, ">$sounddir"."/say-text-$hash.txt");
13:19:25
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk.
Starting Asterisk PBX: asterisk.
13:19:32
#asterisk -rvvv
Asterisk 1.6.2.9-2+squeeze2, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.9-2+squeeze2 currently running on linux1 (pid = 7205)
Verbosity was 0 and is now 3
  == Using SIP RTP CoS mark 5
    -- Executing [9933@gr3:1] AGI("SIP/1101-00000000", "/usr/local/bin/festival-script.pl,Hello from festival. Welcome to our system") in new stack
    -- Launched AGI Script /usr/local/bin/festival-script.pl
[Jun 22 14:19:36] WARNING[7252]: file.c:650 ast_openstream_full: File tts/tts-213bf36e0006c1c51ba7548cb57ba690 does not exist in any format
    -- <SIP/1101-00000000>AGI Script /usr/local/bin/festival-script.pl completed, returning 0
    -- Auto fallthrough, channel 'SIP/1101-00000000' status is 'UNKNOWN'
linux1*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
13:19:44
#vim /usr/local/bin/festival-script.pl
--- /tmp/l3-saved-1503.7596.23063	2011-06-22 14:19:46.000000000 +0300
+++ /usr/local/bin/festival-script.pl	2011-06-22 14:22:17.000000000 +0300
@@ -15,7 +15,7 @@
 my $sounddir = "/var/lib/asterisk/sounds/tts";
 my $wavefile = "$sounddir/"."tts-$hash.wav";
 #my $t2wp= "/root/www.cstr.ed.ac.uk/download/festival/1.95/festival/bin/";
- 
+my $t2wp= 
 unless (-f $wavefile) {
         open(fileOUT, ">$sounddir"."/say-text-$hash.txt");
         print fileOUT "$text";
@@ -25,4 +25,4 @@
         system($execf);
        unlink($sounddir."/say-text-$hash.txt");
 }
-$AGI->stream_file('tts/'.basename($wavefile,".wav")); 
+#$AGI->stream_file('tts/'.basename($wavefile,".wav")); 

Статистика

Время первой команды журнала11:34:54 2011- 6-22
Время последней команды журнала13:19:44 2011- 6-22
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, % 4.95
Процент синтаксически неверно набранных команд, % 2.97
Суммарное время работы с терминалом *, час 0.96
Количество командных строк в единицу времени, команда/мин 1.75
Частота использования команд
vim14|============| 12.84%
/etc/init.d/festival11|==========| 10.09%
less10|=========| 9.17%
/etc/init.d/asterisk5|====| 4.59%
ls5|====| 4.59%
asterisk4|===| 3.67%
cd4|===| 3.67%
grep4|===| 3.67%
make3|==| 2.75%
ps3|==| 2.75%
chown3|==| 2.75%
tail3|==| 2.75%
apt-cache3|==| 2.75%
chmod2|=| 1.83%
[2|=| 1.83%
(2|=| 1.83%
per2|=| 1.83%
rpm2|=| 1.83%
exit2|=| 1.83%
mkdir1|| 0.92%
as1|| 0.92%
man1|| 0.92%
perl1|| 0.92%
cp1|| 0.92%
#1|| 0.92%
echo1|| 0.92%
festival1|| 0.92%
apt-get1|| 0.92%
ывивыивыивыи1|| 0.92%
find1|| 0.92%
mv1|| 0.92%
text2wave1|| 0.92%
\1|| 0.92%
tar1|| 0.92%
fest1|| 0.92%
test-festival.wav1|| 0.92%
perrl1|| 0.92%
[service]]1|| 0.92%
festival.scm1|| 0.92%
^C1|| 0.92%
exten1|| 0.92%
мшь1|| 0.92%
_11XX,1,Answer1|| 0.92%
Server1|| 0.92%
____
*) Интервалы неактивности длительностью 30 минут и более не учитываются

Справка

Для того чтобы использовать LiLaLo, не нужно знать ничего особенного: всё происходит само собой. Однако, чтобы ведение и последующее использование журналов было как можно более эффективным, желательно иметь в виду следующее:
  1. В журнал автоматически попадают все команды, данные в любом терминале системы.

  2. Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.

  3. Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
    $ l s-l
    bash: l: command not found
    

  4. Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
    $ test 5 -lt 4
    Обратите внимание на то, что код завершения команды может быть отличен от нуля не только в тех случаях, когда команда была выполнена с ошибкой. Многие команды используют код завершения, например, для того чтобы показать результаты проверки

  5. Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
    $ find / -name abc
    find: /home/devi-orig/.gnome2: Keine Berechtigung
    find: /home/devi-orig/.gnome2_private: Keine Berechtigung
    find: /home/devi-orig/.nautilus/metafiles: Keine Berechtigung
    find: /home/devi-orig/.metacity: Keine Berechtigung
    find: /home/devi-orig/.inkscape: Keine Berechtigung
    ^C
    

  6. Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
    # id
    uid=0(root) gid=0(root) Gruppen=0(root)
    

  7. Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
    $ vi ~/.bashrc
    2a3,5
    >    if [ -f /usr/local/etc/bash_completion ]; then
    >         . /usr/local/etc/bash_completion
    >        fi
    

  8. Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
    $ patch ~/.bashrc
    В данном случае изменения применяются к файлу ~/.bashrc

  9. Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.

    Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.

  10. Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.

  11. Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора

  12. Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.

  13. Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.

  14. Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:

    $ whoami
    
    user
    
    $ #^ Интересно, кто я?
    
    в журнале это будет выглядеть так:
    $ whoami
    
    user
    
    Интересно, кто я?

  15. Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:

    $ whoami
    
    user
    
    $ cat > /dev/null #^ Интересно, кто я?
    
    Программа whoami выводит имя пользователя, под которым 
    мы зарегистрировались в системе.
    -
    Она не может ответить на вопрос о нашем назначении 
    в этом мире.
    
    В журнале это будет выглядеть так:
    $ whoami
    user
    
    Интересно, кто я?
    Программа whoami выводит имя пользователя, под которым
    мы зарегистрировались в системе.

    Она не может ответить на вопрос о нашем назначении
    в этом мире.
    Для разделения нескольких абзацев между собой используйте символ "-", один в строке.

  16. Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=

  17. Содержимое файла может быть показано в журнале. Для этого его нужно вывести с помощью программы cat. Если вывод команды отметить симоволами #!, содержимое файла будет показано в журнале в специально отведённой для этого секции.
  18. Для того чтобы вставить скриншот интересующего вас окна в журнал, нужно воспользоваться командой l3shot. После того как команда вызвана, нужно с помощью мыши выбрать окно, которое должно быть в журнале.
  19. Команды в журнале расположены в хронологическом порядке. Если две команды давались одна за другой, но на разных терминалах, в журнале они будут рядом, даже если они не имеют друг к другу никакого отношения.
    1
        2
    3   
        4
    
    Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.

О программе

LiLaLo (L3) расшифровывается как Live Lab Log.
Программа разработана для повышения эффективности обучения Unix/Linux-системам.
(c) Игорь Чубин, 2004-2008

$Id$