/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
expect/screen problem
Fra : Niels Andersen


Dato : 06-07-02 10:19

Jeg vil gerne have et script til automatisk at starte screen op, dele
skærmen i 2, og køre et program i hver halvdel.
Den eneste løsning jeg lige kunne finde var expect. Jeg er nu kommet så
langt:

#!/usr/bin/expect -f
spawn screen -DR
send "^AS"
send "program1\n"
send "^A^I^Ac"
send "program2\n"
send "^A^I"
interact

(^A betyder ctrl-a, de ctrl-kombinations-taster ser forskellige ud alt
efter hvordan man ser dem, jeg aner ikke om der er en bedre måde at gøre
det på med expect)

Problemet er, at hvis jeg efterfølgende resizer vinduet screen kører i, så
følger screen ikke med. Det gør den hvis jeg kører den sekvens manuelt.

Problemet ville ikke være så stort, hvis jeg vidste hvordan jeg starter
xterm op i maksimeret tilstand. :)

Desuden ville jeg gerne, at hvis screen allerede kører, så skulle den gerne
stoppe efter "spawn", men jeg ved ikke lige... :)
Det er dog ikke det vigtigste.

--
Mvh.

Niels Andersen
Linux 2.4.18 - Debian 3.0


 
 
Klaus Alexander Seis~ (06-07-2002)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 06-07-02 11:37

Niels Andersen skrev:

> Jeg vil gerne have et script til automatisk at starte screen
> op, dele skærmen i 2, og køre et program i hver halvdel.

Prøv fx med en kombination af screen og splitvt:

$ screen -c screen.rc

hvor screen.rc indeholder én linje:

screen splitvt -upper program1 -lower program2

> Desuden ville jeg gerne, at hvis screen allerede kører, så skulle
> den gerne stoppe efter "spawn", men jeg ved ikke lige... :)

Lav evt. et wrapper-script til at starte splitvt med. Scriptet
skal undersøge om en given semaforfil eksisterer og starte splitvt
og oprette semaforfilen hvis den ikke eksisterer, og nøjes med at
lade screen attache hvis filen eksisterer.


// Klaus

--
><>    vandag, môre, altyd saam

Niels Andersen (06-07-2002)
Kommentar
Fra : Niels Andersen


Dato : 06-07-02 15:00

Klaus Alexander Seistrup wrote in
<jakabov+6dcb6b47-4ede-4f91-bb4f-b6510de62b3d@news.szn.dk>:
>> Jeg vil gerne have et script til automatisk at starte screen
>> op, dele skærmen i 2, og køre et program i hver halvdel.
>
> Prøv fx med en kombination af screen og splitvt:
> $ screen -c screen.rc
> hvor screen.rc indeholder én linje:
> screen splitvt -upper program1 -lower program2

Jeg har leget med det. Først så det vældigt godt ud, bedre end den løsning
jeg selv havde udtænkt.
Men et vindue under splitvt kører med "TERM=vt100", og det er desværre ikke
godt nok i denne sammenhæng. Jeg prøvede at køre en wrapper omkring
programmet med problemer, som satte "TERM=xterm", men så fungerede det slet
ikke. Tingene blev ikke skrevet de rigtige steder længere.

>> Desuden ville jeg gerne, at hvis screen allerede kører, så skulle
>> den gerne stoppe efter "spawn", men jeg ved ikke lige... :)
> Lav evt. et wrapper-script til at starte splitvt med. Scriptet
> skal undersøge om en given semaforfil eksisterer og starte splitvt
> og oprette semaforfilen hvis den ikke eksisterer, og nøjes med at
> lade screen attache hvis filen eksisterer.

Yep, det kunne man jo gøre. :)

--
Mvh.

Niels Andersen
Linux 2.4.18 - Debian 3.0


Klaus Alexander Seis~ (06-07-2002)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 06-07-02 16:34

Niels Andersen skrev:

>> Prøv fx med en kombination af screen og splitvt:
>
> Jeg har leget med det. Først så det vældigt godt ud, bedre end
> den løsning jeg selv havde udtænkt.
> Men et vindue under splitvt kører med "TERM=vt100", og det er
> desværre ikke godt nok i denne sammenhæng.

Nej, og det er vist oven i købet en rigtig dårlig VT100-emulering.

Hm, mon du kan bruge <http://freshmeat.net/projects/twin/>, som er
en vinduesdims til tekstmodus?

(Debian: apt-get twin twutils libtw)


// Klaus

--
><>    vandag, môre, altyd saam

Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408871
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste