Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[gelöst] etc-update - Frage zu "etc/init.d/xdm"
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Sabaton
Apprentice
Apprentice


Joined: 02 Mar 2019
Posts: 190

PostPosted: Mon Apr 19, 2021 10:52 am    Post subject: [gelöst] etc-update - Frage zu "etc/init.d/xdm" Reply with quote

Hallo liebes Gentoo-Forum,
ich habe ein Problem wo ich nicht weiterkomme und das Gentoo-Gastsystem nicht mehr bootet.

Code:
gentoo /home/peter # etc-update
Scanning Configuration files...
The following is the list of files which need updating, each
configuration file is followed by a list of possible replacement files.
1) /etc/conf.d/display-manager (1)
2) /etc/init.d/xdm (1)
Please select a file to edit by entering the corresponding number.
              (don't use -3, -5, -7 or -9 if you're unsure what to do)
              (-1 to exit) (-3 to auto merge all files)
                           (-5 to auto-merge AND not use 'mv -i')
                           (-7 to discard all updates)
                           (-9 to discard all updates AND not use 'rm -i'):


/etc/conf.d/display-manager
Code:
  GNU nano 5.3            /etc/conf.d/display-manager                       
# We always try and start X on a static VT. The various DMs normally default
# to using VT7. If you wish to use the xdm init script, then you should ens>
# that the VT checked is the same VT your DM wants to use. We do this check>
# ensure that you haven't accidentally configured something to run on the VT
# in your /etc/inittab file so that you don't get a dead keyboard.
CHECKVT=7

# What display manager do you use ?  [ xdm | gdm | sddm | gpe | lightdm | e>
# NOTE: If this is set in /etc/rc.conf, that setting will override this one.
DISPLAYMANAGER="sddm"


/etc/init.d/xdm
Code:
#!/sbin/openrc-run
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License, v2

# This is here to serve as a note to myself, and future developers.
#
# Any Display manager (gdm,kdm,xdm) has the following problem:  if
# it is started before any getty, and no vt is specified, it will
# usually run on vt2.  When the getty on vt2 then starts, and the
# DM is already started, the getty will take control of the keyboard,
# leaving us with a "dead" keyboard.
#
# Resolution: add the following line to /etc/inittab
#
#  x:a:once:/etc/X11/startDM.sh
#
# and have /etc/X11/startDM.sh start the DM in daemon mode if
# a lock is present (with the info of what DM should be started),
# else just fall through.
#
# How this basically works, is the "a" runlevel is a additional
# runlevel that you can use to fork processes with init, but the
# runlevel never gets changed to this runlevel.  Along with the "a"
# runlevel, the "once" key word means that startDM.sh will only be
# run when we specify it to run, thus eliminating respawning
# startDM.sh when "xdm" is not added to the default runlevel, as was
# done previously.
#
# This script then just calls "telinit a", and init will run
# /etc/X11/startDM.sh after the current runlevel completes (this
# script should only be added to the actual runlevel the user is
# using).
#
# Martin Schlemmer
# aka Azarah
# 04 March 2002

depend() {
        need localmount xdm-setup

        # this should start as early as possible
        # we can't do 'before *' as that breaks it
        # (#139824) Start after ypbind and autofs for network authentication
        # (#145219 #180163) Could use lirc mouse as input device
        # (#70689 comment #92) Start after consolefont to avoid display corruption
        # (#291269) Start after quota, since some dm need readable home
        # (#390609) gdm-3 will fail when dbus is not running
        # (#366753) starting keymaps after X causes problems
        after bootmisc consolefont modules netmount
        after readahead-list ypbind autofs openvpn gpm lircmd
        after quota keymaps
        before alsasound

        # Start before X
        use consolekit dbus xfs
}

setup_dm() {
        local MY_XDM

        MY_XDM=$(echo "${DISPLAYMANAGER}" | tr '[:upper:]' '[:lower:]')

        # Load our root path from profile.env
        # Needed for kdm
        PATH=${PATH}:$(. /etc/profile.env; echo "${ROOTPATH}")

        NAME=
        case "${MY_XDM}" in
                kdm|kde)
                        EXE=/usr/bin/kdm
                        PIDFILE=/run/kdm.pid
                        ;;
                entrance*)
                        EXE=/usr/sbin/entrance
                        PIDFILE=/run/entrance.pid
                        ;;
                gdm|gnome)
                        # gdm-3 and above has different paths
                        if [ -f /usr/sbin/gdm ]; then
                                EXE=/usr/sbin/gdm
                                PIDFILE=/run/gdm/gdm.pid
                                START_STOP_ARGS="--background"
                                AUTOCLEAN_CGROUP="yes"
                        else
                                EXE=/usr/bin/gdm
                                PIDFILE=/run/gdm.pid
                        fi
                        [ "${RC_UNAME}" != "Linux" ] && NAME=gdm-binary
                        ;;
                wdm)
                        EXE=/usr/bin/wdm
                        PIDFILE=
                        ;;
                gpe)
                        EXE=/usr/bin/gpe-dm
                        PIDFILE=/run/gpe-dm.pid
                        ;;
                lxdm)
                        EXE=/usr/sbin/lxdm-binary
                        PIDFILE=/run/lxdm.pid
                        START_STOP_ARGS="--background"
                        ;;
                lightdm)
                        EXE=/usr/sbin/lightdm
                        PIDFILE=/run/lightdm.pid
                        START_STOP_ARGS="--background"
                        ;;
                sddm)
                        EXE="/usr/bin/sddm"
                        START_STOP_ARGS="-m --background"
                        PIDFILE=/run/sddm.pid
                        ;;
                *)
                        # first find out if there is such executable
                        EXE="$(command -v ${MY_XDM} 2>/dev/null)"
                        PIDFILE="/run/${MY_XDM}.pid"

                        # warn user that he is doing sick things if the exe was not found
                        if [ -z "${EXE}" ]; then
                                echo "ERROR: Your XDM value is invalid."
                                echo "  No ${MY_XDM} executable could be found on your system."
                        fi
                        ;;
        esac

        if ! [ -x "${EXE}" ]; then
                EXE=/usr/bin/xdm
                PIDFILE=/run/xdm.pid
                if ! [ -x "/usr/bin/xdm" ]; then
                        echo "ERROR: Please set your DISPLAYMANAGER variable in /etc/conf.d/xdm,"
                        echo "  or install x11-apps/xdm package"
                        eend 255
                fi
        fi
}

# Check to see if something is defined on our VT
vtstatic() {
        if [ -e /etc/inittab ] ; then
                grep -Eq "^[^#]+.*\<tty$1\>" /etc/inittab
        elif [ -e /etc/ttys ] ; then
                grep -q "^ttyv$(($1 - 1))" /etc/ttys
        else
                return 1
        fi
}

start() {
        local EXE NAME PIDFILE AUTOCLEAN_CGROUP
        setup_dm

        if [ -f /etc/.noxdm ]; then
                einfo "Skipping ${EXE##*/}, /etc/.noxdm found or \"nox\" bootparam passed."
                rm /etc/.noxdm
                return 0
        fi

        ebegin "Setting up ${EXE##*/}"

        # save the prefered DM
        save_options "service" "${EXE}"
        save_options "name"    "${NAME}"
        save_options "pidfile" "${PIDFILE}"
        save_options "start_stop_args" "${START_STOP_ARGS}"
        save_options "autoclean_cgroup" "${AUTOCLEAN_CGROUP:-no}"

        if [ -n "${CHECKVT-y}" ] ; then
                if vtstatic "${CHECKVT:-7}" ; then
                        if [ -x /sbin/telinit ] && [ "${SOFTLEVEL}" != "BOOT" ] && [ "${RC_SOFTLEVEL}" != "BOOT" ]; then
                                ewarn "Something is already defined on VT ${CHECKVT:-7}, will start X later"
                                telinit a >/dev/null 2>&1
                                return 0
                        else
                                eerror "Something is already defined on VT ${CHECKVT:-7}, not starting"
                                return 1
                        fi
                fi
        fi

        /etc/X11/startDM.sh
        eend 0
}

stop() {
        local curvt retval

        retval=0
        if [ -t 0 ]; then
                if type fgconsole >/dev/null 2>&1; then
                        curvt=$(fgconsole 2>/dev/null)
                else
                        curvt=$(tty)
                        case "${curvt}" in
                                /dev/ttyv[0-9]*) curvt=${curvt#/dev/ttyv} ;;
                                *) curvt= ;;
                        esac
                fi
        fi
        local myexe myname mypidfile myservice
        myexe=$(get_options "service")
        myname=$(get_options "name")
        mypidfile=$(get_options "pidfile")
        myservice=${myexe##*/}
        yesno "${rc_cgroup_cleanup:-no}" || rc_cgroup_cleanup=$(get_options "autoclean_cgroup")

        [ -z "${myexe}" ] && return 0

        ebegin "Stopping ${myservice}"

        if start-stop-daemon --quiet --test --stop --exec "${myexe}" 2>/dev/null; then
                start-stop-daemon --stop --exec "${myexe}" --retry TERM/5/TERM/5 \
                        ${mypidfile:+--pidfile} ${mypidfile} \
                        ${myname:+--name} ${myname}
                retval=${?}
        fi

        # switch back to original vt
        if [ -n "${curvt}" ]; then
                if type chvt >/dev/null 2>&1; then
                        chvt "${curvt}"
                else
                        vidcontrol -s "$((curvt + 1))"
                fi
        fi

        eend ${retval} "Error stopping ${myservice}"
        return ${retval}
}

# vim: set ts=4 :


/etc/conf.d/xdm (von Gentoo-Erstinstallation)
Code:
  GNU nano 5.3                  /etc/conf.d/xdm                             
# We always try and start X on a static VT. The various DMs normally default
# to using VT7. If you wish to use the xdm init script, then you should ens>
# that the VT checked is the same VT your DM wants to use. We do this check>
# ensure that you haven't accidentally configured something to run on the VT
# in your /etc/inittab file so that you don't get a dead keyboard.
CHECKVT=7

# What display manager do you use ?  [ xdm | gdm | sddm | gpe | lightdm | e>
# NOTE: If this is set in /etc/rc.conf, that setting will override this one.
DISPLAYMANAGER="sddm"


Wie muss ich die "/etc/init.d/xdm" anpassen dass Gentoo wieder bootet?

Mfg;
Sabaton


Last edited by Sabaton on Mon Apr 19, 2021 11:21 am; edited 1 time in total
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 9334

PostPosted: Mon Apr 19, 2021 10:56 am    Post subject: Reply with quote

Gar nicht.

https://www.gentoo.org/support/news-items/2021-01-30-display-manager-init.html

Code:
The old 'xdm' init script is no longer supported and henceforth
removed from x11-base/xorg-server-1.20.10-r1, so it is imperative that
you switch from xdm to display-manager service in default runlevel:

   # rc-update del xdm default
   # rc-update add display-manager default
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Mon Apr 19, 2021 11:03 am    Post subject: Reply with quote

Quote:
Gentoo-Gastsystem nicht mehr bootet.

Genau deshalb boote ich auch nicht in einen Display Manager, sondern zur TTY Konsole. Dann logge ich mich ein und starte die Desktop-Umgebung mit "startx" oder ähnlichen Scripten. Wenn die Desktop-Umgebung dann mal nicht funktionieren sollte, habe ich aber auf jeden Fall die Shell. Und von der aus kann ich das Problem analysieren und lösen.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 9334

PostPosted: Mon Apr 19, 2021 11:06 am    Post subject: Reply with quote

Ein "ncht bootendes" System scheint hier aber nicht das Problem zu sein, sondern lediglich unterschiedliche Begriffsdefinitionen...

"Software x" nicht zu verwenden sorgt natürlich immer dafür "Software x Problem" zu vermeiden. Bei großflächiger Anwendung dieser Logik würden wir aber immer noch mit Papier und Bleistift am Schreibtisch sitzen.
Back to top
View user's profile Send private message
Sabaton
Apprentice
Apprentice


Joined: 02 Mar 2019
Posts: 190

PostPosted: Mon Apr 19, 2021 11:24 am    Post subject: Reply with quote

Hallo,

ein

Code:
rc-update del xdm default
rc-update add display-manager default


hat den Fehler behoben, vielen Dank

Mfg;
Sabaton
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum