Столкнулся с такой надобностью: пишу скрипт для работы которому необходимо узнать текущий список работающих в системе в данный момент пользователей. Скрипт работает от root'а. Думал формировать список с who, но не тут то было. Если пользователь вошел в X через *dm, то его нет в списке (во всяком случае пока не запустит терминал). Что не совсем понял:
1. Это особенность Debian-6? Пробовал в других дистрах - работает, все пользователи отображаются и от способа входа это не зависит.
2. Если я ошибаюсь, то какой командой следует воспользоваться, или какие параметры использовать.
3. Может какие-то дополнительные соображения?
Проблема с who на Debian-6 (Нет списка пользователей от root)
Модераторы: Warderer, Модераторы разделов
-
diesel
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
Re: Проблема с who на Debian-6
Вообще всех показывает:
diesel - как раз таки имеет запущенный Гном, без терминалов. С терминалом было бы вот так:
можно еще who -u, например, или вообще who -a.
Код: Выделить всё
$ who
diesel tty7 2011-04-02 16:47 (:0)
test pts/0 2011-04-02 18:06 (192.168.0.7)diesel - как раз таки имеет запущенный Гном, без терминалов. С терминалом было бы вот так:
Код: Выделить всё
$ who
diesel tty7 2011-04-02 16:47 (:0)
test pts/0 2011-04-02 18:06 (192.168.0.7)
diesel pts/1 2011-04-02 18:08 (:0.0)можно еще who -u, например, или вообще who -a.
Спасибо сказали:
-
UserOnStart
- Сообщения: 231
- ОС: Slackware
Re: Проблема с who на Debian-6
Понятно, спасибо. Этого я и ожидал. Значит имеет место некий локально-персональный косяк. Может у кого есть идеи по поводу как оно фиксится должно? Права 644 root:wtmp. Что еще можно посмотреть?
Странное дело - рут видит только текстово-терминальные сессии пользователей, в то время как сами пользователи видят все как надо - и себя и других в графике и терминалы свои и других пользователей...
флажки ничего не решают :-(
Странное дело - рут видит только текстово-терминальные сессии пользователей, в то время как сами пользователи видят все как надо - и себя и других в графике и терминалы свои и других пользователей...
флажки ничего не решают :-(
-
diesel
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
Re: Проблема с who на Debian-6
UserOnStart писал(а): ↑04.04.2011 16:41Понятно, спасибо. Этого я и ожидал. Значит имеет место некий локально-персональный косяк. Может у кого есть идеи по поводу как оно фиксится должно? Права 644 root:wtmp. Что еще можно посмотреть?
Странное дело - рут видит только текстово-терминальные сессии пользователей, в то время как сами пользователи видят все как надо - и себя и других в графике и терминалы свои и других пользователей...
флажки ничего не решают :-(
может какие-то aliasы(если вы пробуете строчку исполнить в CLI)? может быть исполняется другой who? - попробовать сравнить whereis who для пользователя и для root'а - указывают ли они на один и тот же бинарник? Попробовать указать полный путь к бинарнику?
Спасибо сказали:
-
UserOnStart
- Сообщения: 231
- ОС: Slackware
Re: Проблема с who на Debian-6
bin'арник в системе один. Пробовал пересобирать coreutils, куда ху и входит и стартовать его из отдельной диры. Ничего не дало (следовало ожидать). Переустановили базовые пакеты - по нулям. Тест установочного медиа и поверхности винта говорят все гут. Задолбало ловить блоху, в общем, сделали слив списка пакетов и переустановили с 0, благо пресетов и опциона накрутить не успели. Все завелось, более того работать стало несколько шустрее. Теряюсь в догадках что бы это могло все таки быть, но тема больше не актуальна, разве только если кто еще на такие грабли нарвется. Спасибо за наводки.
-
nibbler
- Сообщения: 42
- ОС: debian
Re: Проблема с who на Debian-6
что выдает
w
??
это более информативный чем who
w
??
это более информативный чем who
-
UserOnStart
- Сообщения: 231
- ОС: Slackware
Re: Проблема с who на Debian-6
Прошу прощения что давно не писал. Всем спасибо за подсказки.
Наконец разобрался. Печальное дело, однако. Почему-то разные *dm'ы и разные окружения пользователя по разному реагируют на вход пользователя. Выяснилось что wdm, xdm, kdm - делают все единообразно, при входе создают по одной записи для каждого вошедшего пользователя, а вот gdm3, почему-то, создает этих записей две. Соответственно Gnome, похоже, зная об такой "особенности", после входа одну запись из списка убирает. Как результат - если мы входим из gdm в Gnome или из kdm в KDE, то все нормально, а вот если у нас перекрестный вариант (например, один dm и много окружений), то либо появляются лишние записи, либо их на одну меньше чем должно быть.
Песня примерно того же рода как и вопрос: "Почему в КДЕ Гномовые приложения в трее криво отображаются?"
По поводу w и прочих подмен who - в мане написано что они все берут информацию из одних и тех же файлов - utmp, wtmp, а там она хранится в неудобочитаемом виде. Так что вывод подобных команд одинаков (специально пробовал), в том смысле что если нет пользователя в who, его не будет и в w.
Наконец разобрался. Печальное дело, однако. Почему-то разные *dm'ы и разные окружения пользователя по разному реагируют на вход пользователя. Выяснилось что wdm, xdm, kdm - делают все единообразно, при входе создают по одной записи для каждого вошедшего пользователя, а вот gdm3, почему-то, создает этих записей две. Соответственно Gnome, похоже, зная об такой "особенности", после входа одну запись из списка убирает. Как результат - если мы входим из gdm в Gnome или из kdm в KDE, то все нормально, а вот если у нас перекрестный вариант (например, один dm и много окружений), то либо появляются лишние записи, либо их на одну меньше чем должно быть.
Песня примерно того же рода как и вопрос: "Почему в КДЕ Гномовые приложения в трее криво отображаются?"
По поводу w и прочих подмен who - в мане написано что они все берут информацию из одних и тех же файлов - utmp, wtmp, а там она хранится в неудобочитаемом виде. Так что вывод подобных команд одинаков (специально пробовал), в том смысле что если нет пользователя в who, его не будет и в w.
-
Nazyvaemykh
- Сообщения: 438
- Статус: Подопытный участник
Re: Проблема с who на Debian-6
Вообще, может быть, посмотреть на ConsoleKit? Я не очень-то в этом разбираюсь/ориентируюсь, но, по-идее, ConsoleKit как раз и нужен для того, чтобы знать/управлять тем, кто где сидит, кто как залогинился?
¡ Страсть к разрушению есть творческая страсть!
-
Nazyvaemykh
- Сообщения: 438
- Статус: Подопытный участник
Re: Проблема с who на Debian-6
Команда ck-list-sessions должна помочь… Особенно, если используется модуль PAM pam_ck_connector.so
¡ Страсть к разрушению есть творческая страсть!