ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [mdk-re] User remains logged on to pts/0 after exiting X :-(
@ 2001-09-23 23:08 HB
  2001-09-24 14:40 ` Michael Shigorin
  2001-09-24 21:04 ` Sergey Vlasov
  0 siblings, 2 replies; 7+ messages in thread
From: HB @ 2001-09-23 23:08 UTC (permalink / raw)
  To: mandrake-russian

Когда я (пользователь hb) выхожу из KDE, этот выход происходит как-то
странно, "не до конца". После выхода пользователь hb с терминалом pts/0
остается logged on. Это так и должно быть?
Кроме того, если перейти на тот терминал, где до этого был KDE, нажав
Alt-F7, то мы видим пустой черный экран с мигающим на нем курсором (т. е.
это текстовый режим). Такое ощущение, что там еще "что-то осталось", в
отличие от других, на самом деле "пустых" терминалов, т. к. при нажатии
Alt-F8, Alt-F9, ..., Alt-F12 не происходит ничего.
Кто виноват? Что делать? Кому на Руси жить хорошо?

Что меня особенно удивляет, как может быть пользователь logged on,
если от его имени не запущено _ни одного_ процесса?

$ who
hb       tty1     Sep 23 16:39
root     tty2     Sep 23 19:37
hb       pts/0    Sep 23 21:31
$ w
 10:48pm  up 2 days, 23:13,  3 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU  WHAT
hb       tty1     -                 4:39pm  0.00s  0.06s  0.01s  w
root     tty2     -                 7:37pm  1:35   0.16s  0.16s  -bash

-- 
HB



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [mdk-re] User remains logged on to pts/0 after exiting X :-(
  2001-09-23 23:08 [mdk-re] User remains logged on to pts/0 after exiting X :-( HB
@ 2001-09-24 14:40 ` Michael Shigorin
  2001-09-24 18:20   ` HB
  2001-09-24 21:04 ` Sergey Vlasov
  1 sibling, 1 reply; 7+ messages in thread
From: Michael Shigorin @ 2001-09-24 14:40 UTC (permalink / raw)
  To: mandrake-russian

[-- Attachment #1: Type: text/plain, Size: 707 bytes --]

On Sun, Sep 23, 2001 at 11:13:47PM +0400, HB wrote:
> Alt-F7, то мы видим пустой черный экран с мигающим на нем курсором (т. е.
> это текстовый режим). Такое ощущение, что там еще "что-то осталось", в
man deallocvt :)

Кстати, в аттаче startx имени меня лениваго, которому лень было
выяснять, на какой VT надо сделать новый ("какой?") DISPLAY.

Поэтому упомянутый скрипт делает это за меня и мою сестренку.
С tmp он относится вроде бережно. На танцы с umask в районе 
# protect logfile
моей паранойи не хватило.

-- 
WBR, Michael Shigorin, webmaster of www.chem.univ.kiev.ua
>Home Page:  http://visa.chem.univ.kiev.ua/~mike/  ICQ: 113344029
>Brainbench: http://www.brainbench.com/transcript.jsp?pid=2434729

[-- Attachment #2: startx, который сам сделает " -- :N" и приберет за собой --]
[-- Type: text/plain, Size: 2054 bytes --]

#!/bin/sh
#
# (c) 1999 Red Hat Software, Inc.
# patched by Michael Shigorin <mike@lic145.kiev.ua>
# to open new displays automagically

bindir=/usr/X11R6/bin

userclientrc=$HOME/.xinitrc
userserverrc=$HOME/.xserverrc
sysclientrc=/etc/X11/xinit/xinitrc
sysserverrc=/etc/X11/xinit/xserverrc
clientargs=""
serverargs=" -quiet "

TMPDIR=${TMPDIR:-/tmp}

if [ -f $userclientrc ]; then
    clientargs=$userclientrc
else if [ -f $sysclientrc ]; then
    clientargs=$sysclientrc
  fi
fi

if [ -f $userserverrc ]; then
    serverargs=$userserverrc
else if [ -f $sysserverrc ]; then
    serverargs=$sysserverrc
  fi
fi

# select next free display...
if [ -n "`ls /tmp/.X*-lock 2>/dev/null`" ]; then
	display=:$[1+0$(ls /tmp/.X*-lock | tail -1 | sed -n 's/.*X\([[:digit:]]\+\)-lock$/\1/p')]
else
	display=:0
fi

whoseargs="client"
while [ "x$1" != "x" ]; do
    case "$1" in
	/''*|\.*)	if [ "$whoseargs" = "client" ]; then
		    if [ "x$clientargs" = x ]; then
			clientargs="$1"
		    else
			clientargs="$clientargs $1"
		    fi
		else
		    if [ "x$serverargs" = x ]; then
			serverargs="$1"
		    else
			serverargs="$serverargs $1"
		    fi
		fi ;;
	--)	whoseargs="server" ;;
	*)	if [ "$whoseargs" = "client" ]; then
		    clientargs="$clientargs $1"
		else
    		    case "$1" in
		        :[0-9]) display="$1"
		        ;;
                        *) serverargs="$serverargs $1"
			;;
		    esac
		fi ;;
    esac
    shift
done

# set up default Xauth info for this machine
mcookie=`mcookie`
serverargs="$serverargs -auth $HOME/.Xauthority"
xauth add $display . $mcookie
xauth add `hostname -f`$display . $mcookie

# remember which VC will be occupied by X to deallocvt it later
XINITLOG="$TMPDIR"/.startx-$HOSTNAME$display
while [ -e "$XINITLOG" ]; do
	XINITLOG="$TMPDIR"/.startx-$HOSTNAME$display-$RANDOM
done

# protect logfile
>"$XINITLOG"
chmod 600 "$XINITLOG"

xinit $clientargs -- $display $serverargs  2>&1 | tee -a "$XINITLOG"

# clean up
deallocvt $(sed -n -e 's/^(using VT number \([[:digit:]]\+\))/\1/p' "$XINITLOG") 2>/dev/null
rm -f "$XINITLOG"

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [mdk-re] User remains logged on to pts/0 after exiting X :-(
  2001-09-24 14:40 ` Michael Shigorin
@ 2001-09-24 18:20   ` HB
  0 siblings, 0 replies; 7+ messages in thread
From: HB @ 2001-09-24 18:20 UTC (permalink / raw)
  To: Michael Shigorin

Mon, Sep 24, 2001 at 12:06:28PM +0300, Michael Shigorin wrote:

> > Alt-F7, то мы видим пустой черный экран с мигающим на нем курсором (т. е.
> > это текстовый режим). Такое ощущение, что там еще "что-то осталось", в

> man deallocvt :)

Спасибо. К сожалению, deallocvt дает лишь часть желаемого эффекта. После
запуска deallocvt терминал tty7 благополучно исчез, т. е. при нажатии
Alt-F7 теперь, как и должно быть, ничего не происходит. Но воть пользователь
на консоли pts/0 как был, так и остался :-(

$ who
root     tty1     Sep 24 11:33
hb       tty2     Sep 24 10:37
root     pts/0    Sep 24 12:44   <----- Призрак отца Гамлета
$ w
  5:55pm  up 3 days, 18:20,  3 users,  load average: 0.00, 0.00, 0.00
                             ^^^^^^^ ну, двое нас, а не трое!
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU  WHAT
root     tty1     -                11:33am 48:12   0.11s  0.11s  -bash
hb       tty2     -                10:37am  0.00s  0.74s  0.01s  w

Ведь не пользуется pts/0 никто:

$ ps -aux | grep [p]ts | wc -l
      0

-- 
HB



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [mdk-re] User remains logged on to pts/0 after exiting X :-(
  2001-09-23 23:08 [mdk-re] User remains logged on to pts/0 after exiting X :-( HB
  2001-09-24 14:40 ` Michael Shigorin
@ 2001-09-24 21:04 ` Sergey Vlasov
  2001-09-27 14:30   ` HB
  1 sibling, 1 reply; 7+ messages in thread
From: Sergey Vlasov @ 2001-09-24 21:04 UTC (permalink / raw)
  To: mandrake-russian

On Sun, 23 Sep 2001 23:13:47 +0400
HB <npecca@yahoo.com> wrote:

> Когда я (пользователь hb) выхожу из KDE, этот выход происходит как-то
> странно, "не до конца". После выхода пользователь hb с терминалом pts/0
> остается logged on. Это так и должно быть?

Интересно было бы посмотреть на вывод /usr/sbin/lsof /dev/pts/0
во время работы KDE и после выхода (когда остался висящий
пользователь), чтобы выяснить, что за процесс зарегистрировал
вход на псевдотерминале, и остался ли он после завершения работы
KDE.

> Кроме того, если перейти на тот терминал, где до этого был KDE, нажав
> Alt-F7, то мы видим пустой черный экран с мигающим на нем курсором (т. е.
> это текстовый режим). Такое ощущение, что там еще "что-то осталось", в
> отличие от других, на самом деле "пустых" терминалов, т. к. при нажатии
> Alt-F8, Alt-F9, ..., Alt-F12 не происходит ничего.

Так Вы запускаете KDE через startx?  Тогда так и должно быть - X
занимает виртуальную консоль под себя, а после завершения
освобождает, но не уничтожает. Для окончательного уничтожения
есть утилита deallocvt (сам не пробовал, только смотрел
описание).

> Кто виноват? Что делать? Кому на Руси жить хорошо?

> Что меня особенно удивляет, как может быть пользователь logged on,
> если от его имени не запущено _ни одного_ процесса?

Возможно, например, кто-то не убрал за собой запись в
/var/run/utmp.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [mdk-re] User remains logged on to pts/0 after exiting X :-(
  2001-09-24 21:04 ` Sergey Vlasov
@ 2001-09-27 14:30   ` HB
  2001-09-27 19:42     ` Sergey Vlasov
  0 siblings, 1 reply; 7+ messages in thread
From: HB @ 2001-09-27 14:30 UTC (permalink / raw)
  To: Sergey Vlasov

Mon, Sep 24, 2001 at 08:02:56PM +0400, Sergey Vlasov wrote:

> > Когда я (пользователь hb) выхожу из KDE, этот выход происходит как-то
> > странно, "не до конца". После выхода пользователь hb с терминалом pts/0
> > остается logged on. Это так и должно быть?
> 
> Интересно было бы посмотреть на вывод /usr/sbin/lsof /dev/pts/0
> во время работы KDE

COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME
cat     7126   hb    0u   CHR  136,0         2 /dev/pts/0
cat     7126   hb    1u   CHR  136,0         2 /dev/pts/0
cat     7126   hb    2u   CHR  136,0         2 /dev/pts/0

> и после выхода (когда остался висящий пользователь),

lsof: status error on /dev/pts/0: No such file or directory
lsof 4.55 (latest revision at ftp://vic.cc.purdue.edu/pub/tools/unix/lsof)
 usage: [-?abhlnNoOPRstUvV] [-c c] [+|-d s] [+D D] [+|-f]
 [-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+|-M] [-o [o]] [-p s]
 [+|-r [t]] [-S [t]] [-T [t]] [-u s] [+|-w] [--] [names]
Use the ``-h'' option to get more help information.

> чтобы выяснить, что за процесс зарегистрировал вход на псевдотерминале,
> и остался ли он после завершения работы KDE.

К сожалению, я не понимаю/не знаю, как это выяснить. Единственное,
что мне пришло в голову, это проверить, остался ли после выхода из KDE
процесс с PID 7126 (единственный, к-рый присутствовал в выводе
`lsof /dev/pts/0` во время работы KDE (см. 20-ю строками выше). Нет,
такого процесса больше нет.
 
> > Кроме того, если перейти на тот терминал, где до этого был KDE, нажав
> > Alt-F7, то мы видим пустой черный экран с мигающим на нем курсором (т. е.
> > это текстовый режим). Такое ощущение, что там еще "что-то осталось", в
> > отличие от других, на самом деле "пустых" терминалов, т. к. при нажатии
> > Alt-F8, Alt-F9, ..., Alt-F12 не происходит ничего.
> 
> Так Вы запускаете KDE через startx?

Да.

> Тогда так и должно быть - X занимает виртуальную консоль под себя,
> а после завершения освобождает, но не уничтожает. Для окончательного
> уничтожения есть утилита deallocvt

Да, я ей воспользовался. Просто `deallocvt` уничтожает tty7. Но меня
наличие tty7 и не смущало особо. А вот пользователь-призрак на pts/0
остается, что, все-таки, не очень приятно: по меньшей мере, `w` и `who`
начинают "врать". И это при том, что самого терминала /dev/pts/0 после
выхода из KDE нет

$ who
hb       tty1     Sep 27 10:56
hb       pts/0    Sep 27 12:44
$ ls -Al /dev/pts
total 0

> > Что меня особенно удивляет, как может быть пользователь logged on,
> > если от его имени не запущено _ни одного_ процесса?
> 
> Возможно, например, кто-то не убрал за собой запись в /var/run/utmp.

Я посмотрел на этот /var/run/utmp, там есть строка "pts/0". Похоже,
что оттуда, действительно, кто-то не убрал какую-то запись. Но как
с этим бороться? Ведь, кроме прочего, я сам (обычный пользователь hb)
писать в этот файл не могу, т. к. я не root и не член utmp:
-rw-rw-r--    1 root     utmp         4992 Sep 27 13:27 /var/run/utmp

-- 
HB



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [mdk-re] User remains logged on to pts/0 after exiting X :-(
  2001-09-27 14:30   ` HB
@ 2001-09-27 19:42     ` Sergey Vlasov
  2001-09-27 22:14       ` HB
  0 siblings, 1 reply; 7+ messages in thread
From: Sergey Vlasov @ 2001-09-27 19:42 UTC (permalink / raw)
  To: mandrake-russian

On Thu, 27 Sep 2001 14:09:51 +0400
HB <npecca@yahoo.com> wrote:

> Mon, Sep 24, 2001 at 08:02:56PM +0400, Sergey Vlasov wrote:
> 
> > > Когда я (пользователь hb) выхожу из KDE, этот выход происходит как-то
> > > странно, "не до конца". После выхода пользователь hb с терминалом pts/0
> > > остается logged on. Это так и должно быть?
> > 
> > Интересно было бы посмотреть на вывод /usr/sbin/lsof /dev/pts/0
> > во время работы KDE
> 
> COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME
> cat     7126   hb    0u   CHR  136,0         2 /dev/pts/0
> cat     7126   hb    1u   CHR  136,0         2 /dev/pts/0
> cat     7126   hb    2u   CHR  136,0         2 /dev/pts/0

Похоже вот на это:

 4801 ?        S      0:01 kdeinit: kwrited
 4803 pts/0    S      0:00  \_ /bin/cat

kwrited вроде бы отвечает за прием сообщений от команды write.
Похоже, в нем есть ошибка - неубирание записи из utmp при
выходе.  KDE у меня пока старая (из Spring), так что по поводу
наличия этой ошибки в новой версии ничего сказать не могу.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [mdk-re] User remains logged on to pts/0 after exiting X :-(
  2001-09-27 19:42     ` Sergey Vlasov
@ 2001-09-27 22:14       ` HB
  0 siblings, 0 replies; 7+ messages in thread
From: HB @ 2001-09-27 22:14 UTC (permalink / raw)
  To: Sergey Vlasov

Thu, Sep 27, 2001 at 07:57:46PM +0400, Sergey Vlasov wrote:

> > > > Когда я (пользователь hb) выхожу из KDE, этот выход происходит как-то
> > > > странно, "не до конца". После выхода пользователь hb с терминалом pts/0
> > > > остается logged on. Это так и должно быть?
> > > 
> > > Интересно было бы посмотреть на вывод /usr/sbin/lsof /dev/pts/0
> > > во время работы KDE
> > 
> > COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME
> > cat     7126   hb    0u   CHR  136,0         2 /dev/pts/0
> > cat     7126   hb    1u   CHR  136,0         2 /dev/pts/0
> > cat     7126   hb    2u   CHR  136,0         2 /dev/pts/0
> 
> Похоже вот на это:
> 
>  4801 ?        S      0:01 kdeinit: kwrited
>  4803 pts/0    S      0:00  \_ /bin/cat
> 
> kwrited вроде бы отвечает за прием сообщений от команды write.
> Похоже, в нем есть ошибка - неубирание записи из utmp при
> выходе.  KDE у меня пока старая (из Spring), так что по поводу
> наличия этой ошибки в новой версии ничего сказать не могу.

Благодарю Вас за помощь, Сергей.

У меня чистая инсталляция Spring 2001, никаких обновлений. Т. е.,
по всей видимости, у нас с Вами одинаковые KDE.

Возможно ли бороться с этой ошибкой (т. е. каким-то образом "очистить"
utmp от мусора, или что-то в таком духе)?

-- 
HB



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2001-09-27 22:14 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-09-23 23:08 [mdk-re] User remains logged on to pts/0 after exiting X :-( HB
2001-09-24 14:40 ` Michael Shigorin
2001-09-24 18:20   ` HB
2001-09-24 21:04 ` Sergey Vlasov
2001-09-27 14:30   ` HB
2001-09-27 19:42     ` Sergey Vlasov
2001-09-27 22:14       ` HB

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git