On Wed, 2009-04-08 at 11:09 -0700, Bill Kendrick wrote:
> Date: Wed, 8 Apr 2009 07:26:52 -0700
> From: Thomas Johnston <[email protected]>
> Subject: Trouble installing Matlab in Debian
> To: [email protected]
> 
> I attended the LUGOD social gathering yesterday evening and
> some of the members suggested I pitch my question here.
> 
> I converted to Linux (Debian lenny) about 1 week ago and attempted to
> install Matlab.  I have an ISO of the Matlab CD on my hard drive.  I
> mount the ISO and attempt to install the software by issuing the
> command:
> 
> sh install
> 
> The error that is generated reads:
> 
> An error status was returned by the program 'xsetup', the X Window
> System version of 'install'. The following messages were written to
> standard error:
> 
> No protocol specified
> Can't open display.
> 
> Attempt to fix the problem and try again.  If X is not available or
> 'xsetup' cannot be made to work then try the terminal version of
> 'install' using the command:
> 
> install* -t or INSTALL* -t
> 
> Sorry! Setup aborted ...
> 
> 
> yes, the install attempt was done while under root.  I could a
> relevant fix via a Google search nor in the archived tech messages on
> this mailing list.
> 
> Thanks in advance,
> 
> Thomas
> 
> "Speak slowly, I am windows user."

What command are you using to become root?

If you're using su to become root, this is a common problem. X11 uses a
"magic cookie file" to determine who's allowed to access the screen.
Programs read the magic cookie file, and if they present the right
contents to the X server, they're allowed to communicate with the x
server. The location of the magic cookie file is determined by an
environment variable. When you su to root, su wipes out the environment
variables, causing the installer to not know where to find the magic
cookie. Thus, you're denied access to the x server, and the installer
prints out the error "No protocol specified"

There are several solutions, and I'm not sure which ones are configured
to work correctly on a default debian install.

First, I think there's a difference between "su" and "su -". One
sanitizes the environment to mimic a brand new login, and the other does
not. I don't remember which is which, so if you were doing one, try the
other.

You can ssh to the machine as root, by running "ssh -X r...@localhost",
which should act almost identically to running "su -", but the -X option
gives you X11 forwarding (really cool when you're dealing with other
machines), which will let the installer work. (This depends on the ssh
server having X forwarding enabled, and I don't remember if that's the
debian default. Years ago, when I first installed my desktop machines,
it wasn't.)

You can use sudo to run the installer. ("sudo sh install") If sudo is
configured to allow you to do this, then it should get X11 forwarding
correct.

You can log out from whatever user you are right now, and log in as
root. (Not recommended in this day an age, but it's always good as a
last resort.)

Install "sux" (apt-get install sux), then use sux to become root. It
should work just like su, but get the X11 stuff right.

I'm going to be away from the keyboard for the next few days, maybe a
whole week, so if you have followup questions and want a timely answer,
direct them to vox-tech, not to me.

--Ken

-- 
Chanoch (Ken) Bloom. PhD candidate. Linguistic Cognition Laboratory.
Department of Computer Science. Illinois Institute of Technology.
http://www.iit.edu/~kbloom1/

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
vox-tech mailing list
[email protected]
http://lists.lugod.org/mailman/listinfo/vox-tech

Reply via email to