# w

## NAME



           w - Show who is logged on and what they are doing.
    


## SYNOPSIS



           **w**[_option_ ...] [_user_]
    


## DESCRIPTION



           **w** displays information about the users currently on the machine,
           and their processes.  The header shows, in this order, the current
           time, how long the system has been running, how many users are
           currently logged on, and the system load averages for the past 1,
           5, and 15 minutes.
    
           The following entries are displayed for each user: login name, the
           tty name, the remote host, login time, idle time, JCPU, PCPU, and
           the command line of their current process.
    
           The JCPU time is the time used by all processes attached to the
           tty.  It does not include past background jobs, but does include
           currently running background jobs.
    
           The PCPU time is the time used by the current process, named in
           the "what" field.
    


## OPTIONS



           **-c** , **--container**
                  show the container uptime instead of system uptime in the
                  header.
    
           **-h** , **--no-header**
                  Don't print the header.
    
           **-u** , **--no-current**
                  Ignores the username while figuring out the current process
                  and cpu times.  To demonstrate this, do a **su** and do a **w** and
                  a **w -u**.
    
           **-s** , **--short**
                  Use the short format.  Don't print the login time, JCPU or
                  PCPU times.
    
           **-t** , **--terminal**
                  Usually **w** will use either the systemd sessions table or the
                  utmp file to locate users.  In _terminal mode_ **w** will scan
                  the terminal devices and locate user sessions this way.
                  This is not a true count of users, for example a user with
                  two xterms will show up twice, so the user count in the
                  header will be different. Currently terminal devices
                  scanned are _/dev/tty*_ and _/dev/pts/*_.
    
           **-f** , **--from**
                  Toggle printing the **from**(remote hostname) field.  The
                  default as released is for the **from** field to not be
                  printed, although your system administrator or distribution
                  maintainer may have compiled a version in which the **from**
                  field is shown by default.
    
           **--help** Display help text and exit.
    
           **-i** , **--ip-addr**
                  Display IP address instead of hostname for **from** field.
    
           **-p** , **--pids**
                  Display pid of the login process/the "what" process in the
                  "what" field.  The login process is also called the session
                  leader.
    
           **-V** , **--version**
                  Display version information.
    
           **-o** , **--old-style**
                  Old style output.  Prints blank space for idle times less
                  than one minute.
    
           **user** Show information about the specified user only.
    


## ENVIRONMENT



           **PROCPS_CONTAINER**
                  If $**PROCPS_CONTAINER** is set, then **w** behaves as if the
                  **--container** option has been given.
    
           **PROCPS_USERLEN**
                  Override the default width of the username column.
                  Defaults to 8.
    
           **PROCPS_FROMLEN**
                  Override the default width of the from column.  Defaults to
                  16.
    


## FILES



           _/var/run/utmp_
                  information about who is currently logged on, only for non-
                  systemd hosts.
    
           _/proc_  process information
    
           _/dev/tty*_ , _/dev/pts/*_
                  Terminal device files scanned with **--terminal** mode.
    


## BUGS



           When using **--terminal** option, **w** assumes processes with a parent
           PID of 0 or 1 are
    
           Idle time for users on certain sessions, such as X/Wayland
           sessions, will be incorrect. The **--terminal** option will show the
           correct idle times for terminal sessions on X/Wayland.
    
           agetty(8) processes and will not display them. This is prone to
           both false postive and negative errors.
    


* * *