Reloads หน้าจอเข้าสู่ระบบ Ubuntu


2

ฉันพยายามลงชื่อเข้าใช้เดสก์ท็อป Ubuntu หลังจากอัปเดตแพ็คเกจจำนวนมากและรีบูตเครื่อง ฉันรู้ว่าฉันรับรองความถูกต้องเรียบร้อยแล้ว แต่สิ่งที่น่าจะเกิดขึ้นคือหลังจากฉันป้อนชื่อผู้ใช้และรหัสผ่านของฉันแล้วหน้าจอจะเปลี่ยนเป็นสีดำทั้งหมดชั่วคราวจากนั้นหน้าเข้าสู่ระบบจะถูกโหลดอีกครั้ง

ฉันไม่แน่ใจว่าจะหาข้อผิดพลาดที่เกี่ยวข้องกับเรื่องนี้ได้ที่ไหน ข้อเสนอแนะใด ๆ ที่จะได้รับการชื่นชม


อัพเดท: ถ้าฉันเลือกfailsafe GNOMEจากรายการเซสชันฉันสามารถเข้าสู่ระบบได้ดี ความคิดใด ๆ


ปรับปรุง 2: นี่คือผลลัพธ์จาก~/.xsession-errors:

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

p4c.shเป็นสคริปต์ที่ฉันคัดลอกมาจากระบบ Ubuntu ก่อนหน้าของฉันซึ่งทำงานได้ดี นี่คือเนื้อหาของ p4c.sh:

#!/bin/bash

# p4c() function setup params
p4_HOST=`hostname | awk -F . '{print $1}'`

# 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 '{print $2;}'`
        echo "Known workspaces for user $p4_USER, host $p4_HOST:"
        if [ -z

คุณสามารถลองกด Ctrl + Alt + F1 เพื่อเปลี่ยนเป็นเทอร์มินัลจากนั้นเข้าสู่ระบบและเรียกใช้ dmesg ถ้านั่นไม่แสดงข้อความบันทึกที่น่าสนใจคุณสามารถลองเสี่ยงโชคกับไฟล์ / var / log ...
marcusw

@marcusw - ขอบคุณฉันหารายการบันทึกที่น่าสนใจ ดูการแก้ไขของฉัน ความคิดใด ๆ
AJ

คำตอบ:


1

คุณควรลบfunctionคำหลักหรือวงเล็บ()ในบรรทัดนั้น สิ่งนี้มีการใช้งานที่ไม่สอดคล้องกันเล็กน้อยในbashเวอร์ชันที่ต่างกัน--- อาจเป็นไปได้ว่าการอัปเดตของคุณจะนำเสนอเวอร์ชันที่เข้ากันไม่bashได้

สำหรับฉัน

nameofsomefunction() {
   ...
}

ทำงานเกือบตลอดเวลา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.