Wednesday, November 29, 2006

Linux: Internet Explorer on Linux Using a Separate User Account

My library provides free access to Rosetta Stone which I wanted my kids to be able to use to learn Spanish. Rosetta Stone requires Shockwave which doesn't run under Linux like Flash does. The Ubuntu wiki offers some instructions on how to get it to work under Wine using a Windows version of Firefox. Alternatively, CrossOver Linux specifically supports Shockwave.

Unfortunately, neither of these options worked out for me on either of my laptops or in either Ubuntu 6.10 or Ubuntu 6.06. I was having weird X issues with both Wine and CrossOver Linux on my home machine. A bit of Googling suggested that the problem had not been fixed. My work machine wasn't being very cooperative either. In trying all the possible combinations of ways to get this to work, I wasted two days of my Thanksgiving vacation. I was really hoping that patience would lead to victory. Oh well, at least I upgraded my home laptop to Ubuntu 6.10 in the process.

There were some really nice instructions here about how to get IE to run under Linux. Since this would be useful to me as a Web developer, I decided to try it out. It worked really well. I even managed to get the Shockwave plugin working in IE--more on that in a bit.

It was late at night, so I went to bed. Having just installed IE, and since I'm pretty obsessive compulsive, I felt really dirty. In fact, I had nightmares all night. The next morning, I checked, and sure enough, IE had full access to all my files. I was hoping it was in some sort of Wine jail. I decided to wipe my entire home directory and restore it from backup. I felt better already! However, I still wanted access to IE. I decided to dedicate a user account just for IE. In order to access IE, I setup ssh with X11 forwarding so that I could run it while logged in as "jj" even though it's actually running as the "ie" user. Here's how:

First, I created a user using the "Users and Groups" system administration tool. I named it "ie". I saved the password. I used an unprivileged profile, although I did grant the user the "Use audio devices" privilege. I made sure that it had its own group named "ie".

Next, I did:
apt-get install wine
apt-get install cabextract
Then, as "jj", I installed my public ssh key into the "ie" account. If you don't know what I'm talking about, you can skip this step.

Then, per the instructions in the link above, as the "ie" user, I did:
    mkdir Desktop
wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
tar zxvf ies4linux-latest.tar.gz
cd ies4linux-*
./ies4linux
This installs into ~/.ies4linux. To run it, you use "/home/ie/.ies4linux/bin/ie6".

Then, as "jj", I did:
    cp /home/ie/Desktop/IE6.0.desktop ~/Desktop
I modified it so that the Exec line says:
Exec=ssh -Y ie@localhost /home/ie/.ies4linux/bin/ie6
This gave me a nice little icon to click on to launch IE without even thinking about the fact that it's running as a separate user.

Next, in IE, I installed the Shockwave Player. I had to play with the security settings in
IE's "Tools >> Internet Options >> Security" to get permission to do it. Not being a Windows user for almost a decade, this was all new to me.

After all that, it turns out that Rosetta Stone still wouldn't work. Sound didn't work in Shockwave, although it did work for the Flash plugin in IE. How frustrating! However, IE works now, and best of all, I don't feel dirty anymore!

3 comments:

Chris Double said...
This comment has been removed by the author.
damjan said...

Why are you running it over ssh on the same machine? kdesu, sudo should solve the problem by setting the DISPLAY variable and setting the X auth cookie..

Actually... hmmm... your using Gnome I guess, doesn't it have 'right click' on the launcher icon, properties, set 'run as another user'? There is this feature in KDE.

Shannon -jj Behrens said...

Nice idea. I hadn't thought of that. I wonder if there are any security implications one way or the other.