Newsgroup: it.comp.os.linux.software
Titolo: Konsole e terminali

Ciao,
con lo scopo di avere piu' tab di konsole aperti su vari log con su
tail -f <log>, ho creato varie sessioni con comandi tipo 
"tail -n 10 -f /var/log/mail/current", poi ho aperto tre sessioni
e salvato il profilo, e posso cosi' far aprire in un colpo solo i 
tre tab voluti.
C'e' un problema: all'apertura dei tre tab, uno e' in foreground, e due
in bg, ovviamente, e su quelli in bg il tail non mostra affatto le
ultime 10 righe ma solo alcuni caratteri. 
Da varie ricerche ho dedotto che finche' non si seleziona un certo tab
il terminale non e' tale, diciamo cosi', nel senso che tail quando
controlla se sta in un terminale per decidere se fare buffering a
livello di blocco o di riga, decide di farlo a blocchi ed eccola la'.
Se infatti seleziono il tab e il log evolve, tutto funziona bene.
Ho provato a mettere come comando della sessione konsole "setterm
-initialize; tail bla bla" ma non va, e neanche con setterm -reset.
C'e' una soluzione?
-- 
Herbie

 C'e' una soluzione?
E se ti limiti a forzare il comportamento di tail con l'opzione
-n N_RIGHE ?
-- 
Lorenzo `paulatz' Paulatto
Trieste
``Se Gauss fosse vivo oggi, sarebbe un hacker.''
      --Peter Sarnack (Princeton University)

 -n N_RIGHE ?
Uguale, e anzi ho dovuto aggiungere "; read" per non far chiudere il tab
visto che il comando esce subito
-- 
Herbie

 C'e' una soluzione?
provato con dcop?
for sessione in `dcop konsole-2497 | grep session`; do
  dcop konsole-2497 konsole activateSession $sessione
done
nel mio caso ho messo "konsole-2497", ovviamente varia da sessione a
sessione, ma se funziona puoi provare ad automagizzare tutto in uno script
-- 
14/12/2004 | -3 all' alba!

 sessione, ma se funziona puoi provare ad automagizzare tutto in uno script
Mi sfugge un attimo come sapere il pid della konsole corrente
-- 
Herbie

 Mi sfugge un attimo come sapere il pid della konsole corrente
Lancia dcop senza argomenti
[0|paulatto@paulax|~]$ dcop|grep konsole
konsole-17324
konsole-14945
konsole-16456


 konsole-16456
Beh, vabbe' si suppone sia l'ultima quella che mi interessa, e' un po' 
euristica la cosa.
Cmq, ho elaborato questo, da mettere nelle sessioni oltre la prima, che
----
#!/bin/bash
K_PID=$(ps x |awk '/konsole/ && /mutt&company/ {print $1}')
function activate() {
	dcop konsole-$K_PID konsole activateSession $1
}
for session in `dcop konsole-$K_PID | grep session | tac`; do
	activate $session
done
----
note:
* sfrutto il nome del profile "mutt&company" per sapere il pid della
  sessione che mi interessa
* oltre ad attivare le sessioni, volevo che la prima avesse di nuovo il
  focus, quindi sono andato di "tac" per avere l'elenco sessioni in
  ordine inverso
* mi sfuggiva che dcop|grep konsole mi dava anche i pid, ma con ps vedo
  proprio il nome del profilo (avendo lanciato konsole con --profole
  "mutt&company"
* la funzione e' ridondante ma credo mi servira' 
Metto come comando nelle sessioni "activate_session && tail bla bla",
questo mi da' pero' un po' di "flickering" all'inizio, in quanto per ogni
sessione > 1 le riattivo tutte quante, cmq dura molto poco, e' una
questione di "puntiglio" :)
-- 
Herbie

 Metto come comando nelle sessioni "activate_session && tail bla bla",
Uff, a volte va a volte no e ho di nuovo il problema che sto tentando 
di risolvere, credo perche' quando per esempio la sessione
2 sta dando il comando, si apre nel frattempo la 3 che da anche lei
activate_sessions e...non so bene cosa succeda
-- 
Herbie