Problem: I installed the game "supertux" from Synaptic, and played it. So after I quit/exitted, the game, and back to my desktop, the resolution was reset: desktop items had bigger texts, etc. I right-clicked on the desktop to change the resolution to the previous setting which I knew. Immediately I clicked the apply button, suddenly, the whole screen went garbled.
When I moved my mouse upwards, the lower part of the screen was black;and when I moved the mouse downwards, I see the garbled screen, scrolling very fast from right to left. I couldn't click on anything. I rebooted severally and logged into gnome-classic, but there was no change. I couldnt right click or click anything. My configuration menu at the top wasn't visible.
I logged out and logged in again into my Xfce and Lxde sessions, my desktops were ok. The only problem was with Gnome-Classic. And while in gnome-classic, if I tried to switch to console, the whole screen went black and I couldnt see the login prompt.
An advice from a debian-chat room on IRC that I should find and edit grub helped to fix issues.
Solution:
I logged into another desktop session: Xfce and edited grub
For my install, Grub is located at /etc/default/grub
Before: Note the line in Bold text
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
After: Note the line in Bold text
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
root@debian7:/etc/default#
====================8888888888888==============
Note:
Edit grub with Nano/any text editor. Save and exit
then do from terminal: update-grub or sudo update-grub to update grub with new settings.
Reboot the desktop.
Hola, Im back go gnome-classic.
Lesson learnt: its good to have at least an alternate desktop installed just for cases like this, and even if you don't have another desktop installed for direct desktop-login, an ssh/remote connection would also be a life saver to give access to root command-line.