Screen e "vi" da root

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Screen e "vi" da root

Messaggio 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!

Avatar utente
RedSkull92
Linux 3.x
Linux 3.x
Messaggi: 567
Iscritto il: mar 21 apr 2009, 17:25
Slackware: 64bit -current
Kernel: 3.5.4
Desktop: FluxBox
Località: Palermo
Contatta:

Re: Screen e "vi" da root

Messaggio da RedSkull92 »

A te cosa succede di preciso ?

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Screen e "vi" da root

Messaggio da ZeroUno »

non riesce a rilevare correttamente il terminale:
echo $TERMCAP
su -
echo $TERMCAP

soluzione:
export TERM=xterm
vi test
oppure usa vim
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Screen e "vi" da root

Messaggio da joe »

Il comportamento che rilevo èe strano a terminale vedo quanto segue:

Codice: Seleziona tutto

root@darkstar:~# vi
skipping 14 old session files

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?

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Screen e "vi" da root

Messaggio 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.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Screen e "vi" da root

Messaggio 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. :D

Rispondi