Is there a way to control dual monitor relative position from terminal?
I wrote a small C program to accomplish this, as this cannot be done any other way effectively.
You'll need Xcode installed to compile it.
https://github.com/stnvh/cgorigin

#import &lt;Foundation/Foundation.h&gt;
#import &lt;ApplicationServices/ApplicationServices.h&gt;

#define MAX_DISPLAYS 10

static CGDisplayCount dispCount = MAX_DISPLAYS;
static CGDirectDisplayID dispOnline[MAX_DISPLAYS];

int main(int argc, const char * argv[]) {
    CGDisplayCount dispOnlineCount;
    CGDisplayErr errActive = CGGetOnlineDisplayList(dispCount, dispOnline, &amp;dispOnlineCount);

    CGDisplayConfigRef configRef;
    CGError err = CGBeginDisplayConfiguration(&amp;configRef);

    if(!argv[1]) {
        printf(&quot;usage: [-l | --list] [[-o | --origin] x y index] \n&quot;);
        return 1;
    }

    for(int i = 0; i &lt; dispOnlineCount; i++) {
        if(dispOnline[i]) {
            int dispWidth = CGDisplayPixelsWide(dispOnline[i]);
            int dispHeight = CGDisplayPixelsHigh(dispOnline[i]);
            CGPoint dispOrigin = CGDisplayBounds(dispOnline[i]).origin;

            if(strcmp(argv[1], &quot;--list&quot;) == 0 || strcmp(argv[1], &quot;-l&quot;) == 0) {
                printf(&quot;display %d: %dx%d %ldx%ld\n&quot;, i, dispWidth, dispHeight, (long)dispOrigin.x, (long)dispOrigin.y);
            }

            if(strcmp(argv[1], &quot;--origin&quot;) == 0 || strcmp(argv[1], &quot;-o&quot;) == 0) {
                int posX = dispOrigin.x;
                int posY = dispOrigin.y;
                int dispInd = 1;

                if(argv[2]) {
                    posX = strtol(argv[2], NULL, 0);
                }
                if(argv[3]) {
                    posY = strtol(argv[3], NULL, 0);
                }
                if(argv[4]) {
                    long _dispInd = strtol(argv[4], NULL, 0);

                    if(_dispInd &lt; dispOnlineCount) {
                        dispInd = _dispInd;
                    }
                }

                if(dispInd == i) {
                    err = CGConfigureDisplayOrigin(configRef, dispOnline[i], posX, posY);
                }
            }
        }
    }

    err = CGCompleteDisplayConfiguration(configRef, kCGConfigurePermanently);
    if(err != 0) NSLog(@&quot;Error with applying configuration: %d\n&quot;, err);

    return 1;
} 

Save to a file called main.m, then run:
clang -Wall -framework Foundation -framework ApplicationServices main.m -o cgorigin


Example (from Github):

assuming we have two monitors connected, both at 1920x1080
cgorigin --origin -1920 0  # positions the second monitor to the left of the main display
cgorigin --origin 0 0  # positions the second monitor to the right of the main display
cgorigin --origin -1920 1080 0  # positions the first monitor below the second display