Ubuntu – X windows hanging during Ubuntu boot

14.04bootgrub2xorg

I was able to figure out the cause of this problem I was having Unable to boot Ubuntu 14.04. The X server is refusing a connection. I was able to boot by pressing shift continuously and I was able to boot but it does not open the graphics display of Ubuntu trusty.

I tried sudo service lightdm restart and start. They both don't seem to work. In effect I have access to a tty terminal where I can issue commands and see my data but the X windows access is broken.

Thanks to Serg I installed gdm , but that also failed to display.

Then we tried sudo startx $(which unity)

We got this error

/usr/bin/X : error while loading shared libraries : libimf.so cannot open shared object file: No such file or directory 

When I looked up the type of display that I have
it is

VGA Compatible controller
product : 4th generation core processor family integrated graphics controller
vendor : Intel Corporation

As given by sudo lshw -c display

So it is missing a shared library from Intel. Can somebody recommend how to fix this problem ?

Best Answer

  • Thanks to a suggestion provide by user @KnudLarsen I was able to boot Ubuntu 14.04 and start X server. The key is to pay attention to what Ubuntu is reporting here -

    /usr/bin/X : error while loading shared libraries : libimf.so cannot open shared object file: No such file or directory 
    

    @KnudLarsen then mentioned in a comment that make a copy of libimf.so to /usr/lib and maybe X can find it at that point.

    I googled his response and I found a similar posting here:

    Symbolic link to libimf.so

    Which is exactly what I did. I created a symbolic link of libimf.so in the following way

    ln -sf /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libimf.so /usr/lib64/libimf.so
    

    Then I ran startunity again

    sudo startx $(which unity) 
    

    It complained of more Intel .so libraries missing. Sequentially I symlinked all of those and finally I was able to boot into X windows.

    At the moment I do not know what caused this outage. One thing I do know is that I manually installed the libGLew*.so packages and it seems the installer installed those under /usr/lib64.