Comando ls e output colorato (con file *.txz) [RISOLTO]

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

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 Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
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
Burroughs
Linux 4.x
Linux 4.x
Messaggi: 1076
Iscritto il: mer 15 dic 2004, 0:00
Nome Cognome: Andrea Lutri
Kernel: 3.16.0
Desktop: KDE SC 4.13.3
Distribuzione: Arch Linux
Località: Glasgow
Contatta:

Comando ls e output colorato (con file *.txz) [RISOLTO]

Messaggio da Burroughs »

Il titolo dice tutto, fra l'altro questo è uno di quei problemi che son più facili a mostrarli a video che a spiegarli; farò del mio meglio... :)
Allora, Slackware 13.0, apro da utente il terminale di default...
I binari della slack (sia i *.tgz che i *.txz) li visualizzo come voglio io, cioè in rosso, però, se da utente normale scalo a superutente, riesco a vedere in rosso solo i *.tgz e non i *.txz.
Vi allego il bashrc dell'utente e del superutente:

Codice: Seleziona tutto

alutri@andy:~$ cat .bashrc
export LS_OPTIONS='--color=auto'
eval `dircolors`
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
alias fortune="fortune /usr/share/games/fortunes/*ok"
# This line was appended by KDE
# Make sure our customised gtkrc file is loaded.
# (This is no longer needed from version 0.8 of the theme engine)
# export GTK2_RC_FILES=$HOME/.gtkrc-2.0
e

Codice: Seleziona tutto

root@andy:~# cat .bashrc
export SHELL=$(which bash)
export LS_OPTIONS='--color=auto'
eval `dircolors`
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
Burroughs.
Ultima modifica di Burroughs il ven 16 ott 2009, 10:45, modificato 1 volta in totale.
"Two things are infinite: the universe and human stupidity; and I'm not sure about the universe" (Albert Einstein)

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Comando ls e output colorato (con file *.txz)

Messaggio da targzeta »

L'errore è nell'invocazione di dircolors.

Codice: Seleziona tutto

eval `dircolors`
Questo comando vuole anche un file da valutare, altrimenti ti setta le impostazioni di default (in cui non c'è il txz). L'unica cosa è che non capisco come mai con quel .bashrc ti funzioni per l'utente, avrai un .bash_profile diverso dal .bashrc?

Per ovviare all'errore dovresti a mio avviso eliminare completamente quelle righe da entrambi i file (o commentale con un '#' se non ti fidi).
Questo perchè se invochi 'su' allora l'ambiente è passato pari pari e quindi la variabile LS_COLORS rimane quella dell'utente con cui ti sei loggato e da quanto scrivi sembra corretta.
Se invece invochi 'su -' viene eseguita una shell di login e quindi dircolors viene eseguito da '/etc/profile'.

Emanuele

P.S. Inoltre ti suggerisco un LS_OPTIONS più carino '--color -F -T 0', ma è questione di gusti/abitudine.
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Comando ls e output colorato (con file *.txz)

Messaggio da conraid »

l'ho notato anche io, però sei fai

Codice: Seleziona tutto

su -
allora li prende correttamente
quindi è qualche inizializzazione

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Comando ls e output colorato (con file *.txz)

Messaggio da conraid »

l'alias ls con color è impostato nell'ambiente, con il file /etc/profile.d/coreutils_dircolors.sh, non importa farlo per l'utente
così come eval dircolors

dircolors prende i txz dal file /etc/DIR_COLORS, non inizializzando con su - magari non carica /etc/profile.d/coreutils_dircolors.sh

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Comando ls e output colorato (con file *.txz)

Messaggio da targzeta »

conraid ha scritto:...dircolors prende i txz dal file /etc/DIR_COLORS, non inizializzando con su - magari non carica /etc/profile.d/coreutils_dircolors.sh
Forse non mi sono spiegato bene? Se invochi 'su -' allora dircolors viene eseguito correttamente da /etc/profile, se invece si invoca 'su' allora non viene eseguito da /etc/profile perchè la shell non è di login, però l'ambiente viene passato al superutente e quindi la variabile LS_COLORS rimane uguale a quella dell'utente attuale, che per quanto scrive Burroughs è corretta.

dircolors di suo non setta i 'txz'. Fai una prova, esegui solo

Codice: Seleziona tutto

eval `dircolors`
e poi controlla con

Codice: Seleziona tutto

echo $LS_COLORS | grep --color txz
quindi poi ripristina tutto con

Codice: Seleziona tutto

eval `dircolors /etc/DIR_COLORS`
Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Comando ls e output colorato (con file *.txz) [RISOLTO]

Messaggio da conraid »

no spina, io non ho quelle cose nei miei file di inizializzazione, sia di login sia interattivi, e se faccio su non prende quelli dell'utente, ma non prende niente, ecco perché non mi torna la tua frase
Per ovviare all'errore dovresti a mio avviso eliminare completamente quelle righe da entrambi i file (o commentale con un '#' se non ti fidi).
Questo perché se invochi 'su' allora l'ambiente è passato pari pari e quindi la variabile LS_COLORS rimane quella dell'utente con cui ti sei loggato e da quanto scrivi sembra corretta.

Avatar utente
Burroughs
Linux 4.x
Linux 4.x
Messaggi: 1076
Iscritto il: mer 15 dic 2004, 0:00
Nome Cognome: Andrea Lutri
Kernel: 3.16.0
Desktop: KDE SC 4.13.3
Distribuzione: Arch Linux
Località: Glasgow
Contatta:

Re: Comando ls e output colorato (con file *.txz)

Messaggio da Burroughs »

spina ha scritto:L'errore è nell'invocazione di dircolors.

Codice: Seleziona tutto

eval `dircolors`
Questo comando vuole anche un file da valutare, altrimenti ti setta le impostazioni di default (in cui non c'è il txz). L'unica cosa è che non capisco come mai con quel .bashrc ti funzioni per l'utente, avrai un .bash_profile diverso dal .bashrc?

Per ovviare all'errore dovresti a mio avviso eliminare completamente quelle righe da entrambi i file (o commentale con un '#' se non ti fidi). [CUT]
Ho risolto commentando le righe in entrambi i file, come suggerivi tu.
Sì, l'utente normale ha un suo .bash_profile, che viene usato solo per impostare alias di comandi impostati in /etc/sudoers.

Burroughs.
"Two things are infinite: the universe and human stupidity; and I'm not sure about the universe" (Albert Einstein)

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Comando ls e output colorato (con file *.txz) [RISOLTO]

Messaggio da targzeta »

@conraid
Dal su(1)
The current environment is passed to the new shell.
Io non ho capito se anche tu hai lo stesso problema o cosa :)

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Comando ls e output colorato (con file *.txz) [RISOLTO]

Messaggio da conraid »

boh... a me fa come dicevi tu, senza che abbia quelle righe nei file di inizilizzazione, ne nell'utente ne per root

tra l'altro
da root ad utente tutto ok
da utente a root da il comportamento che hai descritto

@spina
sì, ho lo stesso "problema", se vogliamo chiamarlo problema, non mi metto certo a cercare di risolverlo

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Comando ls e output colorato (con file *.txz) [RISOLTO]

Messaggio da targzeta »

conraid ha scritto:...
@spina
sì, ho lo stesso "problema", se vogliamo chiamarlo problema, non mi metto certo a cercare di risolverlo
Che tu abbia lo stesso "problema" lo si intuisce da quello che hai scritto. Il tuo caso dovrebbe essere solo quello in cui invochi 'su', questo perchè, suggerendo a Burroughs di eliminare l'alias di ls commetti un errore. Se invochi 'su' non viene eseguita la shell di login e quindi il file /etc/profile non viene eseguito, di conseguenza non viene settato l'alias per ls.

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Comando ls e output colorato (con file *.txz) [RISOLTO]

Messaggio da conraid »

sì hai ragione, ha gli alias in .bashrc

Offtopic: naturalmente anche se il file fosse richiamato da .bash_profile invocare un doppio alias non è peccato, ma non sarebbe stilisticamente perfetto :-)

Rispondi