LINUX.ORG.RU

[гента][кеды] апдейтов накачали!


0

0

Обновил иксы до 1.9.0, затем пересобрал keyboard и mouse драйвера, etc-update какого-то файла в /etc (все время внимательно смотрю, что обновляю, а тут черт дернул -5 сделать). После этого сервис xdm не старутет по причине needs service xdm-setup. Внимательно смотрел /etc/init.d/xdm, про сетап - ни слова. Внимательно грепал весь /etc и /usr/share - пусто.

При ребути гента полминуты тупила, пытаясь обновись кеши (openrc) , видимо безуспешно.

Что делать? Кто виноват сам знаю.

★★★★★

Гугл молчит как партизан.

staseg ★★★★★
() автор топика

xdm-setup лежим рядом с xdm (по крайней мере у меня). Может его руками попробовать запустить?

vkos ★★
()
Ответ на: комментарий от vkos

У меня его нет. Попробовал создать пустой исполняемый с одной лишь строчкой - указанием шелла, - не помогло. Ну и главное, ищется причина, по которой xdm стал зависеть от xdm-setup, где это включается и почему не выключается

equery b /etc/init.d/xdm-setup - пусто, так что это не я его угрохал.

staseg ★★★★★
() автор топика
Ответ на: комментарий от megabaks

ну что могу сказать - как обычно после обновления забыл переставить дрова
переставил
УМВР :)

megabaks ★★★★
()

После обновления запустил dispatch-conf, он показал различия между старым /etc/init.d/xdm и новым, в новом строчка про зависимость от /etc/init.d/xdm-setup была убрана. Собственно обновление прошло гладко :)

kiichiro
()
depend() {
	need localmount xdm

	# 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
	after bootmisc consolefont modules netmount
	after readahead-list ypbind autofs openvpn gpm lircmd
	after quota
	before alsasound

	# Start before X
	use consolekit xfs
}

и как оно может просить сетап? о_О

megabaks ★★★★
()
Ответ на: комментарий от megabaks
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
        after bootmisc consolefont modules netmount
        after readahead-list ypbind autofs openvpn gpm lircmd
        after quota
        before alsasound

        # Start before X
        use consolekit xfs
}


xorg 1.8 просит сетап, после обновления до 1.9 сетап не нужен.

kiichiro
()
Ответ на: комментарий от staseg

Ну раз просит, то попробуй вписать его содержимое:

#!/sbin/runscript
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/files/xdm-setup.initd-1,v 1.1 2010/04/13 10:07:39 scarabeus Exp $

depend() {
        need localmount
}

start() {
        if get_bootparam "nox" ; then
                touch /etc/.noxdm
        fi
}

HTaeD ★★★★
()
Ответ на: комментарий от ClanMax

>Ну раз она пыталась обновить кеши openrc то копай в его сторону

Как? Обновляю файл xdm, ребут (хз, как еще обновить openrc-шные кеши), пофиг.

staseg ★★★★★
() автор топика
Ответ на: комментарий от HTaeD

Сами иксы стали меньше проц жрать, по-моему. Было 0-2 процента при почти неактивности, сейчас по нолям.

staseg ★★★★★
() автор топика
Ответ на: комментарий от HTaeD

Стоит с 1.8.2 улезать?


Особых улучшений не заметил, да и на игрушках не тестил, а так работаю стабильно.

Смысл в том, что 1.9 перестал просить xdm-setup

--- /etc/init.d/xdm     2010-09-13 11:36:12.024914665 +0600
+++ /mnt/cdrom/etc/init.d/xdm   2010-08-04 20:05:31.074000004 +0600
@@ -1,7 +1,7 @@
 #!/sbin/runscript
 # Copyright 1999-2004 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License, v2
-# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/files/xdm.initd-2,v 1.1 2010/09/12 20:45:23 chithanh Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/files/xdm.initd,v 1.1 2010/04/13 10:07:39 scarabeus Exp $
 
 # This is here to serve as a note to myself, and future developers.
 #
@@ -37,7 +37,7 @@
 # 04 March 2002
 
 depend() {
-       need localmount xdm
+       need localmount xdm-setup
 
        # this should start as early as possible
        # we can't do 'before *' as that breaks it
@@ -126,8 +126,8 @@
        local EXE= NAME= PIDFILE=
        setup_dm
 
-       if [ -f /etc/.noxdm ] || get_bootparam "nox" ; then
-               einfo "Skipping ${EXE##*/}, /etc/.noxdm found or \"nox\" bootparam passed."
+       if [ -f /etc/.noxdm ] ; then
+               einfo "Skipping ${EXE}, /etc/.noxdm found"
                rm /etc/.noxdm
                return 0
        fi
Вот собственно и вся разница. После обновления иксов просто пересобрал дрова и обновил /etc/init.d/xdm и всё работает.

kiichiro
()
Ответ на: комментарий от HTaeD

>Ну раз просит, то попробуй вписать его содержимое:

Даже это не помогло.

Делал /etc/init.d/savecache start ... OK. Но xdm все равно просит xdm-setup.

Да, если модератор сюда вдруг заглянет, s/кеды/иксы/ в заголовке темы, чтобы не путать никого.

staseg ★★★★★
() автор топика
Ответ на: комментарий от HTaeD

У меня атдейт прошёл чисто, etc-update -3, пересобрал дрова и всё.

HTaeD ★★★★
()
Ответ на: комментарий от staseg

короче на :

#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2
# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/files/xdm.initd-2,v 1.1 2010/09/12 20:45:23 chithanh Exp $

# 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

	# 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
	after bootmisc consolefont modules netmount
	after readahead-list ypbind autofs openvpn gpm lircmd
	after quota
	before alsasound

	# Start before X
	use consolekit xfs
}

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

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

	case "${MY_XDM}" in
		kdm|kde)
			EXE="$(which kdm)"
			PIDFILE=/var/run/kdm.pid
			;;
		kdm-*)
			EXE="/usr/kde/${MY_XDM#kdm-}/bin/kdm"
			PIDFILE=/var/run/kdm.pid
			;;
		entrance*)
			EXE=/usr/sbin/entranced
			PIDFILE=/var/lib/entranced.pid
			;;
		gdm|gnome)
			EXE=/usr/bin/gdm
			[ "${RC_UNAME}" != "Linux" ] && NAME=gdm-binary
			PIDFILE=/var/run/gdm.pid
			;;
		wdm)
			EXE=/usr/bin/wdm
			PIDFILE=
			;;
		gpe)
			EXE=/usr/bin/gpe-dm
			PIDFILE=/var/run/gpe-dm.pid
			;;
		*)
			# first find out if there is such executable
			EXE="$(which ${MY_XDM} 2>/dev/null)"
			PIDFILE="/var/run/${MY_XDM}.pid"

			# warn user that he is doing sick things if the exe was not found
			if [ "${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=/var/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=
	setup_dm

	if [ -f /etc/.noxdm ] || get_bootparam "nox" ; 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}"

	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>/dev/null
				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 retval=0
	local curvt=
	if [ -t 0 ] ; then
		if type fgconsole >/dev/null 2>/dev/null ; 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="$(get_options "service")"
	local myname="$(get_options "name")"
	local mypidfile="$(get_options "pidfile")"
	local myservice=${myexe##*/}

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

	ebegin "Stopping ${myservice}"

	if start-stop-daemon --quiet --test --stop --exec "${myexe}" ; 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>/dev/null ; then
			chvt "${curvt}"
		else
			vidcontrol -s "$((${curvt} + 1))"
		fi
	fi

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

# vim: set ts=4 :
это xdm оно 100% ничего не просит и просто работает

megabaks ★★★★
()
Ответ на: комментарий от megabaks

Спасибо за скрипт. Иксы он запустил без проблем, а во время остановки стал ругаться на ненайденную --pidfile, хотя в этом месте наши xdm полностью совпадали. Переименовывать файлы надоело и я сделал симлинк xdm на свой после чего кеши видимо обновились и оригинальный xdm начал работать без проблем,

Всем спасибо за участие. Но если у кого будут мысли, что именно пошло не так и как это более кошерно исправлять, буду признателен.

staseg ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.