[mdk-re] User remains logged on to pts/0 after exiting X :-(

HB =?iso-8859-1?q?npecca_=CE=C1_yahoo=2Ecom?=
Чт Сен 27 14:30:56 MSD 2001


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




Подробная информация о списке рассылки community