R: Extract System and User Information

Sys.info {base} | R Documentation

## Extract System and User Information

### Description

Reports system and user information.

### Usage

    Sys.info()

### Details

This function is not implemented on all R platforms, and returns `NULL` when not available. Where possible it is based on POSIX system calls. (Under Windows, it is obtained by Windows system calls and the last three values are the same.)

`Sys.info()` returns details of the platform R is running on, whereas `R.version` gives details of the platform R was built on: the `release` and `version` may well be different.

Note that OS names might not be what you expect: for example OS X identifies itself as Darwin and Solaris as SunOS.

### Value

A character vector with fields

`sysname` | The operating system name.
`release` | The OS release.
`version` | The OS version.
`nodename` | A name by which the machine is known on the network (if any).
`machine` | A concise description of the hardware, often the CPU type.
`login` | The user's login name, or `"unknown"` if it cannot be ascertained.
`user` | The name of the real user ID, or `"unknown"` if it cannot be ascertained.
`effective_user` | The name of the effective user ID, or `"unknown"` if it cannot be ascertained. This may differ from the real user in ‘set-user-ID’ processes.

The first five fields come from the `uname(2)` system call. The login name comes from `getlogin(2)`, and the user names from `getpwuid(getuid())` and `getpwuid(geteuid())`

### Note

The meaning of OS ‘release’ and ‘version’ is system-dependent and there is no guarantee that the node or login or user names will be what you might reasonably expect. (In particular on some Linux distributions the login name is unknown from sessions with re-directed inputs.)

The use of alternatives such as `system("whoami")` is not portable: the POSIX command `system("id")` is much more portable on Unix-alikes, provided only the POSIX options are used (and not the many BSD and GNU extensions).

### See Also

`.Platform`, and `R.version`. `sessionInfo()` gives a synopsis of both your system and the R session.

### Examples

    Sys.info()
    ## An alternative (and probably better) way to get the login name on Unix
    Sys.getenv("LOGNAME")

[Package base version 3.1.2 Index]