Terminal does not start on Remote Desktop; how to fix it?

When I try to start the Terminal by clicking the menu item Applications > Accessories > Terminal, it does not start. I get a Starting Terminal entry in the taskbar. After a few seconds, it goes away. No terminal appears. Other applications launch correctly.

I'm running Ubuntu 11.04, and connecting via Remote Desktop. On the client, I'm using Microsoft's Remote Desktop Connection for Mac; on the server, sesman.

I've checked the following log files, but no messages appear: debug, messages, sesman.log, syslog, and user.log.

ps ax | grep -i term does not list the terminal -- not even when the taskbar shows Starting Terminal. I can still get a command line by sssh'ing in.

When I launch gnome-terminal from xterm, I get the error below:

gnome-terminal: /build/buildd/cairo-1.10.2/src/cairo-image-surface.c:1320: _pixel_to_solid: Assertion `!"reached"' failed.

As for other terminals, I get the same error message when I run Byobu Terminal. And guake didn't install properly from the Software Centre (fixing guake seems beyond the scope of this question). However, xterm runs OK.

Also, I checked my .bashrc file, and it seems fine.

What should I do now? I'd rather not use xterm as my primary terminal.

Update
This is apparently a known bug. The solution is to turn on a desktop background.


Solution 1:

Try starting the terminal manually, e.g. from xterm and see what the output is.

Press Alt + F2 and then enter xterm to get an xterm.

There, simply type gnome-terminal to try to start the terminal.

Solution 2:

I had a similar problem after editing the file /etc/default/locale.

The solution for me was changing the locale in /etc/default/locale back to the defaultc contents of that file to:

LANG="en_US.UTF-8"
LANGUAGE="en_US"

As described in this answer.

Solution 3:

I had set Python 3.6 as the default with

sudo update-alternatives --config python3.

I changed it back to 3.5 and just use the 3.6 Interpreter in PyCharm. It's back and works fine.

Solution 4:

See if there is anything in your .bashrc file that shouldn't be there. That could make the terminal not work. It's a script that runs every time you launch the terminal, and when you log in with ssh a similar file may be executed on the remote machine.

There should be an unmodified default system version of .bashrc in /etc/skel/.bashrc that you can compare with the one in your home directory (~/.bashrc) to see what changes have been made, if any, to the local file.

Solution 5:

I found that I can go to any folder in the file browser, right click, then select open in terminal.