Frontier on Wine

Following the lead of Chris Double who got Radio Userland to run on Wine, I have now gotten the basic windows install of Frontier to run on Linux using Wine. It’s currently something that takes a bit of patience to do and should not be relied upon to serve anything important.

***How to do it

  1. Install a recent build of wine. Anything since the 2003-04-08 release is probably new enough. If there’s a package for your distro, you probably want that. If not build from source. To be difficult, I wanted a packaged version for my Debian Woody (stable – read not really bleeding edge) machine, so I ended up grabbing the latest nightly debian source package from http://people.debian.org/~andreas/ and hacking at it till it built. If you’re using debian, you’ll need the winesetup package as well. Frontier doesn’t seem terribly particular about wine’s settings.
  2. Get the windows Frontier installer from frontier.userland.com and run it using “wine Frontier90Setup.exe”. I chose all of the default options. Launch Frontier from the final dialog box.
  3. When Frontier launches, you will just see a Wine-Systray window. Right click on it to bring up Frontier in a window. At least that’s what I’m seeing, since I’m running Afterstep, an old NextStep inspired desktop. In something a little more modern like KDE, the Frontier icon actually shows up in the app tray. (I’m getting the distinct feeling that Afterstep is a little 1995 ish in its capabilities.)
  4. Let the startup script run long enough to open the guest databases and enter their info in user.databases. Then make the change to system.startup.startScript reported by Chris:
    if system.environment.isWindows
      user.webBrowser.winDefaultBrowserApp = "notepad.exe"

    I suspect that we may be able to fix this by the addition of registry keys in the wine user registry.

  5. Complile this, save Frontier.root and all of the other databases, and quit Frontier.
  6. Make sure you’re in the Userland directory and start Frontier from the command line using “wine Frontier.exe 2>&1 >/dev/null &” (this is a bash command that supresses all the error output). Frontier should run through the entire startup script now, and at some point go to 5 threads and be ready to serve hits on the admin (port 5336) website.
  7. Since the first run of Frontier ‘failed’, we need to add an admin user. Jump to the admin membership group (cmd-j admin) and add a user:
          hitcount        0    number
          lastVisit       clock.now()
          password        pw   binary
             name         foo  string

    You should now be able to log into with the email and password that you supplied. Run through the setup as normal.

  8. The final tweak is to get the port 80 webserver running. Since we’re running this on unix, non-root users can’t listen on the webserver port. This is the same problem as has been solved by Frontier-OSX users. You can either setup apache to proxy requests or use the kernel ipchains/iptables service to portforward for you. I set user.inetd.config.http.port to 8000 and user.inetd.config.http.apparentPort to 80, then set apache to forward all traffic for http://wine.wiredfool.com to Frontier.

***Bugs and other issues

This is certainly not a production system yet. I’ve noticed issues ranging from cosmetic to data loss.

  • [modifier]-double click sometimes hangs wine or the X server.
  • Sometimes clicking on a window close box for user.databases or system.temp generates an attempt to save the table. That fails, then the table is deleted. Deleting system.temp generally causes frontier to Function very badly.
  • 2 way dialogs that should be ok/cancel are cancel/retry.
  • Outline/table display has lots of artifacts and dirty redraws.
  • Font handling is very tempermental. The same line sometimes has multiple fonts per character.
  • Performance is decent for webserving, not all that good for console access. I don’t think I’d want to use it all day, but it’s certainly better than timbuktu/vnc.
No comments

No comments yet. Be the first.

Leave a reply

You must be logged in to post a comment.