It's been a minute since I posted...lots going on in life outside the keyboard, but I had a pretty tricky challenge come up recently I wanted to share.
I have been scaling up my security system by integrating a couple more IP cameras that were lying around doing nothing. There are pluses and minuses to this method just like there are pluses and minuses to buying new or building from scratch using a network of single board PCs or whatnot. I opted for the existing hardware though because I hate stuff going to waste...just my thing. Anyway, the particular hurdle I found the most challanging to overcome had to do with the ever-so-common webUI configuration settings. The ONLY way to program these things manually (that is, without a vendor membership or service plan) was through an OLD web interface you operate through the browser. "But web browsers are universal and just work, right? What is the problem?". I know you're not asking this because anyone reading this probably already knows where I'm going...PLUG-INS! When your webapp depends on a plugin that will likely be depricated before the year is out, it's going to cause problems. The particular ones I had issues with were Flash, Java, and...wait for it...QuickTime! Yes, even quick time. In fact, the UI specifically stated when I first connected that my browser wouldn't work and to try an older version of Microsoft Internet Explorer? What? I haven't voluntarily used IE since...well...never. Now you want me to run old plugins on it as well?
Of course after my frustration wore off I began working the problem as usual. I quickly find that Microsoft still offers developer VMs loaded with older versions of IE for backwards compatability tests. Thinking this is my best shot to program these cameras I start to download one but begin to think there must be a faster way versus sitting and waiting 3 hours for a 4GB download that won't be good for anything else. Surely there is a more clever way to do this!
BeenThereDoneThatTip: If you find yourselves thinking these crazy thoughts, DO NOT stop the download. Just let it run while you fiddle around. You'll thank me later.
In truth, there are lots of ways to get IE running in a Linux environment along with many other applications. The devil is in the details though. Lets start with the first method I actually tried:
Most of you have probably heard of wine before. I certainly have and used it several times, but Winetricks was advertised as an improvement over Wine, so I started with it. While your milage will vary, this did NOT work for me since I'm running exclusively in 64bit architecture. WineTricks, more specifically the IE binaries it uses, seems to only want to run in x86 architecture. I couldn't find a way around this little preference in a reasonable timeframe so I purged it and tried something different.
Wine + 32bit Architecture:
I realized I wasn't getting 32bit packages in my repos because I was running EXCLUSIVELY 64bit architecture. So I had to go about enabling x86/i386 archtecture to get 32bit software binaries from my repo as well as update.
Pro-tip: 32 will go into 64 but NOT the other way round.
Enabling 32bit architecture on 64 machines shouldn't hurt any existing software. It can also be removed later to lower your footprint. So here's a bit my history file of what I actually 5 ended up running to help anybody who might be following along:
sudo dpkg --add-architecture i386 && apt-get update sudo apt-get install wine \ wine32 \ wine-developer \ wine32-developer \ libwine \ libwine-developer
After the primary software installs of my more traditional Wine environment I found IE still failed to load. One error had to do with HTLM_Auth and the other related to Gecko (No...not the gecko that saves you money...). I fixed both of these with a little research. Hopefully it will help you.
Forum Post: https://askubuntu.com/questions/1090094/wine-missing-ntlm-auth-3-0-25 I fixed this by installing winbind.
sudo apt-get install winbind
Software: http://dl.winehq.org/wine/wine-gecko/2.47.1/ Forum Post: https://ubuntuforums.org/archive/index.html/t-2387138.html Basically I had to manually install the Gecko driver to get IE to launch.
cp ~/Downloads/wine-gecko-2.47.1-x86.msi ~/.cache/wine $ wine msiexec /i ~/.cache/wine/wine-gecko-2.47.1-x86_64.msi or $ wine msiexec /i ~/.cache/wine/wine-gecko-2.47.1-x86.msi
$ cd ~/.wine/drive_c/Program Files/Internet Explorer $ wine iexplorer.exe
If all went well you'll be greeted with a sad little IE window. Woohoo! Despite all my efforts I quickly found that IE run in wine doesn't handle authetication requests or process redirects. I took my time basking in all the disappoitment I brought upon yourself, then opened the OVA that had by that time just finished downloading, then finished doing what I was actually trying to do the night before...