Black Screen + Cursor (Linux)

Discussion in 'Laptop Hardware' started by quincymd, Apr 18, 2009.

  1. quincymd

    quincymd

    Joined:
    Apr 18, 2009
    Messages:
    4
    Likes Received:
    0
    Hi folks,

    I've been using my A150 Linspire powered Aspire One for a while. It's not had any software or hardware hacks done to it, just the vanilla A150.

    Recently it has not been booting up correctly into the OS.

    It loads BIOS, shows the Linspire splash screen and then just a black screen with a movable white arrow cursor on it.
    The hard drive light blinks away for a few seconds as if it is still loading the OS but all I get is this black screen.

    I've tired booting up with an external monitor and I still get the same thing.

    Any helps will be most appreciated.

    QuincyMd
     
    quincymd, Apr 18, 2009
    #1
  2. quincymd

    quincymd

    Joined:
    Apr 18, 2009
    Messages:
    4
    Likes Received:
    0
    Ok,

    I solved this myself without having to perform a full system install and wiping out all my own files.

    The problem is with the xfce init file. located at /etc/xdg/xfce4/ xinitrc. I restored a backup of the default file and am now writing this on my AS1.

    I used Slax on a 1GB usb drive to restore the backup file into the Aspire One. Here is the default file if anyone needs it:

    Code:
    #!/bin/sh
    
    # fix broken $UID on some system...
    if test "x$UID" = "x"; then
    	if test -x /usr/xpg4/bin/id; then
    		UID=`/usr/xpg4/bin/id -u`;
    	else
    		UID=`id -u`;
    	fi
    fi
    
    # $XDG_CONFIG_HOME defines the base directory relative to which user specific 
    # configuration files should be stored. If $XDG_CONFIG_HOME is either not set 
    # or empty, a default equal to $HOME/.config should be used.
    if test "x$XDG_CONFIG_HOME" = "x" ; then
      XDG_CONFIG_HOME=$HOME/.config
    fi
    [ -d "$XDG_CONFIG_HOME" ] || mkdir "$XDG_CONFIG_HOME"
    
    # $XDG_CACHE_HOME defines the base directory relative to which user specific 
    # non-essential data files should be stored. If $XDG_CACHE_HOME is either not 
    # set or empty, a default equal to $HOME/.cache should be used.
    if test "x$XDG_CACHE_HOME" = "x" ; then
      XDG_CACHE_HOME=$HOME/.cache
    fi
    [ -d "$XDG_CACHE_HOME" ] || mkdir "$XDG_CACHE_HOME"
    
    # For now, start with an empty list
    XRESOURCES=""
    
    # Has to go prior to merging Xft.xrdb, as its the "Defaults" file
    test -r "/etc/xdg/xfce4/Xft.xrdb" && XRESOURCES="$XRESOURCES /etc/xdg/xfce4/Xft.xrdb"
    test -r $HOME/.Xdefaults && XRESOURCES="$XRESOURCES $HOME/.Xdefaults"
    
    BASEDIR=$XDG_CONFIG_HOME/xfce4
    if test -r "$BASEDIR/Xft.xrdb"; then
      XRESOURCES="$XRESOURCES $BASEDIR/Xft.xrdb"
    elif test -r "$XFCE4HOME/Xft.xrdb"; then
      mkdir -p "$BASEDIR"
      cp "$XFCE4HOME/Xft.xrdb" "$BASEDIR"/
      XRESOURCES="$XRESOURCES $BASEDIR/Xft.xrdb"
    fi
    
    # merge in X cursor settings
    test -r "$BASEDIR/Xcursor.xrdb" && XRESOURCES="$XRESOURCES $BASEDIR/Xcursor.xrdb"
    
    # ~/.Xresources contains overrides to the above
    test -r "$HOME/.Xresources" && XRESOURCES="$XRESOURCES $HOME/.Xresources"
    
    # load all X resources (adds /dev/null to avoid an empty list that would hang the process)
    cat /dev/null $XRESOURCES | xrdb -nocpp -merge -
    
    # load local modmap
    test -r $HOME/.Xmodmap && xmodmap $HOME/.Xmodmap
    
    # Launch xscreensaver (if available), but only as non-root user
    if test $UID -gt 0 -a -z "$VNCSESSION"; then 
        if test x"`which xscreensaver 2>/dev/null`" != x""; then
            xscreensaver -no-splash &
        elif test x"`which gnome-screensaver 2>/dev/null`" != x""; then
            gnome-screensaver &
        fi
    fi 
    
    # Use ssh-agent if installed and not already running.  Run it separately
    # so it populates the environment here, so we can clean it up later.
    sshagent=`which ssh-agent`
    kill_sshagent=0
    if test -z "$SSH_AGENT_PID" -a "$sshagent" -a "x$sshagent" != "xno"; then
    	eval `$sshagent -s`
    	kill_sshagent=1
    fi
    
    # Use dbus-launch if installed.
    if test x"$DBUS_SESSION_BUS_ADDRESS" = x""; then
    	dbuslaunch=`which dbus-launch`
    	if test x"$dbuslaunch" != x"" -a x"$dbuslaunch" != x"no"; then
    		eval `$dbuslaunch --sh-syntax --exit-with-session`
    	fi
    fi
    
    # Run xfce4-session if installed
    xfcesm=`which xfce4-session`
    case "x$xfcesm" in
    	x|xno*)
    		;;
    	*)
    		$xfcesm
    
    		if test $kill_sshagent -eq 1; then
    			eval `$sshagent -k`
    		fi
    		exit 0
    		;;
    esac
    
    
    ##################
    # IMPORTANT NOTE #
    ##################
    
    # Everything below here ONLY gets executed if you are NOT using xfce4-session
    # (Xfce's session manager).  If you are using the session manager, everything
    # below is handled by it, and the code below is not executed at all.  If you're
    # not sure if you're using the session manager, type 'ps -e|grep xfce4-session'
    # in a terminal while Xfce is running.
    
    ##################
    
    
    # this is only necessary when running w/o xfce4-session
    xsetroot -solid black -cursor_name watch
    
    # or use old-fashioned startup script otherwise
    
    xfce-mcs-manager
    xfwm4 --daemon
    
    # start up stuff in $XDG_CONFIG_HOME/autostart/, as that looks to be
    # the new standard.  if that directory doesn't exist, try the old
    # ~/Desktop/Autostart method.  we're not going to do any migration here.
    if test -d "$XDG_CONFIG_HOME/autostart"; then
      for i in ${XDG_CONFIG_HOME}/autostart/*.desktop; do
        grep -q -E "^Hidden=true" "$i" && continue
        if grep -q -E "^OnlyShowIn=" "$i"; then
          # need to test twice, as lack of the line entirely means we still run it
          grep -E "^OnlyShowIn=" "$i" | grep -q 'XFCE;' || continue
        fi
        grep -E "^NotShowIn=" "$i" | grep -q 'XFCE;' && continue
        
        # check for TryExec
        trycmd=`grep -E "^TryExec=" "$i" | cut -d'=' -f2`
        if test "$trycmd"; then
          type "$trycmd" >/dev/null 2>&1 || continue
        fi
        
        cmd=`grep -E "^Exec=" "$i" | cut -d'=' -f2`
        if test "$cmd" && type "$cmd" >/dev/null 2>&1; then
          $cmd &
        fi
      done
    elif test -d "$HOME/Desktop/Autostart"; then
      for i in `ls -1 -L ${HOME}/Desktop/Autostart/ 2>/dev/null`; do
        if test -x $HOME/Desktop/Autostart/$i; then
          $HOME/Desktop/Autostart/$i &
        fi
      done
    fi
    
    xfdesktop&
    orage &
    
    panel=`which xfce4-panel`
    case "x$panel" in
    	x|xno*)
    		;;
    	*)
    		$panel
    		ret=$?
    		while test $ret -ne 0; do
    			xmessage -center -file - -timeout 20 -title Error <<EOF
    A crash occured in the panel
    Please report this to the [email][email protected][/email] list
    or on [url]http://bugs.xfce.org[/url]
    Meanwhile the panel will be restarted
    EOF
    			cat >&2 <<EOF
    A crash occured in the panel
    Please report this to the [email][email protected][/email] list
    or on [url]http://bugs.xfce.org[/url]
    Meanwhile the panel will be restarted
    EOF
    			$panel
    			ret=$?
    		done
    		;;
    esac
    
    if test $kill_sshagent -eq 1; then
    	eval `$sshagent -k`
    fi
    
    xsetroot -bg white -fg red  -solid black -cursor_name watch
    
     
    quincymd, Apr 22, 2009
    #2
  3. quincymd

    UglyFrog

    Joined:
    Apr 17, 2009
    Messages:
    3
    Likes Received:
    0
    I have exactly the same symptoms as you on my A110. I too have booted using Slax, but your version of the xinitrc file is obviously incompatible with mine, as a reboot shows the same symptoms, but with an "X" cursor, rather than the usual mouse pointer - the thing still hangs. I'll have to investigate the xfce4 thing a little more... just out of interest, what made you look at the xfce4 side of things in the first place?

    /UF
     
    UglyFrog, Apr 23, 2009
    #3
  4. quincymd

    UglyFrog

    Joined:
    Apr 17, 2009
    Messages:
    3
    Likes Received:
    0
    Okey dokey, all sorted. Just needed to boot up using LINUX on a USB drive, and run fsck on the internal SSD (unmount it first, mind!). It ran through a few checks, but booted OK after that.

    /UF
     
    UglyFrog, Apr 24, 2009
    #4
  5. quincymd

    quincymd

    Joined:
    Apr 18, 2009
    Messages:
    4
    Likes Received:
    0
    Glad to hear that somebody else got their machine up and running again.

    I looked at xcfe because I reckoned the machine had booted up the OS but there was a problem with the GUI.
    Everything else was working, like caps + num lock, function keys for screen brightness/external monitor/trackpad.
    Just no GUI.

    No idea if what I did was treating a symptom or the actual problem but it worked for me.
     
    quincymd, Apr 24, 2009
    #5
  6. quincymd

    prentiz

    Joined:
    May 6, 2009
    Messages:
    1
    Likes Received:
    0
    Just thought I'd add my thanks to this one. Downloaded Slax and e2fsck /dev/disk_by_label/linpus sorted it out nicely! All Acer could suggest was blanking the whole HDD and starting again - this is much better!
     
    prentiz, May 11, 2009
    #6
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.