Я пытаюсь найти Linux-эквивалент запуска who -m
в Unix. В Unix who -m
дает первый идентификатор пользователя, который вы использовали для входа в систему, перед запуском любых новых сеансов оболочки через su
, и т.д.
В -m
переключиться на who
имеет другой эффект в Linux, и я пока не могу найти на страницах руководства ничего, имеющего отношение к моим потребностям.
Обновление: мой ответ (кто я) правильный, ваш терминал либо сломан, либо неправильно настроен для поддержки функциональности.
Основываясь на комментариях, я провел еще несколько исследований и спросил друг помогать. Вы не говорите, какой терминал используете, но он, скорее всего, делает то же самое, что и gnome-terminal.
В отношении gnome-terminal* при запуске терминала он не обновляет файл utmp. Похоже, это дизайнерское решение. Позже, когда кто читает utmp, чтобы узнать соответствующую информацию, ее там нет, поэтому он просто выходит и ничего не печатает.
* Я пробую xterm, konsole и ssh в различных дистрибутивах.
Вы хотите who am i
который печатает вызывающего пользователя, а не whoami
который сообщает вам имя текущего эффективного пользователя
Если задано два аргумента, не являющихся опциями, «who» печатает только запись для пользователя, запустившего ее (определенную из стандартного ввода), которому предшествует имя хоста. Традиционно используются два аргумента «есть я», как в «кто я».
Это похоронено в info coreutils 'who invocation'
Так интересно (в системе на основе linux coreutils) who xyzzy plugh
тоже работает.