Last active

Embed URL


SSH clone URL

You can clone with HTTPS or SSH.

Download Gist

This is a script that will change the resolution in Linux on a Macbook Pro Retina computer. Nvidia-current is required for the script to function properly. Tested in Ubuntu 13.04 (alpha).

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
#Author: Travis Gibson
#This script requires an argument for the resolution width
#Thanks go out to eCharles for a patch in the comments of this link here:
if [ -z "$1" ]; then
echo "Usage: <resolution_width>";
exit 1;
erg=$( echo "$1")
check=$(xrandr -q | grep DP-2 | cut -d " " -f 4 | cut -d "x" -f 1)
if [ "$erg" -eq "$check" ]; then
echo "The screen is already at this resolution"
exit 1;
resolution=$(xrandr -q | grep DP-2 | cut -d " " -f 3);
if [ "$resolution" != "2880x1800+0+0" ]; then
xrandr --output DP-2 --scale 1x1;
#Necessary to work around an issue where re-scaling
#only works if the scale is set to 1x1
sleep 3;
scale_w=$(echo "scale=4; $1/2880" | bc; exit );
arg=$(echo "$scale_w""x""$scale_w")
xrandr --output DP-2 --scale $arg
sleep 1;

I'm completely new when it comes to Ubuntu, or linux in general. How do you run this script?

@Avilis In Terminal, navigate to this file and type "sh"

Thanks for sharing this script.
I adapted this script to automatically detect the screen resolution and make the correct adjustments based on those values (
I only tested it in a MBP 11,1 so let me know if it does not work for you.

I have macbook pro retina haswell 13' and this code doesn't work for my machine. How can I fix this problem ? Please help me !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.