[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNU emacs locks files modified with CVS
From: |
Maurizio Loreti |
Subject: |
Re: GNU emacs locks files modified with CVS |
Date: |
17 Dec 2003 07:42:36 +0100 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 |
Pepijn Kenter <kenter_remove_spam@tpd.tno.nl> writes:
> gebser@speakeasy.net wrote:
> > There's two ways which will keep/set the DISPLAY variable:
> > First, if the DISPLAY variable is set in user1 and you do "su
> > user2", then the environment of user1 will carry into user2. IOW,
> > you're good. Second, if you, instead, do "su - user2", then you will
> > have a fresh environment, that of user2. If user2's environment
> > doesn't have the DISPLAY variable set properly, you can do this by
> > setting this in user2's ~/.bashrc file... if user2's default shell
> > is bash-- if you're using some other shell, consult the manpage for
> > the proper file and command syntax for setting the environment.
> >
> Thanks for your reply but the .bashrc seems to me the wrong place to
> set the DISPLAY variable.
> If you login from another machine it won't be set properly.
Correct. The right place is .bash_profile, executed at login.
FWIW, this is from my own .bash_profile:
,-----
| # Tries to figure out a correct DISPLAY environment variable
|
| if [ -n "$DISPLAY" ]
| then
| # if DISPLAY is set, we assume it is also valid; if it is not,
| # the user may always change it later ($DISPLAY is printed at
| # the end of the login procedure).
|
| REMOTE="${DISPLAY%%:*}"
| else
| temp0=$(who am i | awk '{print $2}')
|
| if [ "$temp0" = "console" ]
| then
| REMOTE="localhost"
| DISPLAY=":0.0"
| else
| temp1=$(who --lookup | grep "$temp0 " | uniq | awk '{print $6}')
| # Note the blank-------------------^
| if [ -n "$temp1" ]
| then
| temp2=$(echo $temp1 | sed -e 's/(//' -e 's/)//')
| temp3=$(echo $temp2 | cut -d. -f2)
| if [ "$temp3" = "pd" ]
| then
| # If on host.pd.infn.it, DISPLAY="host:0.0";
| # if not, DISPLAY="host.dom.ain:0.0"
| REMOTE=$(echo $temp2 | cut -d. -f1)
| else
| REMOTE="${temp2%%:*}"
| fi
| DISPLAY="${REMOTE}:0.0"
| unset temp2 temp3
| else
| REMOTE=""
| DISPLAY=":0.0"
| fi
| unset temp1
| fi
| unset temp0
| fi
|
| export REMOTE DISPLAY
| echo "DISPLAY is now: $DISPLAY"
`-----
--
Maurizio Loreti http://www.pd.infn.it/~loreti/mlo.html
Dept. of Physics, Univ. of Padova, Italy ROT13: ybergv@cq.vasa.vg