Why does switching to the tty give me a blank screen?

This is usually caused because the graphical text-mode resolution set at boot up is not compatible with your video card. The solution is to switch to true text-mode by configuring Grub appropriately:

  1. Open the terminal with Ctrl+Alt+T
  2. Paste the below, and enter your password when asked:

    sudo sed -i -e 's/#GRUB_TERMINAL/GRUB_TERMINAL/g' /etc/default/grub
    
  3. Then type sudo update-grub

  4. Reboot and the virtual terminals should now work.

What fixed this for me was adding nomodeset to the GRUB_CMDLINE_LINUX_DEFAULT line in the /etc/default/grub file. Here's how:

  1. Type in terminal: gksu gedit /etc/default/grub

  2. Search for this line: GRUB_CMDLINE_LINUX_DEFAULT

    So for example if you have:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.autosuspend=-1"
    

    change it to:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.autosuspend=-1 nomodeset"
    
  3. After you finish, update grub (sudo update-grub) and reboot (sudo reboot) for the changes to take effect.

Optional: You could add nomodeset vga=xxx (not just nomodeset), the xxx is a VESA screen code that best matches your screen resolution. Take a look at this.


This is for newer version of Ubuntu:

  1. Edit the GRUB configuration file:

    sudo nano /etc/default/grub
    
  2. Locate the line

    #GRUB_GFXMODE=640x480
    

    change it to

    GRUB_GFXMODE=auto
    

    and save the file.

  3. Then update grub

    sudo update-grub