Newsgroup: it.comp.macintosh
Titolo: Bash e X11

Ciao,
per che cavolo di motivo se faccio un man bash da terminale funziona, ma
se lo faccio da xterm (X11) mi da un No manual entry for bash?
Per dire env da terminale di da':
Daneel:~ jack$ env
MANPATH=/sw/share/man:/usr/share/man:/usr/local/share/man:/usr/X11R6/man
:/sw/lib/perl5/5.8.6/man
TERM_PROGRAM=Apple_Terminal
XDG_DATA_HOME=/Users/jack/.local/share
TERM=xterm-color
SHELL=/bin/bash
PERL5LIB=/sw/lib/perl5:/sw/lib/perl5/darwin
TERM_PROGRAM_VERSION=133
SGML_CATALOG_FILES=/sw/etc/sgml/catalog
USER=jack
GDK_USE_XFT=1
__CF_USER_TEXT_ENCODING=0x1F5:0:4
XDG_CONFIG_DIRS=/sw/etc/xdg
PATH=/sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin
XML_CATALOG_FILES=/sw/etc/xml/catalog
PWD=/Users/jack
SHLVL=1
HOME=/Users/jack
XDG_CONFIG_HOME=/Users/jack/.config
XDG_CACHE_HOME=/Users/jack/.cache
LOGNAME=jack
XDG_DATA_DIRS=/sw/share
INFOPATH=/sw/share/info:/sw/info:/usr/share/info
SECURITYSESSIONID=13a83aa0
_=/usr/bin/env
mentre da X11 mi da':
Daneel:~ jack$ env
MANPATH=/usr/man:/usr/X11R6/man
TERM=xterm
SHELL=/bin/bash
WINDOWID=4194318
USER=jack
__CF_USER_TEXT_ENCODING=0x1F5:0:4
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin
PWD=/Users/jack
HOME=/Users/jack
SHLVL=2
LOGNAME=jack
DISPLAY=:0.0
SECURITYSESSIONID=13a83aa0
_=/usr/bin/env
Ora, che io sappia bash usa il /etc/profile e il ~/.profile per i
settaggi. La bash da terminale lo fa, mentre quella di X11 no. Perche'?
Ho 10.4.3 installato ex-novo.
Sull'ibook env mi da' la stessa cosa sia da X11 che da terminale (ma li
uso tcsh invece della bash).
Ciao Jack
PS: qualcuno sa dirmi perche' xchat installato da fink non mi vede il
font Monaco?
-- 
Yoda of Borg am I! Assimilated shall you be! Futile resistance is, hmm?

 settaggi. La bash da terminale lo fa, mentre quella di X11 no. Perche'?
Dal manuale
A  login shell is one whose first character of argument zero is a -, or
one started with the --login option.
       An interactive shell is one started without  non-option
       arguments  and without the -c option whose standard input and
       error are both connected to terminals (as determined by
       isatty(3)), or one started with  the  -i option.   PS1 is set and
       $- includes i if bash is interactive, allowing a shell script or
       a startup file to test this state.
[...]
       When  bash is invoked as an interactive login shell, or as a
       non-inter- active shell with the --login option, it first reads
       and executes  com- mands  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.
[...] [ IMPORTANTE ]
       When an interactive shell that is not a login shell  is  started,
       bash reads  and executes commands from ~/.bashrc, if that file
       exists.  This may be inhibited by using the --norc option.  The
       --rcfile file  option will  force  bash  to  read  and  execute
       commands from file instead of ~/.bashrc.
Quindi tornando a noi tu hai dell'inizializzazione nel .bashrc e una
delle due shell è di login (l'xterm di X11). Io suggerisco di mettere a
posto i files di configurazione.
-- 
non vincono, non vinceranno, non hanno domani
la forza è nel puntello impugnato da oneste fortissime mani

 posto i files di configurazione.
Avevo letto.
A questo punto bash puo' anche andare a donnine allegre. TCSH FOREVER!!!


 A questo punto bash puo' anche andare a donnine allegre. TCSH FOREVER!!!
Non capisco proprio quale sia il problema.
Chiami il bashrc come qualcos'altro. Per esempio io tengo tutto dentro
.bashrc, e poi ho un link simbolico .bash_login a .bashrc
Se invece avessi bisogno di differenziare le modalitŕ di avvio, potrei
farlo. 
Peraltro questo comportamento lo ha identico anche tcsh.
       A  login  shell  begins  by  executing  commands  from the system
       files /etc/csh.cshrc and /etc/csh.login.   It  then  executes
       commands  from files  in  the  user's  home  directory:  first
       ~/.tcshrc  (+)  or, if ~/.tcshrc is not found, ~/.cshrc, then
       ~/.history (or the value of  the histfile shell variable), then
       ~/.login, and finally ~/.cshdirs (or the value of  the  dirsfile
       shell  variable)  (+).   The  shell  may  read /etc/csh.login
       before  instead  of  after /etc/csh.cshrc, and ~/.login before
       instead of after ~/.tcshrc or ~/.cshrc  and  ~/.history,  if  so
       compiled; see the version shell variable. (+)
       Non-login  shells read only /etc/csh.cshrc and ~/.tcshrc or
       ~/.cshrc on startup.
-- 
non vincono, non vinceranno, non hanno domani
la forza č nel puntello impugnato da oneste fortissime mani