xrandr --current
In short, you want something like
xrandr --output LVDS --scale 1.28x1.28
xrandr -s <width>x<height>
do the trick? Well, yes it does. But the problem is that when I restore my display to its original size, all exiting window are shifted, jam-packing the upper left corner of the display, and even gnome menu icons are shifted two. That’s awful.
Quick answer:
To reduce to a smaller display size,
xrandr --output VGA-1 --mode 1503x845 --panning 1366x768
This will reduce the size of my display to a smaller size (640×480), while keep the virtual size of my display to my current size. To view the other virtual display area, just panning with the mouse.
To get a list of display size can be used, use xrandr. Here is output of mine:
$ xrandr Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 4096 x 4096 VGA-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm panning 1920x1080+0+0 1920x1080 60.0*+ 1280x1024 75.0 60.0 1440x900 59.9 1280x800 59.8 1152x864 75.0 1024x768 70.1 60.0 800x600 60.3 56.2 640x480 66.7 60.0 720x400 70.1
It shows that the smaller sizes that I can use are, 1280×1024, 1440×900, 1280×800, …., 800×600, 720×400 and 640×480.
BTW, There is also an old X11 trick to change the screen resolution, Ctrl-Alt plus + or – from the number pad. That’s the trick that I’ve been playing for years. However, as you can tell, it’d be tiresome to do it now, because previously there’s about 3 modes that I can switch in between, and now it is tiresome to cycle through all the display mode above.
To restore,
xrandr -s 1920x1080
$ cvt 1360 768 60
# 1360x768 59.80 Hz (CVT) hsync: 47.72 kHz; pclk: 84.75 MHz
Modeline "1360x768_60.00" 84.75 1360 1432 1568 1776 768 771 781 798 -hsync +vsync
$ gtf 1360 768 60 -x
# 1360x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 84.72 MHz
Modeline "1360x768_60.00" 84.72 1360 1424 1568 1776 768 769 772 795 -HSync +Vsync
$ xrandr --newmode "1360x768_60.00" 84.72 1360 1424 1568 1776 768 769 772 795 -HSync +Vsync
$ xrandr --addmode VGA1 "1360x768_60.00"
Almost as soon as I posted this, I looked somewhere else and did this:
$ xrandr --addmode VGA-0 1280x1024_60.00
And then I could do this:
$ xrandr --output VGA-0 --mode 1280x1024_60.00
So the whole process from start to finish looks like this:
$ gtf 1280 1024 60
# 1280x1024 @ 60.00 Hz (GTF) hsync: 63.60 kHz; pclk: 108.88 MHz
Modeline "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
#copy everything after "Modeline"
$ xrandr --newmode "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
$ xrandr --addmode VGA-0 1280x1024_60.00
$ xrandr --output VGA-0 --mode 1280x1024_60.00