[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: possibile bug in gnome-terminal?



Il mer, 2003-08-27 alle 18:37, Leonardo Canducci ha scritto:
> gnome-terminal legge .bash_profile solo se è selezionata, per il profilo
> corrente, l'opzione "eseguire comando come una shell di login". nel mio
> profilo di default è selezionata questa opzione.

Dall'help di gnome-terminal:
"- Esegui comando come shell di login
Selezionare questa opzione per fare in modo che i comandi eseguiti nel
terminale vengano eseguiti come shell di login. Se il comando non è una
shell, questa impostazione non ha effetto."

Fra l'altro e' possibile che quest'impostazione non sia valida per
l'invocazione di gnome-terminal -e|-x ma si riferisca solo al caso
dell'apertura di una nuova finestra|scheda usando la shell di default o
il comando sostitutivo impostato nel profilo (insomma, solo quando premi
shift-ctrl-[tn]).

> quando lancio un programma in questo modo:
> leo@cervellone:~$ gnome-terminal -e testpath
[...]
> gnome-terminal non lo trova. per farlo funzionare devo indicare il full
> path, anche se non dovrebbe essere necessario, visto che ~/bin è inclusa
> in $PATH per le shell di login.

Si', gnome-terminal resetta $PATH.
Mi vengono in mente un paio di buone motivazioni per questo
comportamento.
La prima e' che gt eredita la $PATH dal padre, pero' gt usa un solo
processo per tutte le finestre|schede, per cui devi accertarti di aver
chiuso tutte le "istanze" e lanciare gt da un xterm in cui sia settata
la $PATH corretta. La seconda e' che gt usi la $PATH "di default" di
gnome.
In entrambi i casi dovresti risolvere modificando $PATH in gdm.conf.
Altre causa, a mio parere meno probabile, potrebbe essere una
configurazione tramite gconfd o (difficile) file rc.
Tralascio il caso di una $PATH hardcoded (*questo* imho sarebbe
veramente un bug).

> ho provato anche a modificare $PATH in .bashrc ma le cose non cambiano.

Qua si aggiunge un altro problema. Anche modificando .bashrc il tuo
"echo $PATH " non ha gli effetti che ti aspetti perche' il tuo script e'
eseguito da /bin/sh (e non /bin/bash) che molto probabilmente e' un link
a /bin/(d|)ash. Ovviamente `man ash` per approfondimenti sui file di
inizializzazione di (d|)ash (brevemente: ~/.profile e un file riferito
da $ENV{ENV}).

> a mio parere dovrebbe essere un bug. voi che ne dite?

Imho, sono piuttosto propenso a considerarle un insieme di 'feature'.
Comunque facendo diverse prove e leggendo la documentazione relativa
potrai farti un'idea piu' precisa.

Ciao,
Gian Piero.

PS: l'ultima frase potrebbe risultare polemica, cosa che non era nelle
mie intenzioni. Volevo semplicemente dire che sono scettico sul fatto di
considerarlo un bug e quindi ti consiglio di approfondire la questione.



Reply to: