2

I have messed up my Ubuntu desktop by removing Python while trying to fix a problem. The Unity interface is gone. I'd like to try the solutions proposed by they all require a terminal.

My Ubuntu 16.04 LTS is running on VirtualBox on a Windows 10 guest. I've tried:

  • Booting with SHIFT pressed (that only seems to go to Windows, and I always get the graphical login)
  • Doing CTRL + ALT + T (nothing happens)
  • Doing CTRL + ALT + F1 (I get a black screen and a few white dotted lines, it appears to be a video problem which could potentially be solved if I had access to the terminal)
  • Searching online for a solution

I'm downloading Ubuntu again to do a new, separate installation, but if someone knows of an alternative way to access the terminal so I can recover my system, I'd be most grateful.

Nagev
  • 674
  • 1
    Fortunately I remembered the DHCP IP address this morning and managed to SSH into my machine from Windows using Putty. Then I did "sudo apt-get install --reinstall ubuntu-desktop" and now I have my desktop and terminal back, with all my data intact! And I can fix whatever other damage was done.

    I might not be so lucky next time, so I'm still interested to hear about other hacks.

    – Nagev Sep 06 '17 at 11:14
  • 1
    You should make your comment an answer. It is a valid option to use SSH to access a Linux machine. – Melebius Sep 06 '17 at 11:28

2 Answers2

3

Ctrl+Alt+F1 switches to the virtual terminal on the host; try HostKey+F1 instead. See How do I switch between virtual terminals in a guest system?. You may have to press Esc to get rid of the startup splash screen, or switch to virtual terminal 2 instead by using F2.

Murphy
  • 1,677
  • Ah OK, my Host key is Right CTRL. That may well be the answer, but I can't verify it as I still get the same blank screen, using Right CTRL + F1. Also tried F2, F3... all the same. Also pressed ESC. Unless it takes very long to come up, might try again later. – Nagev Sep 06 '17 at 11:36
2

I've solved my problem via SSH. I was lucky to know the DHCP IP address so I'll also share a method to find out the IP address from the Windows host based on this answer. The only pre-requisite is that the SSH daemon must have been installed and running before access to the terminal is lost. Fortunately, that was my case.

First, make sure your network settings use a bridged adapter instead of NAT. This will get the machine its own IP address making it easier to SSH from any machine on the same network. You can change this under "Settings > Network". And change the value of "Attached to".

To get the IP address from the Windows host, find out where VirtualBox is installed. It will typically be under "Program Files\Oracle". Open a command prompt, e.g. by typing cmd on the search bar. Then type something like:

cd C:\Program Files\Oracle\VirtualBox
VBoxManage guestproperty enumerate "Ubuntu 16.04"

Replace Ubuntu 16.04 with the actual name of your VM as seen in the VirtualBox left pane. In the output look for a line that looks something like this:

Name: /VirtualBox/GuestInfo/Net/0/V4/IP, value: 192.168.60.12

That's the IP address right there. Now, from another machine on the network you can do, for example:

$ ssh your-user-name@192.168.60.12
$ sudo apt-get install --reinstall ubuntu-desktop

This should get your desktop and terminal operational again.

Nagev
  • 674