LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Desktop (https://www.linuxquestions.org/questions/linux-desktop-74/)
-   -   Any good window managers that are geared towards multi monitors and having apps launch on proper one? (https://www.linuxquestions.org/questions/linux-desktop-74/any-good-window-managers-that-are-geared-towards-multi-monitors-and-having-apps-launch-on-proper-one-4175586790/)

Red Squirrel 08-10-2016 11:19 PM

Any good window managers that are geared towards multi monitors and having apps launch on proper one?
 
My biggest grippe, being in Windows or Linux, when it comes to multi monitor, is how programs refuse to open on the monitor it was launched from. They all do their own thing, some remember the last place they were, some are random, some do it properly, there's just no consistency. Then there's apps that launch dialogs, and dialogs end up all over the place. Code::blocks is notorious for this, no matter what you do, no matter what rules you set some dialogs will always go to the left most monitor. But it's all app dependent, which is unacceptable.

Is there a window manager that fully manages ALL programs so that they stay constrained to where they were launched from? The simplest way would be to simply check what monitor the cursor is on, and launch there. I know KDE has all sorts of rules for that, but lot of programs ignore them. Need something that FORCES it, no matter what.

I had tried i3, which is a very different type of window manager and would take some getting used to, basically it's tile based, but it also forced dialogs to stay within their own tile, so it sort of accomplished the same thing. Problem with that one was the graphics, when scrolling in Firefox, or doing anything else with graphics that move, it would not update at the same rate throughout the whole screen, you get like a "line" half way through. Though I was getting this too in the default window manager and there was a fix for it, I can't remember what. Something in xorg.conf if I recall.

I gave up multi monitor for single + two raspberry Pis for the side monitor, but this setup is not really working out that great either. Synergy constantly crashes so I have to SSH into the PIs to relaunch it, then half the time the browser on one of the PIs keeps shutting off on it's own... overall it's more hassle than it's worth. I want to relook at options to go with a normal multi monitor setup again, but I really want to find a way so dialogs don't end up all over the place.

Do I have any options for this? I can't be the only one that is annoyed by this window placement problem with multi monitor.

Ztcoracat 08-12-2016 06:58 PM

Quote:

I can't be the only one that is annoyed by this window placement problem with multi monitor.
No your probably not the only one annoyed by this.
The problem is I don't know how to fix it. It's my hope that others here will.;)

I'd think that members that are running multiple monitors might know how to fix this and chime in.

I looked for a little over an hour online and I wasn't able to get a definitive answer on a window manager that has the functionality that your looking for.

I'm thinking that changing the display value might help or tweaking the configuration in the Xorg file might be the answer. I'm guessing here. Maybe tweaking the X session manager somehow will help?

For most programs you must change the DISPLAY environment variable when launching to have the program appear on another screen: (I don't know if that helps)
https://wiki.archlinux.org/index.php/multihead

Xinerama is an X extension which enables multi-headed X applications and window managers to use two or more physical displays as one large virtual display. Maybe this is what your looking for?
https://awesome.naquadah.org/wiki/Us...ltiple_Screens

http://unix.stackexchange.com/questi...ors-and-panels

I found Dual Monitor Tools not sure if that will be a help to you but I given your thread my best go.
https://sourceforge.net/projects/dualmonitortool/

One last idea; maybe write to the maintainer of your distribution for suggestions or write to a developer that designs window managers for Linux and see if they can help.

273 08-13-2016 05:05 AM

With my NVIDIA card I just set things up for "use seperate X sessions" or some such though that way windows can't be moved from the screen they were opened on.
Other graphics cards I'm not sure about.

Shadow_7 08-13-2016 06:58 PM

If you don't need acceleration, you can run xephyr windows on each screen. And different window managers in each or as raw X sessions on top of the current one (control+shift locks you into that xephyr session, or unlocks / toggle). Most *nix apps have a -display option to tell it where to go. There's wmctrl to move it after the fact. And xrandr with a --primary to kind of set a default monitor. The -geometry option is also a *nix standard on many things which has +#+# to tell it the +X+Y offsets. Although many things default to centered on the primary display, and not much to be done about that. Maybe wayland or mir addresses these behaviors, otherwise it is what it is. I just use wmctrl with the -r :SELECT: option to position and size the offending gui things. With -e 0,0,0,1280,720 for an equivalent of -geometry 1280x720+0+0 (-e 0,+x,+y,x,y), bear in mind that the +x and +y includes the window decoration so be sure to do that math if you're not putting it in the top left (0,0).

Ztcoracat 08-13-2016 07:19 PM

Quote:

Originally Posted by 273 (Post 5590209)
With my NVIDIA card I just set things up for "use seperate X sessions" or some such though that way windows can't be moved from the screen they were opened on.
Other graphics cards I'm not sure about.


How do you set up seperate X sessions?

Red Squirrel 08-14-2016 12:06 AM

I remember experimenting with separate X sessions before, but things got really flaky, I think because it's trying to access the same config files at the same time (ex: user setting stuff and what not). Stuff like theme would get all messed up, and there was other limitations like you could not open more than one Firefox window because it would say it's already running. Is there a fix for these problems, because that would be my best bet, if I can just run 3 separate X sessions.

Shadow_7 08-14-2016 06:42 AM

Xephyr is like running X inside X. Although by default a windowmanager-less X session. But launch an xterm to it with -display and set the $DISPLAY variable and launch your app from the CLI and it's functional. Although you lose the hardware acceleration of graphics, so don't expect miracles. Xephyr is meant to test apps that need a particular screen size (like a cell phone). But you can use Xephyr and Xdmx to create a terminal session that stretches vertically across multiple Xephyr windows (see my singular blog on here).

http://www.linuxquestions.org/questi...hadow_7-24143/

With an 8x8 bitmap font you can literally have an 80 by 405 line xterm session on a 1920x1080 screen. Except that emacs crashes if you have more than 256 lines. And firefox crashes if you enable bitmap fonts. And... And... And...

273 08-14-2016 08:24 AM

Sadly the Firefox issue still presents though you can get around it by having different profiles open on each screen. The desktop settings are a little odd but XFCE seems to pretty much work most of the time with some messing about initially.
I'm not actually sure how separate X sessions is done nowadays because I've had it like that for a fair few years but I think it's by setting each screen to a different x screen number in nvidia-settings though it will need to be done as root since it has to write to xorg.conf to work.

Red Squirrel 08-15-2016 09:07 PM

I decided to try separate X sessions again to see how it goes, took a lot of fiddling around to get the screen order right but I managed to make the centre one the primary then the two side ones as two other separate X sessions.

But it STILL opens stuff on the wrong monitor, for example when I right click on one of the other desktops to choose "Run Command", the search box goes on the centre one! WHY? I would have thought that separate X sessions would completely separate everything to the point that this is not possible. However by adding the panels and widgets and getting a separate start menu, launching apps that way seems to work. So this MAY be usable, but the fact that some stuff can still launch on the wrong monitor does not instil a lot of confidence.

i3 tiling window manager seems to be the only thing that works where it will keep stuff within it's own zone, but I don't really want a tiling window manager.

Is there any other way to split up the 3 monitors so stuff launched from one will always stay on that one? The Synergy method with the Raspbery PIs seems to be the only way so far, it's just that it's so unstable. Synergy crashes all the time forcing me to have to restart it or SSH into the PIs to relaunch, the browser on the PI randomly shuts off all the time, etc... so it's a constant battle to keep everything going.

I'm even wondering if I could do something really exotic like have 3 VMs that are set to auto launch and use i3 to tile the VMs across the 3 monitors. But, that just feels so dirty.


Edit: Nevermind, it seems to really want to launch windows wherever the hell it wants. Even using the start menu on the 3rd monitor it ended up launching a console on the 1st. What a mess. I don't get why this is so hard. Launch freaking windows where they were launched from! Why can't they code it this way?

notKlaatu 08-15-2016 09:19 PM

On KDE, you can force apps to always launch on one screen or another, with window-specific overrides. There are many, many rules and conditions you can apply, so you can probably approximate what you want.

KDE tends to just do the right thing for me at work, but it's not really something I think about it (the "right" screen for me is ALWAYS the one I'm looking at, so 50%-50% chance).

Launch System Settings > Window Behaviour > Window Rules

https://lut.im/gallery#lLigLGrexM/JaNcuTxKuB2wVy0r.jpg

Red Squirrel 08-15-2016 09:54 PM

I've used those settings in KDE and even made global rules, but there is still the odd app that won't listen and do it's own thing. Code::blocks for example is notorious for it, it will launch certain dialogs on the left most monitor no matter what, instead of the centre (primary) one. Another annoying one is the audio mixer, you right click on the task bar and the pull up menu ends up all the way on the left monitor instead of the one where the task bar is.

An ideal window manager would be one where you can create zones and it would make the application think that the zone is one monitor, but still allow to move the window to another zone. So almost like a tiling manager but still floating windows.

Ztcoracat 08-15-2016 10:57 PM

Did you try Xephyr like Shadow_7 suggested?

I few ideas but I could be wrong but trying to help you here.

Maybe finding out which monitor your os sees as the default and change that?
Select and put the monitors in the order in which you want them to perform and be recognized.
-::-You should be able to change the default in the BIOS.-::-

In Windows app's store the results of window placement in the registry.
If you can find where in Linux the window placement is kept/stored that may be the key to fixing the issue.
Adjusting and editing the Xorg file or X11 with an argument might be the answer. OR creating a configuration file to control the monitors?
http://www.yolinux.com/TUTORIALS/Lin...lMonitors.html

Make sure that your main monitor is to the left and not to the right.
-If the two monitors are different resolutions make sure that they both align at the top.
http://askubuntu.com/questions/9921/...-wrong-monitor

Make monitors work separately:-
http://unix.stackexchange.com/questi...cate-linux-min

Does your distribution have a configuration tool to control more than one monitor?

If you have a nvidia card there is nvidia-settings GUI that helps. Like 273 said.
http://superuser.com/questions/24084...rs-for-x-linux

I'm out of ideas:-

Ztcoracat 08-15-2016 11:00 PM

Maybe consider Devilspie-

It's a non-gui utility that lets you make applications start in specified workplaces.
https://help.ubuntu.com/community/Devilspie

Ok now I'm out of ideas.:)

273 08-16-2016 12:58 AM

That's odd, I do only have two monitors but XFCE will always open an application on the monitor it is opened from. I can, with some applications, even specify the display in a shortcut or from the terminal (in the form DISPLAY=0.1) should I want to though I don't play with that much.
As mentioned the only real issue I have is Firefox will only allow one instance (oh, and now I recall Chrome and Chromium do also but they just open another window in the same screen as the original rather than an error). If I need to I can get around it but it's so rare I use a browser to actually browse in two windows that it's not a problem.
I keep meaning to try KDE again but last time I tried it it didn't even allow the second monitor to be used for menus never mind allow me to open applications on it.
I seem to recall MATE might have worked (either that or cinnamon) to some degree but looked like I'd need to spend time getting things configured so I stuck with XFCE.

I do share your frustration with multi-monitor though -- it really ought not to be that hard. It's also difficult to change settings and know they won't mess something up when you change back so unless one is prepared to chase down all the relevant files in home and make backups it's tough to experiment with also.

Shadow_7 08-16-2016 04:10 AM

If they are "unique" X sessions, they should have different $DISPLAY variable values. Otherwise you might need to set that value to match the X session.

$ export DISPLAY=:1
$ nice -n 10 firefox

This variable may not be set, or you are inheriting it from the primary display. If you're launching an X app from a tty console you also need to set the $DISPLAY value manually (or pass -display). Although it's better to set the $DISPLAY so the app inherits it. It could also be that various apps assume the DISPLAY=:0 in all cases, which is not a safe assumption.

$ startx -- :1

For example will start X with a $DISPLAY of :1.

$ echo $DISPLAY
:1

.

Red Squirrel 08-16-2016 08:05 AM

I'm just trying to use GUI, and not console so not sure where I'd put those export parameters. I want my primary monitor to be the centre one not the most left. (3 monitor setup)

I've been thinking of just going with a single 4k monitor to save all the trouble though.

273 08-16-2016 12:47 PM

Some applications take the display parameter and some can be prefaced with DISPLAY=:0.1, or whatever, in their menu item (for example) to get them to run on one screen or the other. It's not particularly useful day-to-day things as menus tend to share entries, for example, but it can be useful for certain things. Also things like conky can be told to use (in my case) display 0.1 and if I feel like it I can run another instance of conky in the other screen and open another on screen 0.0.
I've pretty much given up trying to get things perfect and live with XFCE being "good enough". I have tried the other options for screen configuration but they either tended to end up with full-screen applications trying to cover both or only being able to use OpenGL on one screen. Whether that's been solved with the other options or not I've not bothered to test as I've got used to my setup.

Red Squirrel 08-16-2016 04:27 PM

I don't really have to want to do that for every time I want to open an app, I just want the app to open on whatever screen it was launched from.

Given there does not seem to be any solution I might try to dive into the code that determines this and customize something. I imagine there must be a way to get the x/y coord of the mouse somewhere along the code that draws a window, then just need to use those x/y coords to determine where the window is drawn. Hopefully in that context there is also a way to determine the different screen boundaries as to ensure a window opens fully on one screen - the one with the cursor. Guess it would make an interesting learning project as I've never really touched any Linux code before.

273 08-16-2016 04:40 PM

Quote:

Originally Posted by Red Squirrel (Post 5591820)
I don't really have to want to do that for every time I want to open an app, I just want the app to open on whatever screen it was launched from.

Perhaps I'm giving too much information at once.
XFCE "just works" for me without any issues apart from only being able to have my web browsers open in one monitor at a time and any applications only being able to use one monitor or the other.
My applications open in the monitor I launch them from apart from some oddness with notifications and some other case I don't recall.

For forcing opening applications in specific monitors, for troublesome applications perhaps, it is usually possible to create a shortcut on the task bar or desktop to open that application on a monitor of choice. Obviously the easiest use for this is a panel or desktop shortcut that launches the application on that monitor for sure but other things are of course possible.

Firefox (and I think Chrom[e|ium]) can be opened on more than one monitor but they need a separate shortcut for each as each will need a separate profile.

To re-iterate -- I find XFCE works virtually out of the box then there are some tricks that can be used for more tricky stuff.

Red Squirrel 08-16-2016 05:15 PM

Ohh I see so with XFCE and separate X session it works properly without having to do anything? I suppose it may be worth installing the XFCE version of Mint (and upgrade to latest same time) and try that.

Ztcoracat 08-16-2016 09:45 PM

Quote:

I do share your frustration with multi-monitor though -- it really ought not to be that hard.
I completely agree:- Has multi-monitors always been difficult to work with 273?

Quote:

Otherwise you might need to set that value to match the X session.
That makes sense.-:)

-::-Let us know Red Squirrel if XFCE works for you:-:-

Red Squirrel 08-16-2016 10:18 PM

I won't have time to do a reload for a while (I'm currently on KDE version), but I will definitely try it. If XFCE + multi X sessions works out, then I'll go with that.

Though if I can figure out why my Raspberry PI setup with Synergy is so unstable or write some kind of watch dog script that automatically resets when it fails, I might end up just sticking with that for now.

273 08-17-2016 12:48 AM

Quote:

Originally Posted by Ztcoracat (Post 5591912)
I completely agree:- Has multi-monitors always been difficult to work with 273?

Yes and no. I'm only referring to NVIDIA here others would have to answer for other systems. I did used to be able to use KDE and Gnome with two X sessions and get on OK but that was a couple of versions of each ago. The other NVIDIA settings have also worked for some things but not others in the past.

I think it is also possible to get things running using xrandr which may work better but I've not had a problem worth spending the time messing with it.

Ztcoracat 08-17-2016 01:47 PM

Quote:

Originally Posted by 273 (Post 5591965)
Yes and no. I'm only referring to NVIDIA here others would have to answer for other systems. I did used to be able to use KDE and Gnome with two X sessions and get on OK but that was a couple of versions of each ago. The other NVIDIA settings have also worked for some things but not others in the past.

I think it is also possible to get things running using xrandr which may work better but I've not had a problem worth spending the time messing with it.

Thanks for the details.

Red Squirrel 08-17-2016 06:34 PM

I wonder if there is a way to get some improvements made on this front, perhaps it's just the thing of knowing who in the development team to contact. Of course it would require enough people to make a common suggestion and show that it is needed.

Personally what I'd like to see is a normal extended desktop setup, but where applications are forced to launch where they were launched from, and any sub windows generated by an application always launch over that application. I'm sure this would not be that hard to do, and make it consistent and work 100% of the time no matter what the application is.

To be fair though, Linux is still better than Windows in this regard, I find Windows is extremely terrible at it. For example trying to do a search in Excel and the search box ends up 3 monitors down instead of over the spreadsheet you're working on. But it's still not perfect in Linux.

Ztcoracat 08-17-2016 07:10 PM

Kendall Weaver is the man that maintains Linux Mint LXDE Edition. Clement Lefebvre is the project leader and makes all of the decisions. Maybe write to them or write to Canonical.

http://www.techradar.com/us/news/sof...x-mint-1017219
http://www.canonical.com/

List of the Management Team at Canonical-
http://www.canonical.com/about

Red Squirrel 09-05-2016 09:07 PM

I was playing around with XFCE but noticed the file manager has no search AT ALL! Is this really for real? Or maybe it's a component I'm missing because I installed it on my existing KDE system and it's not a full XFCE install version. I would not be able to function without a search feature in the file manager, I use that all the time when coding as it's a quick way to pull up source files in projects that may have 10's if 100's of thousands of files.

I did not try further after I discovered that as it is definitely a show stopper. Honestly I have not worked on any projects in over a year because I just can't seem to figure out a proper work environment because of multi monitor being so poorly implemented in all OSes. This raspberry PI thing with synergy is not working out, Synergy and the browser is constantly crashing and I'm constantly having to reset it. Tried to install latest Synergy but now it wants a bunch of dependencies that I really don't feel like dealing with. I'm thinking I almost need to go back to two monitors and eliminate the one on the left. If the 1st monitor is also primary, then windows tend to open on that one all the time. It's as soon as you want the primary to be anything but the 1st like in a triple monitor setup where the middle one is primary, all hell breaks loose. This is same in Windows.

IsaacKuo 09-06-2016 12:04 AM

If you find the XFCE4 default file manager (Thunar) lacking, you can simply use a different file manager - including one meant from GNOME or even KDE. That's a nice thing about Linux - you can mix and match the software you use. Things were a little different in the early 2000s, back when there was limited drag/drop interoperability between GNOME and KDE applications. But for the most part, nowadays you can just expect it all to work.

As for using 3+ monitors, I generally like using Synergy but it's not like a true multi-monitor capability. For that, I like using vncviewer. Basically, on the main workstation you have one "real" screen and one "virtual" screen that may be far larger than what your monitors can handle. It may be necessary to fashion a VGA dummy plug or plug it into the VGA input of one of your monitors (assuming they have multiple inputs, and you're using DVI or HDMI).

The "virtual" screen can then be split out to other monitors using vncviewer on the other computers. I use the Debian packages x11vnc (server) and xtightvncviewer (client); this combo is capable of showing the mouse pointer on remote clients (without this ability, you'll be mousing blind on the secondary screens).

On the server, I use something like:
Code:

x11vnc -nowf -clip 2048x1280+1024+0
On the client, I use:
Code:

vncviewer megara
Now, I've never actually split this out to more than one client computer, which is what you'd need to do for 4+ monitors. You'd use a custom port for the other clients. But for 3 monitors, this is good enough. You can have the server connected to one monitor, while the client is connected to two side-by-side monitors. Hitting F8 and selecting "full screen" will actually span the client across both monitors. So, for example:

MONITOR1 - MONITOR2 - MONITOR3

MONITOR1 = 1024x1280 server display 1, connected by DVI

"virtual" display = 2048x1280, defined by custom modeline, connected by VGA to MONITOR2 (this monitor can't display this modeline, it's just a way to fool the video card into letting this display be active)

MONITOR2, MONITOR3 = 1024x1280 client displays, connected by DVI.

The only "problem" with this scheme is that full screen windows on the server will span both MONITOR2 and MONITOR3 rather than snapping to just one or the other. I haven't looked deeply into whether or not there's an easy solution to that.

Red Squirrel 09-12-2016 12:49 PM

VNC is super slow, maybe RDP could work, though I don't see how it would stop stuff from opening on wrong monitor, stuff would just cover the session. VNC, RDP etc is just a program like any other.

Is there a way to simply set some kind of boundary or something? Like an invisible line where programs don't know there is anything beyond that.

One thing I've noticed too is when stuff goes on the wrong monitor it's usually always on the 1st. I'm almost wondering if I need to set my primary as the first. It would mean having to move the mouse to the right through the 3rd monitor to wrap around and go to the other monitor though so it would not be as intuitive. I still want the primary to be in middle physically.

I decided to try Linux 18 Cinnamon. At first I thought things were good, but it started doing it again. Random programs/dialogs decide to go on wrong screen.

273 09-12-2016 01:02 PM

I have to admit that on XFCE I still see issues trying, for example, to open a file in Thunar with it defaulting to the 0.0 display (I had forgotten as it is not something that causes me a lot of issues, but when I saw it I thought of this thread).
It really does amaze me that nobody involved in Linux has the need for good multi-munitor support.

IsaacKuo 09-12-2016 02:03 PM

Quote:

Originally Posted by Red Squirrel (Post 5604205)
VNC is super slow, maybe RDP could work, though I don't see how it would stop stuff from opening on wrong monitor, stuff would just cover the session. VNC, RDP etc is just a program like any other.

Interesting - I have found VNC faster than RDP, at least with how I've tweaked things. For me, though, there's a huge difference in speed between the server (an i5 Mac Mini) and the client (a 1.2Ghz Core Solo tablet PC). With VNC, the server just blasts along at top speed, and if that means full screen video skips 90% of the frames, so be it. With RDP, it grinds to slow motion whenever the required updates get too heavy.

But I was just responding to the technical problem of driving that many monitors, I wasn't thinking about the problem of controlling which thing opens on which monitor. Sorry about that.

Quote:

Is there a way to simply set some kind of boundary or something? Like an invisible line where programs don't know there is anything beyond that.
I don't know about a simple way to do that, but it's possible to basically do nested windows using VNC. Each VNC client window can be blown up to the full screen of one monitor. With XFCE4, you right click on the VNC windows and select "Full Screen" there. (I use xtightvncviewer; if I select "full screen" from its own F8 menu, it will actually span all monitors rather than just one.)

At that point, any programs opened up within a VNC client window are unaware of anything outside that client window. You can't drag any of the subwindows outside that VNC client window, but you CAN drag the entire client window to another monitor (or across monitors). Fundamentally, it's like having multiple X sessions but you still have the flexibility to move things from monitor to monitor if you really want.
Quote:

One thing I've noticed too is when stuff goes on the wrong monitor it's usually always on the 1st. I'm almost wondering if I need to set my primary as the first. It would mean having to move the mouse to the right through the 3rd monitor to wrap around and go to the other monitor though so it would not be as intuitive. I still want the primary to be in middle physically.
I'm not sure what defines "primary" monitor. I would have thought you could swap cables around, if necessary, to make any particular monitor connection the middle one.

If it's something weird to do with the virtual screen layout defining which monitor is "primary", then you could compromise by using synergy to define a custom layout. For example, your layout could be:

Code:

Physical = LEFT, CENTER, RIGHT

Virtual = CENTER, RIGHT, LEFT

.synergy.conf =

section: screens
  debos:
end

section: links
  debos:
      left = debos
      right = debos
end

This synergy config makes it so that your leftmost and rightmost edges wrap around to each other. When you move the mouse left/right, it basically does a wraparound loop.

Red Squirrel 09-12-2016 04:15 PM

So are you saying you have 3 separate VNC sessions and work within VNC on all 3, even primary? Isin't that like super slow? I've never found VNC to be all that great performance wise even on a LAN unless things changed in past few years, I admit it's been a while since I used it for anything. I suppose it's worth a try, and nice thing with that is the workstation essentially becomes a thin client.

I might also experiment with separate X sessions again, now that I'm on another distro it may work properly. If anything I could set the left monitor as separate X session and then leave a dual monitor setup. I could also do synergy with the left and one raspberry PI, but that was proving to be annoying since Synergy crashes all the time and has to be manually restarted at both ends.

IsaacKuo 09-12-2016 04:40 PM

I've never tried using VNC on localhost, but I'll bet doing it on localhost will beat the pants out of any LAN connection in terms of bandwidth and latency.

IsaacKuo 09-12-2016 04:52 PM

OTOH, I think the performance of the VNC server is slow if it's doing purely software rendering rather than using 3d accelerated hardware. My own use of VNC uses the server's GPU for fully accelerated rendering on the server side. So, it can zoom along as fast as a normal desktop setup; it's just that the updates to the client display will lag depending on how heavy the updates are. With a gigabit ethernet connection, full screen movies are out of the question (it's watchable, I guess, but very choppy). But for most other tasks, including full screen scrolling, it's fine.

I don't know how, or even if, it's possible to set up 3 completely independent VNC servers on a single computer that are all 3d accelerated.

Red Squirrel 09-12-2016 10:05 PM

Ok so to try an experiment to see if my hunch is right about keeping the primary monitor as 1st, I arranged them like this:

http://gal.redsquirrel.me/thumbs/lrg...2_22-52-12.png

Technically, the one at the bottom right should be on the left of the primary, but I'm hoping that by not having any monitor to the left, windows will stop trying to go to it. When a window goes to the wrong monitor it seems to always go to the left. Though, right as I was opening some of my stuff like mail client I had a window go to the right monitor... so I think I defeated my hunch before I even got setup. But I'll give it a bit of time, as windows have to "learn" over time and since I just changed stuff around maybe that's a one time thing. But anyway I'll see what happens.

Not keen on doing a VNC type setup, but I suppose I can try it. I may try the separate X session, but not too confident in that either after realizing that windows can STILL end up on the wrong one. I figured it was 100% impossible for that to happen because that a separate X session would basically be like a container, but apparently not.

I think one of these days I need to just dive into the code and figure out how to fix it. But I would not even know where to start with a premade distro, as everything is managed by package managers, I don't even think there IS source, and if there is, and you recompile, the next update will probably overwrite your changes. So if I do figure it out I'd almost need to do a LFS build and essentially make my own distro. I actually DO want to do LFS one of these days though, probably a good way to learn about the deeper operation of Linux at the kernel/system level.

Ztcoracat 09-12-2016 10:57 PM

Looking at the screenshot of the Nvidia X Server Settings Mgr it looks like you might be able to switch things around and maybe that will eventually give you the default monitor your hoping for.
What are your options in 'configuration' in the drop down menu where it says "x screen 0"?

As far as VNC here's a start if you want to try it.
http://www.techrepublic.com/blog/lin...-server-setup/

LFS will teach you what an os is made of. Once you build it you'll have more of an appreciation for what goes into an os. The documentation is exceptionally good. Good luck.
http://www.linuxfromscratch.org/lfs/read.html

You might want to try Arch Linux first before diving into LFS as it will help you get your feet wet.

Ztcoracat 09-12-2016 11:04 PM

Quote:

Originally Posted by IsaacKuo (Post 5604291)
OTOH, I think the performance of the VNC server is slow if it's doing purely software rendering rather than using 3d accelerated hardware. My own use of VNC uses the server's GPU for fully accelerated rendering on the server side. So, it can zoom along as fast as a normal desktop setup; it's just that the updates to the client display will lag depending on how heavy the updates are. With a gigabit ethernet connection, full screen movies are out of the question (it's watchable, I guess, but very choppy). But for most other tasks, including full screen scrolling, it's fine.

I don't know how, or even if, it's possible to set up 3 completely independent VNC servers on a single computer that are all 3d accelerated.

I'm (guessing) that you would run multiple instances of VNC Server and have multiuser user logins enabled? A server wizard I'm not:-
https://www.google.com/search?biw=14...k1.GnKI4Ir9of8

Red Squirrel 09-13-2016 12:49 AM

Quote:

Originally Posted by Ztcoracat (Post 5604409)
Looking at the screenshot of the Nvidia X Server Settings Mgr it looks like you might be able to switch things around and maybe that will eventually give you the default monitor your hoping for.
What are your options in 'configuration' in the drop down menu where it says "x screen 0"?

As far as VNC here's a start if you want to try it.
http://www.techrepublic.com/blog/lin...-server-setup/

LFS will teach you what an os is made of. Once you build it you'll have more of an appreciation for what goes into an os. The documentation is exceptionally good. Good luck.
http://www.linuxfromscratch.org/lfs/read.html

You might want to try Arch Linux first before diving into LFS as it will help you get your feet wet.

Oh it lets me pick whatever I want, and I have the centre one set as primary. The problem is, randomly, apps just open on the wrong monitor. I'd say it works 90% of the time, but it's that 10% that is extremely irritating. There is almost a sense of anxiety when I go to open a window or even a dialog because I don't know where it's going to end up. Some apps are worse than others. For example I was trying to use code::blocks and EVERY SINGLE TIME some dialogs end up on the wrong screen. you can't even train it to open on the right one, it just refuses. Basically I'm looking for a way to 100% guarantee that this can't happen regardless of the program.

The configuration button lets me set it up as clone span or separate X session. But as I saw when I tried it in Mint KDE, even with separate X stuff opens on the wrong monitor, and then you can't even move it back. Though I have not tried in Cinnamon yet, but I kinda lost my confidence in that option knowing that it may throw me a curveball in the future and decide to not work for some reason for a specific app etc.

273 09-13-2016 12:56 AM

I'm not at my desktop so can't check for certain but I think Ztcoracat is right and that the "primary" display can be set in NVIDIA settings so that could be the one on the right or the centre if you wanted. I know I can set my 16:10 screen, connected to HDMI, as primary for X11 even though BIOS and the like appear on the 4:3 monitor plugged into DVI and using it as VGA.
Edit: Sorry, didn't catch your post as I scrolled. Seems odd that it picks the left-most rather than the primary.

allend 09-18-2016 12:19 AM

My solution to this issue is:
1. Use xorg.conf to setup separate displays
2. Run separate X sessions
3. Use a window manager that respects those settings. I use Windowmaker, as neither KDE nor XFCE any longer respect Server Layout sections in xorg.conf.

The downside is that I cannot move windows from one display to the another, although I find that a small inconvenience compared to dealing with unpredictable window placement and menu bar problems.

Red Squirrel 09-26-2016 08:24 PM

BAh I thought I was doing good with the idea of moving the left monitor to logically be below the right one, to trick apps into thinking there is no monitor to the left (as most of the time they tend to want to open to left). But this was short lived. Just realized Virtuabox screws up, the menu does not open at all, it tries to go to the right but fails, nothing shows up. You need to drag the whole program then the menu sorta opens but it's all extended and crap. Libreoffice also screws up but it's not AS bad, tool tips end up on the right monitor despite the program being on the primary (centre).

I tried to do separate X, that is tedius as hell since it does not seem to let you drag the screens propery so they're in right order, but I quickly found out that STILL does not work, an app opened from one X session ends up opening in the other.

What a serious pain in the ass, why is this so hard? Why can't anyone design a multi monitor environment that actually work properly? Between Microsoft and all the brains at Linux, you'd think SOMEONE would figure it out.

I'm at a loss now, I just don't know what to do. I almost would need to just have 3 completely separate machines, but that would use a ridiculous amount of power and having 3 sets of keyboard/mice (KVMs are too slow) would take up too much room.

Now I'm in separate X mode right now after my failed attempt, and it won't let me go back to normal mode, when I apply, everything just goes black. I may have to reinstall again.

I'm almost thinking of doing some kind of thin client thing where I just have 3 separate VNC sessions into a VM, but that's going to be kind of slow for every day usage, but it seems to be the only way this would work. The main workstation would basically just open 3 vnc sessions, one on each monitor, and nothing would run locally. Though sound would be an issue, I have never actually witnessed sound working through vnc. I've seen the option for it, never seen it actually work.

Edit: Ok managed to go back in span mode, I had to use the "displays" config instead of nvidia settings. Now back to square one. Need to think up of another solution. I just can't work knowing that windows will end up anywhere, it's anxiety inducing at best. Nothing more infuriating than clicking on something and the dialog/window ends up all the way on another screen.

IsaacKuo 09-26-2016 09:24 PM

I wonder how much of these difficulties have to do with the nvidia driver. I have never used the proprietary nvidia driver except briefly once, and it drove me nuts. I have stuck with the open source nv driver for that one video card, and ati cards ever since. For the most part, I've switched to using used laptops that tend to have intel graphics.

By the way, I've switched from running the Mac Mini via vnc to a mini display port adapter that someone had to spare and was nice enough to give to me. Surprisingly, the native display did not feel like a significant speed boost compared to the vnc remote control over gigabit ethernet. It's certainly leagues better for anything like full screen video, but for web browsing and software dev work it's ... well, it's just less choppy during scrolling, really. It's much more of a subtle difference than I had expected.

I think you should go with three separate computers each with a simple single monitor attached, and use synergy to share the mouse and keyboard. Like I said, when the synergy client and server are "fresh", there is practically no lag. The version in Debian stable seems to require me to occasionally recycle the client and/or server to make them "fresh" again, but that's no big deal. I just set up taskbar icons to restart the synergy client or server. Three clicks on the three taskbar icons and I'm back up to speed.

Going with a single monitor per computer, you'll be able to use on board video instead of the perhaps troublesome nvidia card and driver.

Ztcoracat 09-26-2016 09:32 PM

Quote:

Between Microsoft and all the brains at Linux, you'd think SOMEONE would figure it out.
I think until a developer or a team of developers and pc engineers find this enough of an intrest it will remain what it is.

Quote:

Why can't anyone design a multi monitor environment that actually work properly?
Probably because it's A) not seen as a top priority and B) no one is offering an engineer or developer to work on it. (I'm guessing)

Have you tried what 273 and allend have mentioned?

-::-Maybe doing some extensive research Red Squirrel will help you to gain knowledge and insight into multi-monitoring and how to nip it in the bud.-::-

I did research on how to install a new kernel & how to re- compile a existing kernel for 4 weeks.
At the end of the 4 weeks I not only had enough knowledge to do it but I was able to think of ways to manipulate things in ways that were not mentioned in the articles I researched.

Once you know for certain exactly the way that the monitors perform with the information that they have been given and perform it the way that they do, you could than begin to figure out how to get around what they do (by default) and manipulate the very thing that is giving you grief.

Ztcoracat 09-26-2016 09:37 PM

Quote:

I wonder how much of these difficulties have to do with the nvidia driver.
IF in fact it is the nVidia driver creating upheaval would compiling a driver from src solve the issue?

Proprietary drivers are buggy! Like you they drove me NUTS and were exceptionally a PITA.:)

273 09-27-2016 12:53 AM

Quote:

Originally Posted by Ztcoracat (Post 5610407)
I think until a developer or a team of developers and pc engineers find this enough of an intrest it will remain what it is.

What I think it odd is that all the developers where I used to work were the ones with at least two large monitors while some others in the IT department had to make do with one. I find it very weird that there aren't enough DE developers out there with two monitors and even NVIDIA graphics that no developer has ever had this issue. Heck, I seem to recall somewhere that KDE stopped multi-monitor support completely for a short while when the version changed -- do Linux developers really only run open-source drivers and/or single monitor setups? If so then I wonder why as one would hope that skilled developers can afford more than one monitor and a card to drive them.

By the way after a lot of googling around this issue I don't think that this just applies to NVIDIA setups and certainly not just to separate X sessions. While that is a special case multi-monitor issues as described by Red Squirrel just don't seem to be of any concern to anyone. The separate X session thing is just the nearest I can get to something sane but even that doesn't always work.

With any luck Wayland will resolve some of this, if it ever surfaces.

Edit: I've not had issue with VirtualBox and, indeed, one alternative I thought of was to have VB open in one monitor with a VM full-screen so I know applications will be trapped in it for situations where that is desirable -- sadly it means no hardware graphics acceleration though.
I've been considering going to three monitors, temporarily at least, so maybe I'll have issues then.

IsaacKuo 09-27-2016 09:30 AM

I think that most developers are like myself, in that we don't really worry or care about precisely where a pop-up shows up.

Speaking from a developer's perspective, I'd rather the software application decide which screen to use, rather than the window manager. For example, I use MyPaint with the extra control dialogs opening up on a secondary screen. This leaves the entire main screen available for drawing space. By letting the software application control this, it can intelligently utilize the benefits of multiple screens.

So, my preference is to fix this issue on an application level, rather than a window manager level.

Red Squirrel 09-27-2016 01:25 PM

Seems odd that this does not bother more people to make it a bigger priority, it is enough to start making me consider figuring out what it would take to design a graphical interface for Linux but I imagine that is a HUGE project. It is extremely infuriating and it does indeed surprise me that more devs don't have 3+ monitor setups to get annoyed by this. I can't imagine trying to code on just one monitor, it's just not doable without constantly having to shuffle between stuff and it is super inefficient.

I have tried the Synergy route, in fact I just got off that. The problem with that route is that it is super buggy. Synergy locks up/crashes constantly, if you accidentally try to copy and paste across multiple screens, it locks up the whole PC, the browser on the Raspberry Pi (in my case that's what I used for side monitors - did not want to use power sucking regular PCs) keeps crashing... the setup requires constantly tending and can't just be left alone for more than a few hours. To make matters worse when synergy does crash I need to do a kill -9, because it stays stuck. I then tried to install the latest version to see if it would work better, but it requires too many dependencies that I could not get to work, then I gave up and re-attempted a single PC solution, and here I am. Basically back to square one. (I just remembered the Raspberry PIs are actually still running lol)

My current setup is already set so the middle one is set as primary that's not the issue, but it does not stop some apps from still sending dialogs all over the place. Heck, even menus, tool tips and other elements that have absolutely zero reason to be detached from where they were spawned.


Is there a way to run the primary monitor as local/native OS, then have some kind of VM setup that dedicates the other two so the host OS does not even see them? That could be a viable solution as at least graphic acceleration would work for the middle one, while the other two would simply be running a basic VM locally but the host would not know they exist.

It's really too bad even separate X sessions don't work properly. That has always been my plan B, but even that is shot.

Since I don't play games on this machine I could technically get away with using the nouveau driver. Anything specific to that which might help me? I can always switch to it.

IsaacKuo 09-27-2016 01:54 PM

What versions of synergy are you using? I use Debian stable and XFCE4 across the board, with the version of synergy in the Debian stable repositories (1.4.16). It works, and never crashes. Cut-and-paste works great. It gets kind of laggy sometimes for reasons I don't really understand, but that's why I made some taskbar shortcuts to restart the clients/server in a few clicks.

The bottom line is that you can get synergy to work reliably and lag free.

273 09-27-2016 01:58 PM

Quote:

Originally Posted by IsaacKuo (Post 5610575)
I think that most developers are like myself, in that we don't really worry or care about precisely where a pop-up shows up.

Speaking from a developer's perspective, I'd rather the software application decide which screen to use, rather than the window manager. For example, I use MyPaint with the extra control dialogs opening up on a secondary screen. This leaves the entire main screen available for drawing space. By letting the software application control this, it can intelligently utilize the benefits of multiple screens.

So, my preference is to fix this issue on an application level, rather than a window manager level.

You would rather open an application on monitor A then, clicking on part of a project (for example) it opens on monitor B so, then you decide to explore files on monitor B and find something you're interested in and, when opened, it opens on monitor A in the corner maximised?
That's how Linux multi-monitor works -- how it doesn't work I'm sure people will let you know.

IsaacKuo 09-27-2016 02:40 PM

I don't really notice which monitor something initially opens up the first time. I just move it to where I want it, and the application remembers where I wanted it. Not all applications are necessarily so well behaved, of course, but I guess I don't use badly behaved ones often enough to really care.


All times are GMT -5. The time now is 02:31 PM.