Dubbio su profile.d
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.
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.
Dubbio su profile.d
Se creo uno script /etc/profile.d/prova.sh che ad esempio modifichi PATH aggiungendo una directory, non ottengo i risultati sperati dentro x, mentre in init 3 funziona.
In poche parole se dalla konsole di kde faccio echo $PATH la mia directory non compare nella variabile, mentre la directory compare da echo $PATH lanciato dal terminale in init 3, fuori da x...
Come mai ?
In poche parole se dalla konsole di kde faccio echo $PATH la mia directory non compare nella variabile, mentre la directory compare da echo $PATH lanciato dal terminale in init 3, fuori da x...
Come mai ?
forse perché il tuo run level predefinito è 3??
se voui che un programma si parte all'avvio di kde mettilo in .kde/Autostart.
se invece voui lanciare uno script all'avvio mettilo in /etc/rc.d/rc.local
se voui settare un particolare path, è più pulito metterlo in ~/.bashrc se non esiste crealo
e metti dentro export PATH=$PATH:/LA_directory_CHE_VUOI
se voui che un programma si parte all'avvio di kde mettilo in .kde/Autostart.
se invece voui lanciare uno script all'avvio mettilo in /etc/rc.d/rc.local
se voui settare un particolare path, è più pulito metterlo in ~/.bashrc se non esiste crealo
e metti dentro export PATH=$PATH:/LA_directory_CHE_VUOI
che centra il runlevel adesso. gli script in /etc/profile.d/ vengono eseguiti da /etc/profile il quale a sua volta è eseguito ad ogni invocazione della shell (ksh, bash,...) sia di login che non (mentre ~/.bashrc è eseguito solamente in shell non di login).
x dani: se apri una virtual console (ctrl+alt+Fn per intenderci) mentre sei in X ti funziona giusto? se apri un terminale da X no?
x dani: se apri una virtual console (ctrl+alt+Fn per intenderci) mentre sei in X ti funziona giusto? se apri un terminale da X no?
Dalla console virtuale (ctrl+alt+Fn) le variabili sono ok, sia che x è avviato o meno...Se invece faccio startx, apro la Konsole, mi loggo come root le directory che avevo aggiunto alla variabile non ci sono (mentre da utente ci sono)bloodlust ha scritto: x dani: se apri una virtual console (ctrl+alt+Fn per intenderci) mentre sei in X ti funziona giusto? se apri un terminale da X no?
in /etc/profile.d/prova.sh:da X:
e
non è che magari viene eseguito un altro script che reimposta la variabile di ambiente?
Codice: Seleziona tutto
#!/bin/sh
export PATH=$PATH:/TESTCodice: Seleziona tutto
root@mørke:~# echo $PATH
/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/TEST:/usr/share/texmf/binCodice: Seleziona tutto
fra@mørke:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/TEST:/usr/share/texmf/bin:.- targzeta
- 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
Da man bash:
e ... dal file /etc/profile ....
A buon intenditor poche parole 
Spina
Codice: Seleziona tutto
When bash is invoked as an interactive login shell, or as a non-interac-
tive shell with the --login option, it first reads and executes commands
from the file /etc/profile, if that file exists. After reading that
file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in
that order, and reads and executes commands from the first one that
exists and is readable. The --noprofile option may be used when the
shell is started to inhibit this behavior.
Codice: Seleziona tutto
for profile_script in /etc/profile.d/*.sh ; do
if [ -x $profile_script ]; then
. $profile_script
fi
done
Spina
bho...io continuo a non capire...
In etc/profile, PATH è impostato così:
E gia' da qui nel PATH di root non compariva nè usr/X11/bin, nè opt/kde/bin
Quindi sono stato costretto ad aggiungere in /root/.bashrc:
Ma vabè...Passiamo allo script in etc/profile.d/nessus.sh che contiene:
Ora, dalla konsole di kde:
Da utente:
Da root:
Ricapitolando, da utente PATH e MANPATH sono ok, LD_LIBRARY_PATH no.
Da root MANPATH è ok, PATH e LD_LIBRARY_PATH no.
Perchè ???????????????
In etc/profile, PATH è impostato così:
Codice: Seleziona tutto
# Set the default system $PATH:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/X11/bin:/opt/kde/bin"
# For root users, ensure that /usr/local/sbin, /usr/sbin, and /sbin are in
# the $PATH. Some means of connection don't add these by default (sshd comes
# to mind).
if [ "`id -u`" = "0" ]; then
echo $PATH | grep /usr/local/sbin 1> /dev/null 2> /dev/null
if [ ! $? = 0 ]; then
PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH
fi
fi
Quindi sono stato costretto ad aggiungere in /root/.bashrc:
Codice: Seleziona tutto
export PATH=$PATH:/usr/X11/bin:/opt/kde/bin
Codice: Seleziona tutto
export PATH=$PATH:/opt/nessus/sbin:/opt/nessus/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/nessus/lib
export MANPATH=$MANPATH:/opt/nessus/man
Da utente:
Codice: Seleziona tutto
dani[~]$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11/bin:/opt/kde/bin:/opt/www/htdig/bin:/opt/nessus/sbin:/opt/nessus/bin:/usr/lib/qt/bin
dani[~]$ echo $MANPATH
/usr/local/man:/usr/man:/usr/X11R6/man:/opt/nessus/man:/usr/lib/qt/doc/man
dani[~]$ echo $LD_LIBRARY_PATH
Codice: Seleziona tutto
root[~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11/bin:/opt/kde/bin
root[~]# echo $MANPATH
/usr/local/man:/usr/man:/usr/X11R6/man:/opt/nessus/man:/usr/lib/qt/doc/man
root[~]# echo $LD_LIBRARY_PATH
Da root MANPATH è ok, PATH e LD_LIBRARY_PATH no.
Perchè ???????????????


