Multi-Monitor Setup On A Single Physical Head (Now Better!)
October 3, 2008 Category: Desktop, KDE, Linux 17 Comments »
That’s a big title, eh? I blogged previously about setting up a multi-head X environment for development and testing, even though I’m working on a laptop with only one card. My previous attempt used Xdmx and multiple Xephyr displays, and there were some problems with it. Thankfully, Lubos commented about his nifty little fakexinerama library that achieves the same result only MUCH easier (easierly?) and without any of the problems that I’d seen using Xdmx/Xephyr(1..n). Here, then, is a description of what I’ve done and the results….
This is a screenshot from within the Xephyr session, showing the 1600×1200 Xephyr display. The cool thing is that using ksnapshot from within the Xephyr session will actually capture the entire display, not just what fits on your host display. This is important for me because my laptop LCD display is only 1680×1050, so I can’t actually fit the entire Xephyr display inside my real physical display. Nice to know, definitely, since this means that I can create a monstrous Xephyr display that doesn’t fit inside my actual host display and still get full-display snapshots out of it. So what you see here is a KDE3 session spanning all 4 Xinerama heads. Kicker correctly only spans head 1. VMware Workstation is on head 2, in full-screen mode, but only full-screened on the second head. It can span more than 1 head as I’ll show further down.
To achieve this, I downloaded seli’s fakexinerama library, compiled it in ~/build/ like this:
gcc -O2 -Wall Xinerama.c -fPIC -o libXinerama.so.1.0 -shared
ln -s libXinerama.so.1.0 libXinerama.so.1
ln -s libXinerama.so.1 libXinerama.so
I then copied the real /usr/lib/libXinerama.so.1.0.0 to /usr/lib/libXinerama.so.1.0.0.real (make sure you backup your library!) and set up an alias in my ~/.profile so that I can easily switch on and off this fake xinerama library. When I start up my real host session, I don’t want to be using fakexinerama, but when I launch my Xephyr session for multimon development, I do need it to be there.
xin () {
if [ “$1” = “real” ]
then
sudo cp /usr/lib/libXinerama.so.1.0.0.real /usr/lib/libXinerama.so.1.0.0
elif [ “$1” = “fake” ]
then
sudo cp ~/builds/libXinerama.so.1.0 /usr/lib/libXinerama.so.1.0.0
else
echo “real or fake?”
fi
}
Here’s the contents of my ~/.fakexinerama config file:
#Configuration file ~/.fakexinerama
#
# The format of the file is rather strict. Lines beginning with # are comments. First line is one
# number, specifying number of screens. This line must be followed by this number of lines, each
# containing four numbers: X Y W H, i.e. screen’s X and Y origin, width and height.
4
0 0 800 600
800 0 800 600
0 600 800 600
800 600 800 600
This establishes a 2×2 4-head xinerama configuration. Next up is creating the Xephyr display. From within your regular host session:
Xephyr :2.0 -ac -br +xinerama -screen 1600×1200 &
xterm -display :2&
You should now have a single Xephyr screen that’s 1600×1200 pixels with an xterm running inside of it. Now switch focus to the new xterm window and turn on the fakexinerama library and start up a KDE3 session:
xin fake
startkde
# (and when you’re done with this little environment, make sure you return your system to sanity by running “xin real”)
That’s about it. Really cool stuff. One last little screenshot… This one shows VMware Workstation spanning multiple heads. This obviously works with real external monitors as well. The way it works is by clicking the little monitor button to the right of the “View” menu. This tells Workstation to cycle through the available display topologies. So, on first press, Workstation spread across all 4 heads (fullscreen multimonitor, largest topology). Second press took on this configuration that I screengrabbed (vertical span). Third press spread Workstation horizontally across the first 2 heads. And then 4th press returned Workstation to just fullscreen on head 2 (where I started it from).
One last thought on the subject… One of the things I’m hopefully going to be able to work on in the next couple of months is implementing the new EWMH _NET_WM_FULLSCREEN_MONITORS hint in various X window managers. Currently, Workstation does some internal gyrations to convince window managers to allow our undecorated fullscreen window to maximize over multiple monitors/heads. _NET_WM_FULLSCREEN_MONITORS was the hint that was recently added to the EWMH spec to correctly accomplish this, but as far as I know, it hasn’t been added to any window managers yet. I’m excited about getting the chance to get up to speed on some window manager internals again! It’s been a while since I’ve last had the chance to do that (bbkeys/blackbox days of yore!).
Anyway, hope this helps someone else set up a multi-head dev/test environment, should the need arise. =:)
A Poor Man’s Multi-Monitor Setup On A Single Physical Head
September 25, 2008 Category: Desktop, Linux 6 Comments »
Finally!! I’ve been trying to figure out how to do this for a while now. Namely, I need to be able to test multiple display stuff out in Linux and being that I use my laptop pretty much exclusively for development, and I don’t have mulitple physical monitors handy at home (and certainly not whilst travelling), I’ve been thus far unable to test anything multi-head-ish. But, thanks to Xdmx and Xephyr, this is now possible.
Xephyr :3.0 -ac -br +xinerama -screen 600×400 &
Xephyr :4.0 -ac -br +xinerama -screen 600×400 &
Xdmx :5 -display localhost:3 -display localhost:4 +xinerama
export DISPLAY=:5
openbox&
xterm&
So, the first 2 lines start up X-within-X displays on localhost:3 and localhost:4. The third line starts up the distributed multi-head X server, Xdmx, and tells it to use 2 displays (the two Xephyr displays started in lines 1 and 2) as the back ends. The fourth line exports a new DISPLAY variable (:5 — the Xdmx uber-display) that openbox and xterm both use. The screenshot shows my 1200×400 Xinerama 2-head X session, with the xterm dragged half-way between the two heads.
There are still some things that I need to figure out with this. Moving the mouse between the virtual heads is a little wonky (read: doesn’t work?). But at least, this is a promising beginning of what feels like a really cool answer to this problem. Anyone else have any insight to add to this? Any thoughts on how to get the mouse to behave sanely between virtual heads (which are actually X windows on my host)?
Looking for: Parental Controls Virtual Machine (or something)
April 7, 2008 Category: Desktop 15 Comments »
Dear Lazyweb,
Having paid a decent amount of money yearly to Linksys for their nice little Parental Controls feature which ties in really well with my WRT54GS wireless router, I am surprised and dismayed to find that Linksys is no longer going to allow me to do so. They’re discontinuing their Parental Controls feature (a site-wide proxy, if you will) and have no replacement product. And having looked for the same service available from anyone/anywhere else, I am also shocked and dismayed to find that I can’t locate a viable replacement for said service.
So, dear reader, if you happen to know of a good product/service that allows multiple logins per site (home) and configurable levels of allow/blocking, and doesn’t cost more than $60 per annum, please tell me.
My next thought is in building out a Virtual Machine (dang I love VMware!) with Ubuntu CE installed and configured that I’d eventually publish on the virtual appliance site thingey. Maybe there’s someone who’s beaten me to this already?
TTFN.
The Most Perfect Desktop OS
January 25, 2007 Category: Desktop, KDE 1 Comment »
OpenSUSE 10.2.
KDE + Beryl.
Hands down.
Blows everything else I’ve ever seen away, including OS X.
Wow, seriously.
In The Last 48 Hours
May 17, 2006 Category: Apples, Desktop, Life in General, Linux, Movies, Music, Work Stuff No Comments »
I have had the pleasure(?) of living through the following:
- Getting two problems (ABS light and Airbag light were both stuck on) with our new-to-us 2005 Town & Country fixed only to find another problem (2 radiator fans refused to turn off when car was turned off). Had to disconnect battery overnight to turn off fans and prevent battery drainage. Took said vehicle back into the dealer who promptly and courteously fixed it. Again.
- Finding out that the family dog (who just yesterday started limping–refusing to set any weight on her left, front paw) has Lyme disease. $200+ later and doggie is now feeling much better, apparently.
- Beating head repeatedly against same problem at work for a week now is still not yielding any noticeable results, other than in softness of head.
- Compiled 2.6.17-rc4 kernel from kernel.org in an attempt to prove that same palm-pilot-related kernel crash existed in upstream kernel. After several iterations of fun and frivolity and make-kpkg’s and reboots, discovered that it does not seem to after all, which means that the problem must lie somewhere in either 2.6.15 or in the patches that ubuntu has made to it. Yay! This is, I think, the last major show-stopper from me being able to run Linux on my powerbook. About the only large annoyance now is the lack of Flash. Oh–I’ve decided that manually downloading QIF files and importing them into MoneyDance whenever I need to balance the checkbook is not such a horrible thing (refer to earlier post about MoneyDance, IBM’s PowerPC Java, and the inability to do OFX transactions).
- Started listening to Switchfoot’s Nothing is Sound CD. It’s pretty good. I think my favorite song thus far is the simultaneously deep and also infectiously make-you-want-to-scream-at-the-top-of-your-lungs-too track, “Stars”. I will say this, though, and I mean no disrespect to Switchfoot, nor do I know anything of their contractual obligations or personal lives…. But this CD seems on an initial listen to be less hope/God-focused than their previous CD, The Beautiful Letdown, which was REALLY, REALLY good. I’ll not say much more because I’ve honestly not listened too closely, nor have I dug up the lyrics from the new CD yet. But I do hope that the Switchfoot guys are still as focused and passionate about God as they were in previous years. I also sincerely hope that their record label hasn’t pressured them into producing a more commercially-palpable product for the sake of being more commercially-palpable. It is a good CD, though, and I do like it. Here’s to you, Switchfoot, my home (town) boys. =:)
- Finally watched Jet Li’s latest film, Unleashed, and I was REALLY impressed! It was very artfully done, all around. I mean, it had the bad language that my TV-G couldn’t seem to filter out (no closed captioning on the DVD??), but other than that, I think it was a pretty good movie. It was certainly the best all-around martial arts movie I think I’ve ever seen. Morgan Freeman was (as always) excellent in it. His father figure role provided stability, peace, and focus for the entire film. Without him, I don’t think the film could have gone the distance. And Jet Li took some very brave steps in this film to try to grow in his abilities as an actor, and he pulled it off fairly well! I swear, Jet Li is the best martial artist that I have ever seen on film. I know I’m committing heresy here, but I would put my money on him over Bruce Lee (duck), Jackie Chan (sorry Jackie baybee!!!), Steven Segal (pfaw, yeah, like that’s even a challenge), Jean-Claude van Damme in his prime (*twitch*), and anyone else I’ve ever seen (hmmmm, David Carradine???). So, go put the kids to bed early, rent Unleashed, and enjoy some kick-butt fight scenes, a really touching story, some seriously M.Night-esque tense scenes (Victoria taking off his collar, anyone??), and the absolutely best close-combat fight sequence that I’ve ever seen.
This Just In: Linux Is Better Than OS X
April 27, 2006 Category: Apples, Desktop, Life in General, Linux 14 Comments »
Well, at least it is for me. And it’s taken me $1500 to figure it out the hard way.
How much is it to ask for to be able to {alt,command}-tab through ALL bloody open windows in OS X? You know… ALL of them. Like, ALL of them–including the X11 windows that all get bunched up underneath one stinking X icon. Or the 2 Firefox windows. Not just one of them. ALL of them. And yes, I do know about Witch. And no, it doesn’t work with X11 windows. And why would I want to use X11 to begin with? Because sometimes Free applications are much, much better than the ones you have to pay for. For example, kontact is MUCH much better an integrated mail/PIM environment than Mail.app could ever dream of being.
I realize that some people (mostly Mac-only people) don’t bother their pretty little heads about such things. OS X is pretty, after all, and it’s sooooo much better than OS 9, etc. And if you stay in the Apple box, it truly is a really nice and functional and pretty environment.
Blah.
I now realize that what I have is a really pretty, sexy, sleek, expensive computer (again, they all suck) that is completely incompatible with me. I’m not saying it’s not compatible with others–obviously that’s not the case, and I wish them all the best of luck. But it sucks for me.
I realize this, but it comes down to what you’re used to and what you can be most-productive with. And for me, I’m used to working the way that I’m used to working for the last 10+ years on Linux, and be it “better”, “worse”, “ugly”, or “whatever”, it’s what I’m comfortable with and what I’m most-productive with.
As I’ve blogged about previously, I cannot just use Linux on the powerbook (Linux works absolutely great, persay, but the proprietary applications that I need to run on it I cannot since they’re not made for Linux-PPC, but only Linux-x86). Let this be a lesson to all those who come behind…. Yes, Linux (the Kernel and distribution) works wonderfully on the PPC platform. But do the apps you need? Realize up front that you cannot use Flash (like 50+% of the websites on the WWW use these days?!?), Moneydance (forget OFX because Moneydance is proprietary, as is Java, and the only “complete” JVM you can use decently is IBM’s JDK, which doesn’t work with Moneydance’s SSL layer or something… blah), Win32-based multimedia codecs (.mov, .avi, .asf, etc…. any of the codecs that work in Linux-x86 that are based on windows32 will NOT work in Linux PPC), and others you may not realize you really need to have until you’re stuck with a powerbook running Linux and can’t have them.
I also cannot just use OS X. This is partly because of comfort/what-I’m-used-to, as well as some practical things, like having to jump through some really screwy hoops to be able to develop for the KDE environment.
And how bloody difficult is it to have the “end” key mean “End of Line” to OS X????? Or the “Home” key mean “beginning of Line”, not “top of page”????
And why not put the to-the-rest-of-the-world standard keys (ever heard of insert? single-key delete/page down/page up/home/end?????) as single keys on the Mac keyboard, Steve???
Bloody BLAH.
Desktop Linux and Me
November 29, 2005 Category: Desktop, Life in General, Linux No Comments »
This little excerpt is very exciting, I think. If the eWeek report is correct, and this truly does have the backing of the corporations listed, then it sure seems like people are starting to get serious about the real possibility of a Linux Desktop that has a chance at challenging the Windows desktop market share.
I’m guessing that they’ll first be targetting end-user desktop market space, which shouldn’t be all that difficult, imho. Heck, I’ve been doing it for 10+ years now. What would be really interesting, however, is if they can target the corporate desktop environment. Now that’s a different animal entirely.
Someone, please pay me to help develop the Linux desktop?!?!? =:/
Total Lack of Passion or Momentum
September 24, 2005 Category: Desktop, Life in General, Open Source, Work Stuff No Comments »
I found this blog entry from Dave Neary the other day and share his sentiments. Namely, I’m not particularly enamored with what I do for a living (Retail Pharmacy–it’s not painful to the point of death, but it’s not something that I’m passionate about, to be sure), and would absolutely LOVE to work with a company that not only embraces the Open Source desktops (GNOME, KDE, etc., etc.), but also actively participates in their development. From what I’ve seen, Redhat and Novell do this, but I’ve not been successful in getting anyone’s attention with my resume-submissions. =:/
But that’s my passion, to be sure, and I would love the opportunity to work on something during my day job that I am truly passionate about. I would think that that would not only make for one heck of a happy employee, but also a happy employer, being that passion has to help spur productivity, or at the very least cover a multitude of common-to-any-workplace annoyances.



