I'm using Ubuntu 9.10 with an Intel graphics card (Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)) and a dual monitor setup in Gnome. I run Compiz as a window manager.
When I tried to close the game, my primary monitor was automatically turned off and everything switched over to my secondary monitor. I attempted to close the game several times, but it was locked up hard. I resorted to using the "xkill" command.
Here is a log of the game.
Whenever I open the game (even just to the lobby screen) and close it, there is the mode reset.
INFO [Properties.<init>] VERSION: 1.2.3
INFO [Properties.<init>] Classpath: ./data.jar
INFO [Properties.<init>] Java VM: 14.1-b02
INFO [Properties.<init>] Java Runtime: 1.6.0_15-b03
INFO [Properties.<init>] OS: Linux 2.6.31-19-generic amd64
INFO [Properties.<init>] Java Library Path: lib
INFO [Properties.<init>] Max Memory: 238616576
INFO [Properties.<init>] Avaialble Processors: 2
INFO [PropertiesBase.readFromFile] Reading Settings from file settings.txt
INFO [Settings.<init>] Settings file not found: settings.txt (No such file or directory)
INFO [SubstanceLoader.initLookAndFeel] Window Skin: Default
INFO [MasterClient.setServerAddress] MasterClient: Address http://www.planetmule.com/server
INFO [MasterClient.logSend] MasterClient: Sending Login
INFO [MasterClient.apply] MasterClient: Session ID: fa1a47dfafa31428aae8bf2123c46d3e
INFO [Login$MasterListener$1.run] Logged in as "JamesGecko" (id 12658)
INFO [MetaFrame.<init>] Creating Meta Frame
INFO [MapSkinParser.findSkins] No extra skins found
INFO [MasterClient.logSend] MasterClient: Sending Enter Lobby
INFO [Login.dispose] Disposing login
INFO [Main.main] Creating game container
INFO [MuleGameContainer.<init>] LWJGL Version: 2.2.1
INFO [MuleGameContainer.<init>] Desktop Display Mode: 1024 x 768 x 24 @75Hz
INFO [MuleGameContainer.<init>] Current Display Mode: 1024 x 768 x 24 @75Hz
INFO [MuleGameContainer.<init>] Display Adapter: null
INFO [MuleGameContainer.<init>] Display Driver: null
INFO [MuleGameContainer.setVSync] Setting vsync: true
INFO [MuleGameContainer.<init>] Setting pixel format
INFO [MuleGameContainer$1.run] Pixel format: Samples=0 Alpha=0 Depth=8 Stencil=0
INFO [SlickLogSystem.info] Use Java PNG Loader = true
INFO [MuleGameContainer.<init>] Display finished
INFO [SettingsDialog.applySettings] Changing map skin to default
INFO [Main.main] Entering game loop
++++++++ END OF INITIALIZATION +++++++++++++++++++++++++++++++++++++++++++
INFO [MetaFrame$MasterListener$1.run] Entered master server game lobby
INFO [MetaFrame$16.windowClosing] Meta frame closing
INFO [MetaFrame$16.windowClosing] Meta frame closing done
INFO [Main.main] Leaving game loop
INFO [MasterClient.close] MasterServer: Closing...
INFO [MasterClient.close] MasterServer: Closed (59ms)
INFO [MetaFrame.dispose] Disposing meta frame
INFO [PropertiesBase.writeToFile] Writing Settings to file settings.txt
INFO [MetaFrame$16.windowClosed] Meta frame closed
INFO [Main.main] Main thread finished
Note that the "Desktop Display Mode: 1024 x 768 x 24 @75Hz" line is incorrect. That is the mode of my secondary monitor. My primary monitor is 1280 x 800 x 24 @60Hz.
I'm not sure why Planet M.U.L.E. feels the need to screw with my resolution settings at all; it didn't touch them to start with.
From what I understand, X.org handles multiple monitors by allocating a desktop space larger than all attached monitors, then placing the monitors on top of this space, like views into a larger room. Because there is a 14 pixel difference between the heights of my monitors, there is a 14 pixel gap either above or below the 1024 x 768 monitor in which windows can be dragged. Hope that helps.