90

I have a Mac Mini server running Mavericks. It has no monitor connected. I use Remote Desktop on my laptop (also running Mavericks) for I/O to my server.

When I use Remote Desktop and go Full Screen I get a 1280x1024 screen sitting in my 1680x1050 screen. Is there any way to force the client (Mac Mini) to use a setting of 1680x1050 so I get a real full screen?

I tried holding down the option key while clicking on Scaled in Display -> System preferences. All I see is a new button in the bottom right that says detect displays. Clicking on it does nothing. The only resolution shown is 1280x1024.

My Mac Mini Server is a late 2009 with an Nvidia GeForce 9400 graphics card.

3
  • 1
    There must be a better way. I won't touch SwitchResX with a 10-foot pole (been there, done that, bought the license). cscreen doesn't work in Catalina. Other answers don't address the core issue of custom resolutions. When I connect my work display, my Macbook remembers its unique resolution for a while (3840x1598) - for a short time I'm able to choose this at home, while remoting with VNC. The laptop screen happily displays it, too. I use ResXtreme to access extended resolutions, but it doesn't let you create anything custom. Is it possible to implant custom EDIDs without using SwitchResX?
    – Matt M.
    Mar 18, 2020 at 2:27
  • 2
    display_manager.py seems to work great for me.
    – rinogo
    Jun 3, 2020 at 1:03
  • @MattM., why won't you touch SwitchResX? Is Menu Display more acceptable?
    – tog22
    Apr 3 at 15:06

13 Answers 13

58

I'd like to offer an improved answer, that the author may consider for the question. The previous answer's AirDisplay drivers actually messed up my remote client, and left me with 16 virtual displays, all with the same information, where I couldn't click anything. Luckily I know how to navigate Activity Monitor with the Keyboard :-) .

I found the following to work perfectly, assuming that you are using Apple Remote Desktop:

  • Download Display Menu (Free on Mac App Store)
  • Install the app, and for my use cases, 1680x1050 was the proper resolution.
  • Your screen will go black and you will be 'locked out', despite the resolution properly switching.
  • Your screen will black out. Many recommend something similar to the following Terminal commands. I DO NOT recommend the following:

    sudo ps auxwww | grep loginwindow | grep -v grep | awk '{print $2}' | xargs sudo kill -9

  • The reason the last line does not work is because it actually terminates your login session. That forces the screen resolution to revert (in my case, back to 1280x1020), and you'll be back where you started.

  • Instead, use the following command over Apple Remote Desktop or via SSH:

    killall ScreensharingAgent

  • NOTE - if using Apple Remote Desktop's Send Unix Command, instead of using sudo, click the radio button to 'Run as User', and just enter root.

This command terminates the Screen Sharing session, which at its core is what Apple Remote Desktop uses. It retains the logged in session, which retains the screen resolution you set with Display Menu in earlier steps.

  • 2nd Note - if your dock is screwed up, simply send killall dock

I have yet to log out of my current session on my client machine, so this may only be a temporary fix. However, its the only way I have found that satisfies my OCD with proper screen real estate consumption.

Some things that helped me find this answer:

  1. Alternative to this answer on SuperUser, doesn't accomplish what I wanted, but good to have for reference material
  2. MacWorld Hints, which held the elusive answer!

Some alternatives that others have presented below, in case this answer does not work for your system:

  1. QuickRes App
  2. SwitchRexX
  3. Resolutionator
13
  • 12
    Unbelievable how difficult Apple can make simple things like setting headless computer VNC resolution, why? I am using only Apple computers, but I totally hate this kind of... I do not know what.
    – user72247
    Mar 6, 2014 at 11:51
  • 1
    Well, to be honest their development time for something like this is better spent getting the new 4K displays to work with the Mac Pro's drivers... I don't really blame them, but it is kind impressive that the Apple Remote Desktop team doesn't support this more natively. Anyways, if this helped more than the selected answer, please up vote it, as I found the AirDisplay drivers to really break my experience, wouldn't want another going down that path.
    – CDD
    Mar 19, 2014 at 15:40
  • 10
    Simply using Display Menu worked for me on Yosemite; no terminal commands were required. Oct 23, 2014 at 12:19
  • 2
    Not to toot my own horn here, but perhaps my submission could be considered as the proper answer for this question @everett? Commenters to the 'answered' submission claim AirDisplay is no longer working. I just set this up again on a new machine and this process still works.
    – CDD
    Jan 7, 2016 at 19:36
  • 4
    Display Menu works perfectly. It blows my mind that this feature is not standard in OSX or Apple Remote Desktop. Apr 13, 2017 at 16:51
49

Simplest solution (for macOS versions prior to Catalina):

Just hold the 'Option' key while you press on 'Scaled' button in the display settings in system preferences. This will bring up all available resolutions and you can change to whichever you like.

Display Settings in System Preferences

enter image description here

Note that this doesn't work in macOS Catalina and above.

7
  • 5
    This was the best solution for me. We have a bunch of headless Mac Minis that a bunch of people remote access into and this was preferred over Display Menu because in order to download Display Menu you must log into the App Store. Resolution also persists. Jan 4, 2019 at 1:51
  • 2
    This is the simplest/best solution for me, too, and works fine for VNC. Dec 19, 2019 at 14:39
  • I have a 2010 Mac Mini with 10.13.6 installed. When I do the Option+Scaled trick via Screen Sharing, the highest it allows me is only 1920x1080. I was hoping to see 2560x1440 or 2560x1600 because this model of Mac Mini is able to do that if you hook up a physical monitor of that resolution on the DisplayPort port. Jan 27, 2020 at 6:44
  • 1
    Headless MacMini with MacOS Catalina, switched resolution to 1920x1080 - works here as well! Perfect solution without installing anything! Thank you! Feb 25, 2020 at 4:30
  • 7
    Does not work on latest Catalina (tested via UltraVNC and Physical non-Mac keyboard). Only the button "Detect Monitors" appears.
    – Robert
    May 7, 2020 at 7:31
32

Just downloading Display menu from App Store (free) and choosing highest resolution worked for me on Yosemite. Now running headless with great remote screen resolution. No other actions required.

6
  • 4
    worked fine on El Cap too. Nov 12, 2015 at 9:51
  • 2
    worked fine on sierra Nov 22, 2016 at 9:43
  • high sierra +1 :)
    – webo80
    Apr 11, 2018 at 10:38
  • same here @mojave
    – cucu8
    Feb 6, 2019 at 11:31
  • 1
    how does it work guys? I still get the same single option with tiny resolution in those Display Menu and nothing helps...
    – RAM237
    May 22, 2019 at 21:41
10

SwitchResX worked for me.

It is a shareware utility that installs itself into System Preferences. From within the panel, it allows you to force the default resolution of an external monitor.

3
  • 3
    Down votes are for incorrect answers, not answers you don't like. It's down votes on helpful answers that drive helpful people away. This is actually an excellent answer because SwitchResX doesn't black out the menu bar like Display Menu does. This should be the accepted answer for that reason alone. Sep 9, 2015 at 3:56
  • This is the solution that worked for me. I needed to display at 1440 x 900 HiDPI to optimize my screen use on my client a Retina MacBook Pro. But both Apple and Display Menu were limiting my resolutions to presumably what made sense for the server, not the client. SwitchResX solved my problem. Now connecting to my server from my Macbook in full screen mode is a joy. Sep 25, 2015 at 5:13
  • This should be the accepted answer. None of the other solutions here work if there is an external display connected that does not support a higher resolution (e.g. a "dumb" KVM switch that doesn't do proper EDID emulation). Oct 29, 2017 at 0:00
7

Many people seem to have good luck using the AirDisplay drivers to achieve this. There's also headless dummy adapters you can buy, although that might be overkill. If you're keen to building your own there's a way to do that as well.

More information here.

5
  • 10
    -1. AirDisplay was not intuitive for me and I somehow ended up with 8 mirrored desktop squares on my Mac Mini. I think it is odd that you post a direct download link in your answer and don't link to a the AirDisplay website or elaborate on how to use it.
    – cwd
    Mar 3, 2015 at 20:09
  • 3
    @cwd, There are no instructions, other than download, unzip and double-click the installer. I direct linked it because it's convenient, although if you want to go through one more step click here. "-1" all you want, even though I think it's rather silly since you can't figure out how to use something, or don't think it's "intuitive". I've given a couple alternatives as well - which I think might be better anyway.
    – l'L'l
    Mar 3, 2015 at 20:44
  • The AirDisplay drivers also did nothing for me.
    – Jay
    Aug 22, 2015 at 6:48
  • 1
    Display menu worked for me: apple.stackexchange.com/a/168716/218
    – Senseful
    Sep 15, 2016 at 23:41
  • 2
    For anyone stuck with multiple displays Air Display's uninstaller is in your / Applications / Utilities folder. It's called "Uninstall Air Display."
    – Adam
    Dec 6, 2016 at 13:55
4

Use cscreen from Brew. It's free and surprisingly easy.

brew install Caskroom/cask/cscreen
cscreen -d 32 -x 1920 -y 1080 -r 60
6
  • 2
    doesn't work at all. May 23, 2017 at 16:18
  • 2
    @KnowsNotMuch please take some time to specify your configuration (like cscreen and os version) and what is failing. This will help others much more than just dropping a "not working" assertion.
    – Daishi
    Nov 6, 2017 at 10:31
  • I've just tried this on a mid-2011 Mac Mini, OS X 10.13.6. cscreen with any parameters (including those in the example above) returned Segmentation fault: 11. May 11, 2019 at 12:41
  • Worked for me. Mojave, Mac Book Jun 28, 2019 at 14:07
  • 1
    If you have xcode command line tools installed, you can do the equivalent with a Swift script: github.com/th507/screen-resolution-switcher/blob/master/… Aug 25, 2021 at 16:33
3

Here's an alternative, based on CDD's answer that will work for Lion. The Display Menu application doesn't work on Lion.

  1. Go to System Preferences, Displays, and choose the resolution you want. Switch to this resolution. The VNC display will freeze. Press Return a couple of times to accept the resolution anyway. You'll see the menu bar getting wider for a moment, but not the VNC windows. Then it'll auto-revert to how it was.

    This step is necessary to allow this resolution to show up in the menu chooser in later steps.

  2. Enable "Show displays in menu bar".

  3. The display chooser may still not show up in the menu bar for lack of space. To make space, go to Preferences, Users & Groups, Login Options and disable "Show fast user switching menu". Disable anything you don't need in the menu bar until there's enough space for the display chooser to show up.

  4. Close Preferences. Log in to the same computer using ssh separately. Choose the desired resolution from the menu bar display chooser, press return a couple of times, and now you can run killall ScreensharingAgent from the ssh session. The VNC window will now resize to the correct resolution.

This convoluted method has worked for me.

1
  • Depending on what OS version you are running, this is a good answer! I apparently tend to use old OS 10 versions on servers, while using 10.9+ on my personal machines. Still pretty frustrating that this is still an issue in 2016...
    – CDD
    Jan 7, 2016 at 19:37
2

Beeing in lockdown and using a remote headless mac mini, I found a free working utility from Mac App Store: EasyRes

Link: https://apps.apple.com/app/easyres/id688211836

0

For its simplicity, I prefer the QuickRes application.

0

This Finally solved a similar annoying work-related monitor problem of mine. Might help you too. My development-work computer is an iMac sitting on my Baby Grand Piano. But for ergonomic reasons I prefer to work remotely from my old MacBook Pro 17” over home wifi to the iMac using Apple’s screen sharing app. Works fine but theres a niggle. My MacBook screen res. is 1920 x 1200 but the iMac is 1920 x 1080 maximum native. So for remote work my screen real estate is squashed. I get to use only 1080 lines out of the 1200 available on my MacBook Pro, with black letter boxing above and below the video. A waste. To my rescue comes a tiny product: fit-Headless by CompuLab for £21 - sold on Amazon. You plug it into the second monitor video port where it acts as a dummy second display with variable screen resolution options up to 4K. However on receiving it - I plugged it into my VDI port. It appeared in preferences as a second screen. BUT..... woe woe woe .. with all the options of screen res - going all the way up to 4K..... NO BLOODY 1920 x 1200 !!!! W T F !!! Googled around. And came across and downloaded demo of an app called SwitchResX which does all manner of things to do with monitors. It too had tons of resolution options BUT STILL NO 1920 x 1200 !!. BUT..... hidden away was a tab where you can set up your own custom screen res. So added one for 1920x1200. And HEY PRESTO ! for an extra £18 for SwitchResX I can now work remotely on my iMac from my Macbook at the same high resolution as my macbook. No letterboxing. More pixels to poke, drag and mouse around with.. HAPPY DAYS ! [ PS: these fit-Headless adapters are actually intended for people using Mac Mini’s as “headless” servers etc where they administer them remotely and don’t want to have an actual monitor attached. For example because it sits in a rack or on a shelf... ]

0

Resolutionator worked for me on El Capitan.

0

Display menu from App Store (free) worked for me too, running OS X 10.10, Yosemite.

I wonder is there a way to force it through command line / conf files. For now Display menu is the way to go for a Mac headless computer.

0

At first, just Option+clicking in System Preferences > Displays between "Default for Display" and "Scaled" only brought up 1280x1024 and 1280x720 for me.

However, after I changed the Apple Screen Sharing app's preference under Display from "Scale to fit available space" to "Show in full size", then 1920x1080 and a whole range of other options came up.

This was valuable to me because I was looking to avoid any apps requiring SIP to be disabled and any apps only available through the App Store. I don't have enough rep to comment on one of the more upvoted posts referencing a screen shot of using the above method on a Macbook but hope this helps someone!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .