Pagina 1 di 1
Screen e "vi" da root
Inviato: gio 28 giu 2012, 18:47
da joe
Una curiosità.
Provate la seguente serie di comandi:
1- aprite un terminale, per esempio xterm
2- avviate una sessione screen
3- fate il logni di root come segue: "su -" (non dimenticate il trattino)
4- lanciate "vi" liscio oppure aprite un file di testo a scelta"vi ${percorso}/${nomefile}".
Rilevo uno strano comportamento di "vi" che poi sarebbe elvis se non sbaglio.
Lo fa anche a voi o l'editor si comporta normalmente?
Grazie in anticipo!
Re: Screen e "vi" da root
Inviato: gio 28 giu 2012, 21:01
da RedSkull92
A te cosa succede di preciso ?
Re: Screen e "vi" da root
Inviato: ven 29 giu 2012, 1:00
da ZeroUno
non riesce a rilevare correttamente il terminale:
echo $TERMCAP
su -
echo $TERMCAP
soluzione:
export TERM=xterm
vi test
oppure usa vim
Re: Screen e "vi" da root
Inviato: ven 29 giu 2012, 12:42
da joe
Il comportamento che rilevo èe strano a terminale vedo quanto segue:
Cioè nonsi apre l'editor come dovrebbe.
Vero, il problema sembra avere a che fare col terminale: la varabile TERMCAP dell'utente semplice è piena di roba. Invece dopo aver fatto il login di root "su -" (trattino compreso, altrimenti non cambia nulla) TERMCAP è vuota.
Esportando la variabile TERM assegnando il valore "xterm" vi funziona comeci si aspetta solitamente. Tuttavia TERMCAP continua ad essere vuota.... boo.
Inoltre se uso un xterm senza avviare screen e faccio "su -", ecco che in quel modo funziona, quindi il problema sembra essere causato dalla concomitanza di più fattori.
Per rendere la cosa "persistente", si può mettere in baschrc nella home di root? Vi pare una soluzione con qualche rischio che ignoro oppure va bene?
Re: Screen e "vi" da root
Inviato: ven 29 giu 2012, 14:35
da ZeroUno
Alla sempliciotta:
quando carichi screen, questo setta la variabile di ambiente TERM a "screen" e visto che non tutti gli editor interpretano il terminale "screen" (prova a dare export TERM=pippo) allora screen decide bene di settare anche la variabile TERMCAP con l'esplicitazione di "screen". elvis non riesce ad interpretare TERM così prova ad interpretare TERMCAP.
Quando si fa su - ci sono alcune variabili che possiamo chiamare "ereditarie", cioè si propagano alla shell di root, altre no. TERM si propaga, TERMCAP no.
Prova a dare "env" prima e dopo il su / su -
La soluzione definitiva più pulita è dire cosa è "screen" al sistema.
edita (come root) il file /etc/termcap copiandoci in fondo al file paroparo il contenuto di $TERMCAP.
Re: Screen e "vi" da root
Inviato: ven 29 giu 2012, 17:24
da joe
Fatto: ho copiato $TERMCAP dell'utente semplice (solo quello conteneva qualcosa) in /etc/termcap.
Poi ho fatto il logout da root e sono rientrato sempre con "su -".
Ora vi si comportata allo stesso modo tanto per root come per l'utente semplice.
Alla prossima. E grazie.
