How do I get full resolution on my Apple 30" Cinema Display with Ubuntu 18.04?

It is possible that xorg does not like the other resolution from the display's EDID, have you checked your xorg.0.log when I checked mine I found that the modeline for the full resolution was being rejected.

You can add it back manually using xrandr and and you can make the change persistent using the .xprofile for each account.

You would do that by reading the EDID section from your xorg.0.log file mine looks like this:

[  1605.612] (II) modeset(0): EDID for output DP-1
[  1605.612] (II) modeset(0): Manufacturer: APP  Model: 9221  Serial#: 33558015
[  1605.612] (II) modeset(0): Year: 2007  Week: 17
[  1605.612] (II) modeset(0): EDID Version: 1.3
[  1605.612] (II) modeset(0): Digital Display Input
[  1605.612] (II) modeset(0): Max Image Size [cm]: horiz.: 64  vert.: 40
[  1605.612] (II) modeset(0): Gamma: 2.20
[  1605.612] (II) modeset(0): DPMS capabilities: Off
[  1605.612] (II) modeset(0): Supported color encodings: RGB 4:4:4 YCrCb 4:4:4 
[  1605.612] (II) modeset(0): First detailed timing not preferred mode in violation of standard!
[  1605.612] (II) modeset(0): redX: 0.640 redY: 0.343   greenX: 0.292 greenY: 0.611
[  1605.612] (II) modeset(0): blueX: 0.146 blueY: 0.074   whiteX: 0.313 whiteY: 0.329
[  1605.612] (II) modeset(0): Manufacturer's mask: 0
[  1605.612] (II) modeset(0): Supported detailed timing:
[  1605.612] (II) modeset(0): clock: 71.0 MHz   Image Size:  641 x 401 mm
[  1605.612] (II) modeset(0): h_active: 1280  h_sync: 1328  h_sync_end 1360 h_blank_end 1440 h_border: 0
[  1605.612] (II) modeset(0): v_active: 800  v_sync: 803  v_sync_end 809 v_blanking: 823 v_border: 0
[  1605.612] (II) modeset(0): Supported detailed timing:
[  1605.612] (II) modeset(0): clock: 268.0 MHz   Image Size:  641 x 401 mm
[  1605.612] (II) modeset(0): h_active: 2560  h_sync: 2608  h_sync_end 2640 h_blank_end 2720 h_border: 0
[  1605.612] (II) modeset(0): v_active: 1600  v_sync: 1603  v_sync_end 1609 v_blanking: 1646 v_border: 0
[  1605.612] (II) modeset(0): Serial No: CY71733DXMP
[  1605.613] (II) modeset(0): Monitor name: Cinema HD
[  1605.613] (II) modeset(0): Number of EDID sections to follow: 1
[  1605.613] (II) modeset(0): EDID (in hex):
[  1605.613] (II) modeset(0):   00ffffffffffff0006102192ff0d0002
[  1605.613] (II) modeset(0):   111101038040287828fe85a3574a9c25
[  1605.613] (II) modeset(0):   13505400000001010101010101010101
[  1605.613] (II) modeset(0):   010101010101bc1b00a0502017303020
[  1605.613] (II) modeset(0):   360081912100001ab06800a0a0402e60
[  1605.613] (II) modeset(0):   3020360081912100001a000000ff0043
[  1605.613] (II) modeset(0):   59373137333344584d500a00000000fc
[  1605.613] (II) modeset(0):   0043696e656d612048440a0000000155
[  1605.613] (II) modeset(0):   40010300000000c84801a500a5000102
[  1605.613] (II) modeset(0):   031919a8000000000000400000000000
[  1605.613] (II) modeset(0):   00000000000000000000000000000000
[  1605.613] (II) modeset(0):   00000000000000000000000000000000
[  1605.613] (II) modeset(0):   00000000000000000000000000000000
[  1605.613] (II) modeset(0):   00000000000000000000000000000000
[  1605.613] (II) modeset(0):   00000000000000000000000000000000
[  1605.613] (II) modeset(0):   00000000000000000000000000000041
[  1605.613] (II) modeset(0): Printing probed modes for output DP-1
[  1605.613] (II) modeset(0): Modeline "1280x800"x59.9   71.00  1280 1328 1360 1440  800 803 809 823 +hsync -vsync (49.3 kHz e)

and you can try out the modeline by opening a terminal and typing in:

xrandr --newmode "2560x1600"  268.00  2560 2608 2640 2720 1600 1603 1609 1646 -hsync +vsync

and then change the output to the new mode with:

xrandr --addmode DISPLAY_ID 2560x1600
xrandr --output DISPLAY_ID --mode 2560x1600

where "DISPLAY_ID" is the display connection name from xrandr's output such as "HDMI-1"

Set up your .xprofile by making a text file named ".xprofile" in each user's home directory and adding these lines:

#! /bin/sh

xrandr --newmode "2560x1600"  268.00  2560 2608 2640 2720 1600 1603 1609 1646 -hsync +vsync
xrandr --addmode DISPLAY_ID 2560x1600
xrandr --output DISPLAY_ID --mode 2560x1600

replacing "DISPLAY_ID" with the display connection name as with the test.

Note: I noticed that this question is a few years old halfway through writing this, but I figure I'll go ahead and post the answer because I sure would like to have found it when I was having this problem.