ubuntuusers.de

who

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Hinweis:

Dieser Artikel beschreibt die alte Implementation des Programms. Ab Ubuntu 24.04 ist auch mit Paket rust-coreutils 🇬🇧 eine neue Implementierung in der Programmiersprache Rust für Ubuntu verfügbar, und ab Ubuntu Version 25.10 wird die Implementierung in Rust als Standard bevorzugt.

Die Implementierung in Rust strebt Funktionsgleichheit mit der alten Implementierung an. Es können aber kleine Abweichungen auftreten. Dies bedeutet, dass das hier Beschriebene von der am eigenen Rechner vorgefundenen Situation abweichen kann.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/terminal.png Mit dem Befehl who ist es möglich, eine Vielzahl an Informationen über sowohl lokal als auch remote angemeldete Benutzer zu erhalten. Der Befehl gibt dabei aus:

Hinweis:

Unter 25.10 und 26.04 bringt who keine Ausgabe. Dabei ist es egal, ob die gnu-coreutils

oder rust-coreutils aktiv sind.

Man kann sich evtl. mit w behelfen, wobei das aber auch nicht fehlerfrei arbeitet:

Installation

 

  • Bis Ubuntu 25.04 ist das Programm im essentiellen Paket coreutils enthalten und deshalb auf jedem System installiert. Diese Variante beruht auf den altbekannten GNU Core Utilities.

  • Ab 25.10 ist das Paket coreutils 🇬🇧 jedoch ein Metapaket, welches alternativ durch gnu-coreutils 🇬🇧 oder rust-coreutils 🇬🇧 oder weitere befriedigt werden kann.

  • Bei 25.10 und 26.04 installiert das Paket coreutils-from-uutils 🇬🇧 beide vorstehend genannten Pakete und aktiviert die rust-coreutils als Vorgabe. Siehe Artikel rust-coreutils zur Umstellung auf die GNU-Utilities.

  • Ab 26.10 soll aber coreutils-from-uutils nur noch die rust-coreutils installieren. Wer dann die alten gnu-coreutils verwenden will, muss coreutils-from-gnu 🇬🇧 manuell installieren.

Benutzung

Die Syntax von who ist recht einfach [1]

who <Option(en)> [Dateiname] 

Sowohl die Option(en) als auch der Dateiname sind dabei optional.

Optionen

who kennt folgende Optionen:

Option Beschreibung
-a oder --all Alle Optionen
-b oder --boot Zeitpunkt des letzten Systemstarts
-d oder --dead Inaktive Prozesse ausgeben
-H oder --heading Beschriftet die Spalten der Ausgabe.
--ips Die IPs statt der Rechnernamen ausgeben.
-l oder --login Loginprozesse des Systems ausgeben.
--lookup Rechnernamen der remote User werden ausgegeben.
-m Gibt Informationen über den Benutzer aus, der am Terminal angemeldet ist.
-p oder --process Aktive Prozesse anzeigen
-q oder --count Gibt die angemeldeten Benutzer durchnummeriert aus.
-r oder --runlevel Der aktuelle Runlevel wird ausgegeben.
-s oder --short Name, Leitung und Zeit werden ausgegeben.
-t oder --time Zeitpunkt der letzten Änderung der Systemuhr wird ausgegeben.
-T, -w Gibt aus, ob man den angemeldeten Benutzer über mesg kontaktieren kann.
--writeable oder --message Dasselbe wie -T
-u oder --users Alle angemeldeten User auflisten.
--help Hilfe zum Befehl wird ausgegeben.
--version Versionsinformationen

Dateien

Im Folgenden einige Dateien inklusive voller Pfadangabe, die in Kombination mit who interessante Informationen liefern können:

Datei Beschreibung
/var/run/utmp Angaben über aktuell angemeldete Benutzer (Default)
/var/log/wtmp Angaben über vergangene Anmeldungen
/var/log/btmp Angaben über missglückte Anmeldungen

Beispiel

Der Befehl

$ who --all -H 

kann z.B. folgende Ausgabe erzeugen:

NAME       LEITUNG      ZEIT                          PID KOMMENTAR EXIT
           system boot  2007-05-23 15:58
           Runlevel 2   2007-05-23 15:58                   last=
LOGIN      tty4         2007-05-23 15:58              4570 id=4
LOGIN      tty5         2007-05-23 15:58              4571 id=5
LOGIN      tty2         2007-05-23 15:58              4576 id=2
LOGIN      tty3         2007-05-23 15:58              4577 id=3
LOGIN      tty1         2007-05-23 15:58              4578 id=1
LOGIN      tty6         2007-05-23 15:58              4579 id=6
user     ? :0           2007-05-23 15:59   ?          5749
user     + pts/0        2007-05-23 16:40   .          7954 (:0.0)
  • Zeile 1: In diesem Falle erfolgte das Starten des Systems am 23.05.2007 um 15:58.

  • Zeile 2: Hier wird dokumentiert, dass das System am 23.05.2007 um 15:58 in den Runlevel 2 wechselte.

  • Zeile 3 - 8: Aus diesen Zeilen kann man ersehen, dass die Terminals 4 - 6 am 23.05.2007 um 15:58 gestartet wurden.

  • Zeile 9: Hier wird angegeben, dass der X-Server am 23.05.2007 um 15:59 gestartet ist.

  • Zeile 10: Eine Pseudokonsole wurde am 23.05.2007 um 16:40 gestartet.

  • "tty" sind dabei "echte" Konsolen

  • "pts" eine Pseudokonsole unter einer X-Sitzung

  • ":0" eine X-Server-Sitzung

Diese Revision wurde am 6. Oktober 2026 20:14 von Ruth-Wies erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Shell