Ubuntu-Anmeldebildschirm wird neu geladen

1291
AJ.

Ich versuche, mich bei meinem Ubuntu-Desktop anzumelden, nachdem ich ein paar Pakete aktualisiert und neu gestartet habe. Ich weiß, dass ich mich erfolgreich authentifiziere, aber es scheint, dass nach der Eingabe meines Benutzernamens und Kennworts der Bildschirm vorübergehend schwarz wird und die Anmeldeseite erneut geladen wird.

Ich bin nicht sicher, wo ich nach Fehlern suchen soll. Anregungen werden gebeten.


UPDATE: Wenn ich failsafe GNOMEaus der Sitzungsliste wähle, kann ich mich gut einloggen. Irgendwelche Ideen?


UPDATE 2: Hier ist die Ausgabe von ~/.xsession-errors:

/etc/gdm/Xsession: Beginning session setup... /etc/profile.d/p4c.sh: 8: Syntax error: "(" unexpected 

p4c.shist ein Skript, das ich von meinem vorherigen Ubuntu-System kopiert habe - wo es gut funktioniert hat. Hier sind die Inhalte von p4c.sh:

#!/bin/bash  # p4c() function setup params p4_HOST=`hostname | awk -F . ''`  # function for setting the P4CLIENT variable based on the first non-option # argument provided function p4client() { HELP_MODE='' VERBOSE_MODE='' DESC_MODE='' SHORT_MODE='' while getopts ":hdsv" option do case $option in h) echo "p4c provides information about perforce clients." echo "Recognized arguments:" echo " -h help (this message)" echo " -d descriptions (prints client descriptions - useful, but slightly slower)" echo " -v verbose (print unreasonable amounts of debugging info" echo # About to exit - reset OPTIND or we'll be in trouble later. OPTIND=1 # Abort return ;; v) VERBOSE_MODE='verbose';; d) DESC_MODE='descriptions';; s) SHORT_MODE='short';; *) echo "Unknown option '$OPTARG'! Specify -h for help..." # About to exit - reset OPTIND or we'll be in trouble later. OPTIND=1 # Abort return ;; esac done  # Set argument pointer to first non-option argument shift $(($OPTIND - 1))  # Done with OPTIND - better reset it before something bad happens... OPTIND=1  PROJECT=$1; if [ $VERBOSE_MODE ] then echo "PROJECT: $PROJECT" fi  # Need to check/set p4_USER every time to allow changes between invocations if [ -z "$p4c_USER" ] then p4_USER=`echo $P4USER` if [ -z "$p4_USER" ] then p4_USER=`id -nu` fi else p4_USER=$p4c_USER fi if [ $VERBOSE_MODE ] then echo "p4_USER: $p4_USER" fi   if [ -n "$PROJECT" ] then # provided a non empty string project name p4_CLIENT=$p4_HOST-$p4_USER-$PROJECT if [ $VERBOSE_MODE ] then echo "p4_CLIENT: $p4_CLIENT" fi  # check client to see if it exists p4_GREP_RESULT=`p4 clients | grep "$p4_CLIENT"` if [ -z "$p4_GREP_RESULT" ] then echo "NOTE: P4 client \"$p4_CLIENT\" does not exist on server." echo "Setting P4CLIENT anyway so that client \"$p4_CLIENT\" can be created." echo fi  export P4CLIENT=$p4_CLIENT; else # check for client matches p4_GREP_RESULT=`p4 clients | egrep "($p4_HOST-$p4_USER-|$p4_USER-$p4_HOST-)" | awk ''` echo "Known workspaces for user $p4_USER, host $p4_HOST:" if [ -z 
2
Sie könnten versuchen, die Tastenkombination Strg + Alt + F1 zu verwenden, um zu einem Terminal zu wechseln, sich dann anzumelden und dmesg auszuführen. Wenn dies keine interessanten Protokollnachrichten anzeigt, können Sie Ihr Glück mit einigen der Dateien / var / log versuchen ... marcusw vor 14 Jahren 0
@ marcusw - danke, ich habe einige interessante Log-Einträge gefunden. siehe meine Bearbeitung irgendwelche Ideen? AJ. vor 14 Jahren 0

1 Antwort auf die Frage

1
Benjamin Bannier

Entfernen Sie entweder das functionSchlüsselwort oder die Klammern ()in dieser Zeile. Dies wurde in verschiedenen bashVersionen etwas inkonsistent implementiert - wahrscheinlich wurde durch Ihr Update eine inkompatible Version von eingeführt bash.

Für mich

nameofsomefunction() { ... } 

funktioniert meistens.