When I connect from my laptop to my server with Apple Screen Sharing, it is extremely laggy, even over gigabit ethernet.
Files copy at expected speeds (~100MB/s) but Screen Sharing is terribly slow.
Any way to speed this up?
Some (all?) Macs when run without a monitor turn off the video circuitry so they do not waste energy, even though this circuitry is used by screen sharing to dramatically speed up screen stuff.
There might be a way to turn this circuitry back on through software, but I have not foud a reliable way to do so. What works very well is to plug in something into a video port to get the Mac to think it has a monitor connected.
You can build one yourself: https://macminicolo.net/blog/files/build-a-dummy-dongle-for-a-headless-mac-mini.html
Buy one to plug into a HDMI port on some MacMinis: https://macminicolo.net/blog/files/an-hdmi-adapter-for-a-headless-mac-mini.html
Buy one to plug into the MiniDisplay Port: http://eshop.macsales.com/item/NewerTech/CBLMDPHEAD/
Instructions for a resistor added directly to the video card: http://blog.zorinaq.com/?e=11
I picked up a handful of the HDMI ones a while back, they are very useful.
A similar question/answer is at Force the resolution on a headless mac mini server
Suggest that you try alternate screen sharing systems. Chicken of the VNC is one option. TeamViewer is another option. (http://teamviewer.com)
I have had reasonable response using teamviewer over a satellite link to a remote machine running windows on the other side of the continent. Not instantaneous. But given that every round trip packet involved 160,000 km of microwave...
If you can't go the hardware route, here is my software-only workaround:
Use the Automator to create a trivial bash job:
Now you can run it like you would any other application. It will run forever with a little gear icon that appears in the status area of the menu bar. Whatever the reason is, it seems to help make my old macbook pro more responsive. It isn't super zippy, but it gave me a significant speedup - YMMV.