2 Displays and 2 Workspaces With Linux and X?
Borov writes "I'm planning to buy a second monitor in near future and I was searching for ways to configure it under Linux. It seems there are two main ways: 1) to have one 'big' desktop, which means I have single workspace — changing virtual desktop switches both monitors or 2) to have separate X sessions for each display — which means I have separate workspaces, but I can't move applications between them. I need something in the middle — a separate workspace for each screen, so that I can have independent virtual desktops on each screen, but still have the ability to move applications between monitors (no need to strech one app across both of them). I've read that some tiling window managers can do this kind of thing, but I'd rather go with 'classical' window managers, like Openbox/Gnome/KDE or similar."
We won't know until you finish compiling.
I know you don't want a tiling manager, but for anyone wondering, I can speak from experience that dwm works wonderfully with two monitors. I run an external 1920x1200 display, and an internal 1024x600 from my netbook.
I have 4 screen using 2 nvida 9500 cards and KDE.
I have one X session. By not using Xinerama my maximize button is limited to the size of the two screens on one card. I can stretch the window to full size using all 4 screens.
I also use multiple desktops to manage windows.
Right now each screen gets its own window. When I need to look and wide things(log files) I maximize to two screens. For really big things I can stretch the window to all four screens.
gnome with two screens is just fine. you can maximize on either side and even use the window list say one panel per screen to show what windows are open on each display.
most distros dont even need configuring for dualscreen now.
he who controls the spice controls the universe
30 seconds with Google points me to
http://en.wikipedia.org/wiki/Xpra
xpra or X Persistent Remote Applications is a tool which allows you to run X programs usually on a remote host and then direct their display to your local machine without losing any state. It differs from standard X forwarding in that it allows disconnection and reconnection without disrupting the forwarded application
http://en.wikipedia.org/wiki/Xmove
xmove is a computer program that allows the movement of X Window System applications between different displays and the persistence of X applications across X server restarts[3]. It solves a problem in the design of X, where an X client (an X application) is tied to the X server (X display) it was started on for its lifetime. Also, if the X server is shut down, the client application is forced to stop running.
Have you investigated any of these before 'asking /.'?
I'd fire up a second X session on your machine - you can run multiple instances of X with a single monitor after all, and try moving apps between your sessions. Get that to work and everything should be (mostly) trivial after you get your new monitor.
It's designed to share mice/keyboards/buffers across computers, but perhaps you could use it to share across X sessions on the same machine.
http://synergy2.sourceforge.net/
Most people want mirrored or spanned. What you're looking for lies somewhere in between. The trick being to enable spaces control on individual displays, while still allowing drag between displays.
Good luck, haven't seen it. What you want is sufficiently unusual that there may not be anything that provides it. I suggest looking for someone else that's made their own variation of spaces support themselves, that offers the option to switch spaces per-display, as the odds of finding someone that's hacked an existing spaces to be per-monitor is probably going to be low.
The other route would be to find a different variation on spanning, such that the separate monitors aren't necessarily spanned, but are simply adjacent, and if you try to drag a window, it can't exist partly on one display and partly on the other, but you can still drag a window from one display to the other. That may still allow you individual spaces control perhaps? I think that's the reason you're having problems, is that most spanning allows a window to overlap off one display onto another, so for one display to change space it requires the others to change also. If you look at it that way I think you'll realize what you're initially asking for doesn't make sense. (if the displays are truly spanned (attached) and not simply adjacent)
I work for the Department of Redundancy Department.
I run one big desktop with 12 virtual desktops - then for the applications I want to stay available when I move from one desktop to another I simply right-click on the icon in the upper-left corner (of most windows - Chrome beta doesn't have one for some reason) and select "Always on Visible Workspace" - then it sticks there no matter which workspace I'm on.
Otherwise you could set up the VNC X-server and use VNC-viewer to log back in to the local system and use that window as your second, separate desktop.
Been there, done that, paid for the T-shirt
and didn't get it
Enlightenment DR17 (http://www.enlightenment.org) lets you do that: virtual desktops are managed on a per-screen basis, and still you can move windows between screens. Don't worry it is not "officially" released, it's really stable, I've not seen a crash or anything for months.
I use nvidia twinview on the monitors with Gnome. I also have 3 virtual desktops that I access via edge flipping on the vertical axis. I find this workas alot better than arranging the flipping on the sides with 2 large monitors.
So, Mr. Ballmer, would you please elucidate us on which is better, to have one big desktop where changing workspaces switches both monitors at once, or having one X session for each display?
I'm curious to know your opinion, since both alternatives have their own advantages and disadvantages and, since configuring Linux for dual monitors is so easy, using any of those two alternatives presents no problems.
BTW, I'm curious by what you say about how easy it is to set up Windows 7. Installing putty to run an X session on *any* older version of Windows is a royal PITA, so if, as you say, Windows 7 now supports Xwindow natively, then I'm really interested in Windows 7!
Crap, I can't read. It doesn't let your render apps on other screens, and running 2 x sessions would already let you copy buffers, but not apps either.
You're probably talking about Awesome WM. It does both tiling and floating.
xmonad is one of those WM
it's really stable, I've not seen a crash or anything for months.
More importantly: I've only ever seen the window manager crash, but it has never brought down X with it. When it crashes, it gives you a very helpful (and ugly) dialog which allows you to restart the window manager. In the 3 years of using e17, I have never had a single application crash or data loss. And the last e17 crash is from 2008, I think.
Oh, and: mod parent up.
You didn't understand the question.
Here's a simple car analogy: a Linux user asking for tips on advanced uses of virtual desktops is like an off-road rally racer asking for tips on configuring the differentials on a 4x4. Your answer is "use a Ford Taurus".
Ah! This might be it, I just Google'd it and it looks very promising: http://awesome.naquadah.org/
Has anyone noticed the OP never actually asked a question?
I don't think that actually answers the OPs question. Xinerama or XRandR allow you to set up dual head (which the OP presumably already knows about - he talks about having "one big desktop," which is what Xinerama and XRandR give you), but virtual desktops are handled by the window manager, not by Xinerama or XRandR. A Xinerama or XRandR aware window manager could do what the OP wants, giving separate virtual desktops on each monitor, but simply using Xinerama or XRandR won't get that effect unless you use a specific window manager which offers that option.
Actually there is a powertoy that gives you virtual desktops, called desktops. There are some limitations, such as you can't move stuff between desktops, and some apps get pissy about launching; once you learn to live with the limitations its a great app to have.
This one looks promising too! (Just did a Google search for it, http://xmonad.org/ Guess I'll have to try them both...
Probably "xinerama and xrandr"
When searching for an answer, it helps to know the answer.
Welcome to the Panopticon. Used to be a prison, now it's your home.
xinerama + xrandr does not solve the question posed by the OP. Xinerama allows the two alternatives mentioned in the OP as the undesired options (i.e. either two monitors as one screen sharing a workspace, or a separate screen on each monitor which does not allow moving windows between screens).
OP wants two monitors with their own separate workspaces, while still being able to drag windows between them.
In other words, OP wants to be able to transfer running applications between separate X screens, which to my knowledge is not currently possible (or, if it's possible, the functionality is not exposed in Gnome or KDE).
This isn't "+1 Insightful", it's "-1 Didn't bother reading the OP" (or "-1 Doesn't really know what xinerama+xrandr does").
Strings used: "xinerama vs xrandr", "xinerama", "xrandr"
Gosh, isn't it obvious?! Fucking christ, it's the 201st decade, use clairvoyance.
Now that I think about it, I'm pretty sure everything I just said is completely wrong.
There are any number of utilities that will give you multiple virtual desktops on Windows, while retaining Windows' native multi-display features.
In fact, one comes from Sysinternals, which is now part of Microsoft itself. It's called Desktops. It only does 4 virtual desktops though, so if that's not enough, you'll have to look elsewhere.
--Jeremy
Jesus was a liberal
You don't need synergy for that. Xinerama lets you do that natively. What the OP wants to do is be able to move windows between X screens.
He's not really right, AFAICS. A solution might include Xinerama and xrandr but they're not a solution in themselves. Most window managers will switch desktops on all displays simultaneously if you use Xinerama, whereas he wants desktop switching independently on different monitors. You also can't do it easily with separate X screens because it's apparently not possible to move windows between them, which he also would like to do.
I have had a computer running Linux (Fedora of one flavor or another) with two displays for getting on to be most of a decade. Wouldn't work seriously any other way. I have 12 desktops (one for each Fn key on standard keyboards), which are linked so that both monitors switch at the same time.
If you haven't TRIED this sort of setup yet (and it sounds very much like you have not), then I would encourage you to try it first. What problem are you trying to solve with being able to switch monitors individually? WIndows can be trivially moved between virtual desktops under Linux, and with single keystroke desktop switching (remember those Fn keys?) I find that I rarely, if ever, need to move applications from one desktop to another. To promote efficiency, I have adopted, over the years, a standard pattern of where given windows are. The details are good for me, but not necessarily anyone else, so I won't go through the particulars, but, just as one example, when I want to use a browser, I hit F6, and BOOM, there are two browser windows at full screen. When I need an editor, another single keystroke (F3, if you care), and BOOM, emacs on the left, and, usually, an xterm on the right. Fully maximized. Moving windows around and resizing them is a waste of time and screen area. Twelve desktops maps nicely to the Fn keys -- which, again, is why I have 12, and, again is why switching between applications is 1-keystroke-instantaneous -- and I cannot recall running out of room, ever.
If the reason you want to switch workspaces individually is that you don't have enough flexibility in your workspaces (like you only have four per monitor), then you're solving the wrong problem. Increase the number of workspaces you have. Also, stop putting the task bar on the long dimension of the monitor -- that's the one where you have the least distance to play with. And if you're doing any document-based work, then it's a MUST to use portrait orientation.
Or were you just going to dick around, switching the left workspace, then the right one, then the left, then the right?
When people join my lab, they universally comment on how efficient my work setup is ... and usually leave using a very similar setup themselves.
Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
Virtual Workspace addons for Windows? They're all crap. That goes triple for the "powertoy" one.
A Pirate and a Puritan look the same on a balance sheet.
Is that the same one that can easily be made to crash the kernel? Or is it a new one?
yes. probably Awesome WM. There is such a picture on the Awesome homepage (http://awesome.naquadah.org/). It's often advertised as a tiling manager and Julien Danjou seems to have been so upset about that that the 3.4 release now defaults to floating layout on all tags (you can default any tag to tiling or floating, and in the case of multiple monitors, you can have a tilingbehaviour on one monitor, and a floating one on the other monitor, and move windows and applications back and forth).
Awesome is indeed awesome, if you don't mind some manual editing of the lua configuration file.It should fit the OP's requirement nicely. Additionally, it's a blast on netbooks
"DRM is like the Ford Pinto: it's a smooth ride, right up the point at which it explodes and ruins your day."-C.Doctorow
I don't know about Putty, but you can install CygwinX, and run ssh in an x-session, and actually run X applications on your Windows desktop that way.
Ruby Neural Evolution of Augmenting Topologies
I use mac laptops and linux desktops. I'm not an Apple hater, maybe even a fanboy to some degree. But I don't think a mac will help him do what he wants. With a second monitor on a mac, you can either do screen spanning or screen mirroring. He is saying he doesn't want spanning, he wants both monitors to have their own "desktop", i.e., separate menu bars and such with the added kicker of being able to move apps between the separate desktops. You can think of spanning as a big desk and separate desktops as two desks in two rooms making it a hassle to shuffle one set of papers to another. What he wants is two desks in one room with the ability to move papers back and forth at will, but with each having distinct work areas.
It would be cool if macs did that, but they don't. So getting a mac is totally useless for him.
What changed under Obama? Nothing Good
"linux dual head"
The first three mention either xrandr or xinerama. Didn't check beyond that.
Just don't leave linux out of that search or you'll get very different results
I prefer DWM. This is the ultimate in simplicity and usability.
I've been using xmonad for 6 months now and i dont think i can ever go back a regular non-tiling window manager again, dual monitors with independant workspaces is just too sweet.
;)
Win + w/e to switch focus between screens
Win + tab to cycle through windows
Win + 1-9 to switch between workspaces on active screen
Win + Shift + 1-9 to send active window to workspace of choice
It was a pretty steep learning curve at first since the config is written in haskell, but totally worth it.
You can have floating windows if you really want to, but who wants to drag around windows all the time
Does Windows 7 allow for precisely what the original poster is asking for? Independant Virtual Desktops which can be switched out individually and the ability to drag apps between them? I'm pretty sure XP doesn't.
Linux isn't all that hard to configure for dual monitors in the usual sense, one extended desktop. Just use Xinerama (if you aren't using nVidia cards). I used to have 2 monitors and my livingroom TV all hooked to my machine. It wasn't that hard though I did have to edit the xorg.conf file which might be scary to one not used to working with ini files. I use Gentoo, I suspect a more userfriendly distro like Ubuntu might have a nice GUI wizard.
Windows is very easy to configure this way. I have 3 monitors on my XP box at work. You just check the boxes to extend the desktop then drag the screens into the order you want. Easy is nice but unlike my Linux box the Windows one forgets what order/orientation I wanted my screens in about every 7-10 boots and I have to turn my head sideways to use the mouse to put it back. (I have a flipped monitor for easy long page reading) I prefer editing an xorg.conf file ONCE to doing this almost weekly! I'm told Mac is just as easy to configure and actually remembers your preference.
I don't think Windows will let you have separate windows session on the same machine on two monitors. At least not unless you hook one monitor to a second computer, login to the first via RDC and the first is running a server edition... Linux can be multiheaded, it isn't exactly easy though.
What the poster actually asked for though... I don't think either Xorg or Windows can do. I doubt Mac can either but I wouldn't know about that one.
Or is this a new Windows feature? I'm not that familiar with the multimonitor features of Vista or 7, most of my knowledge of the Windows world ends with XP.
Smug answers from Windows users AND smug answers from Linux users - and neither group seems to actually understand the questions the poster is asking!
He wants independent desktops, guys. All these silly "Jus use Windows 7, dummy" and "Use Xinerama, idiot" responders are not grasping that fundamental point - you're all thinking of one large desktop that spans multiple monitors. Basically you're confusing desktops with viewports.
Unfortunately I don't know the answer either - but I do think I at least understand the question...
#DeleteChrome
What do you mean? How do you enable multiple desktops on Windows without 3rd party software?
The OP is not talking about spreading the desktop over multiple screens which is what most distributions do.
He want to combine multiple screens and multiple desktops in a way that is not common. I personally like the OP's suggestion but apparently we must be in the minority since only Enlightenment does it that way...
That said, multiple screens have a long history of being harder on Linux due to driver issues. I believe people are usually quite successful using the NVIDIA drivers and tools. I got decent results with my EEE PC 701 and a TV. But I don't use it much so it does not really count.
Ultramon is not crap, and it does exactly what the OP wants.
So the question becomes: Is there a Linux tool like Ultramon?
legitimate reason number 1: I like a variety of video games. There is a small selection of them for linux and most of them are odd.
legitimate reason number 2: My job requires software that runs on windows or has other policies requiring windows.
legitimate reason number 3: My hardware doesn't have reasonable driver support under linux.
legitimate reason number 4: ... Ok, I am starting to run out of reasons.
This is exactly my preferred work environment, I'm surprised more people don't know about it or try it.
I have a 1900x1200 screen on my laptop and a side monitor of 1600x1200. I don't ever need to maximize an application across both monitors ... either monitor is big enough for a single app. What I find useful is that I can have several applications running on one monitor, each in its own workspace, and several 'adjunct' applications on the other monitor, each of those in their own workspace. This allows me to quickly mix and match reference material or browsers to whatever is relevant to the task at hand.
For example:
I'm a software developer, and I often have many browser windows open to API references, google searches, blog postings, whatever. I will also have a database administration tool, an development IDE, two or three remote desktop sessions, and maybe a couple of non-work things - Spotify or an SSH-tunneled browser session in a separate browser. My day consists of developing and debugging in Eclipse, and rotating among several workspaces on the other monitor to support my development and debugging activities. I find the described X setup to be very efficient; once everything is running, I don't have to go hunting for windows or maximize/minimize other running applications. I just hot-key among the workspaces and easily maintain mental context for the task at hand. If someone comes in and needs a question answered, I don't have to clear the screen -- I just hot-key to an empty workspace and help them with what they are after.
The big win here is retaining the ability to cut-and-paste among applications while being able to 'pin' an application to a monitor. That is, I can leave Eclipse up on monitor 1, and then flip among the workspaces on monitor 2 while I look for whatever information I need. I don't lose my train of thought because Eclipse on monitor 1 is always visible, even as I flip among 5 or 10 different browser windows or applications on monitor 2.
If you aren't a developer, maybe you don't understand. But I'm sure other developers understand the use case ... many times, you may have to push 10 things on your mental stack while you research a problem, and it is easy to lose context. Being able to pin an application on one monitor and then quickly flip through several other applications on the other monitor is a huge productivity win. It always surprises me that more Linux people don't know about this method of using X; it drives me nuts to go to another developer's machine and watch them minimize and/or alt-tab through 30 browser windows and applications when they are trying to do something, or flip back and forth among the same 2 workspaces 16 times in a row because Xinerama has 'trapped' the IDE on their 2nd monitor to a different workspace than the one displaying their reference material. There is a better way.
Having said all that ... I have often wished for the exact capability requested by the OP. There are times when it would be convenient to be able to drag a window from one monitor to the other. As demonstrated by the 'clever' first poster, this setup is often misinterpreted as Xinerama or xrandr or some combination thereof, when actually it is just as the OP described. 'Albanach' has posted the only thing that looks helpful or relevant so far ... I don't see the point of asking "Have you investigated any of these before 'asking /.'?" though, it makes it look like Albanach is trying to be cool or look smart or something ... I guess ... but I am certainly glad that the OP posted the question. I think I tried Xmove but couldn't get it to work, and it sounds like Xpra may not be much better, but I'll try 'em again.
If anyone else understands the issue and has additional suggestions, please advise.
For testing purposes, on a dual monitor twinview setup, I've fired up Xnest with geometry that matches the resolution of one of my monitors to give me the feel of 2 X sessions running at once.
Xnest -geometry 1920x1200 -query localhost :0
I know this doesn't exactly answer the question nor solve the problem of moving windows across X servers, but depending on why you are trying to run 2 separate X's, perhaps this could work. I find the Xnest is great for trying to debug users dot file problems or creating global X settings.
I also seem to remember a way to share just the graphics of a particular application between two remote X servers (i.e. display just firefox on a remote machine), but can't remember the exact command; this was back in the sgi days. At any rate, if you want to just see the same app running on both X sessions, perhaps something like that could work well if you use localhost.
Hope that helps, but like I said it doesn't sound exactly like what you are looking for.
It depends on the game.
eg. Aion has options;
1. Full Screen
2. Windowed
3. Full Screen windowed
if you use option 3, you can full screen on one monitor, but move your mouse over to second monitor and change focus over to another application there. You can do this with 1 as well, but it takes forever (something about having to reinit stuff in directx or something - you'll see that in a lot of games), and you can do it in 2 but you get nasty window title bar and minimize/maximize/close buttons.
AccountKiller
Awesome is very fun to configure.
How do you define/measure "quality"?
By the price.
Shouldn't you be doing something useful?
The powertoy one is pretty terrible, falls over, loses windows, etc.
I thoroughly recommend using VirtuaWin instead.
(I'm currently stuck with Windows at work, and it does most things GNOME virtual desktops can do.)
I had enquired about this during early KDE4 development - more specifically being able to share individual virtual desktops with one user per virtual desktop. This was for a school setting so that a teacher could help students directly from the desktop. This would have drastically reduced system requirements for a classroom setting, but basically the response was NO! what a waste of effort - that is useless. Fortunately iTALC provides most of this functionality but has a larger footprint than I was looking for, however it is probably suitable to your purposes. ... Linux kernel 2.6.33 will bring kernel shared memory & I too can use iTALC
(student=1 workspace)(teacher=all/any workspaces)
http://italc.sourceforge.net//
The latter option mentioned in the summary - each monitor being a distinct X session - is sometimes called Zaphod mode.
I have opted for it myself, but the downside of not being able to drag windows is sometimes a real pain. You can mitigate this to some degree for text programs using screen or dtach. I am interested in trying out xpra, which promises to be like 'screen for x-windows', but I haven't had time yet.
Another issue is that some programs, like Firefox, don't like to run multiple instances. So if you fire it up on one session while it's running on the other, it will try to connect to the existing instance but fail because its on a different session. I work around this with a small script that detects what screen firefox is running on and prepends the appropriate DISPLAY variable.
Agreed. DWM is a 2000 lines of elegant art for programmers. It also has exactly the behavior the questioner is asking for. One changes the workspace on each screen separately, and it is easy to move applications between screens.
Although I prefer DWM for myself, I rarely recommend it to others. Perhaps that is a bit snobbish, but I just think most people are unable to appreciate it properly.