Automatic resolution change once VNC connects?

I’m trying to figure out if there’s a way to have the screen resolution on my Mac mini automatically change once I connect to it remotely using Edovia’s Screens app. This feature is built in to other VNC apps, but I really prefer Screens overall. Does anyone know if this is possible somehow?

How about creating a virtual screen on your Mac mini, and then connecting to that via Screens?

You could use BetterDisplay to create and set the resolution for a virtual display on your Mac mini.

Here I’ve created a virtual screen and set it to 1680x1050.


Screens uses VNC, so you can specify the display to connect to by adding it to the port number, e.g vnc://macmini.local:5900 would be display 0 (the default), vnc://macmini.local:5901 would be the next display - potentially the virtual display, depending upon your set up. In Screens itself, there is a field in the connection setting stop specify the port number.

Rather than sending some command to change resolution when you connect, this sets up a virtual display with the desired resolution that you then connect to.

Hope that helps.

Thanks for this suggestion. This looks like it could work, but I’ve run into one potential issue. For Screens to be able to connect to the display, it looks like it must be “connected” via BetterDisplay. The issue with this is that means the virtual display is enabled even when I’m using my Mac regularly (and can lose windows and/or the cursor to this display that isn’t actually there). Do you know any way around this (such has only having the virtual screen enabled when/if I’m connected via VNC)? I’m guessing I’ll run into the same issue I had originally (automating the process when/if I connect via VNC). Thanks again for the app recommendation!

So that’s adding a second requirement that like you say suffers from the same sort of on connect trigger issue.

I guess what might be worth thinking about is a pre connect trigger. For example, using Shortcuts to run an SSH session to trigger a change in screen resolution on the remote Mac, and only then opening the VNC connection in Screens.