As posted above, I've been working on proper multi-monitor and per display scaling support on linux. Before I push this on to the public master branch, it would be good if you could give it a quick test run on your distributions. I've published the code on my private JUCE git repository which you can find here.
* queries display properties with Xrandr, then falls back to Xinerama and then to old generic X11 code
* supports per-monitor scaling factors: you can move JUCE windows between monitors with different scale factors and JUCE will redraw components with the correct scale factors applied
* JUCE will only query the display configuration on startup. Any changes to your display configuration will be respected after re-launching your JUCE app. To be honest, I don't think this is something I will fix as many linux apps (Firefox, Chrome, all QT based apps) behave this way.
* If a single window is positioned in a way that it is on two displays with different scaling factors at the same time, then the scaling factor of the display with the greater overlap with the window will be used. There is no easy to fix this and I know of no linux app that actually applies a different scaling factor to one half of the window with respect to another half