Sys.info: Extract System and User Information

Description Usage Details Value Note See Also Examples

View source: R/files.R

Description

Reports system and user information.

Usage

1

Details

This uses POSIX or Windows system calls. Note that OS names might not be what you expect: for example OS X identifies itself as Darwin and Solaris as SunOS.

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.

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 release and version is system-dependent: on a Unix-alike they normally refer to the kernel. There, usually release contains a numeric version and version gives additional information. Examples for release:

1
2
3
4
  "4.1.3-100.fc21.x86_64"   # Linux (Fedora)
  "3.2.0-4-amd64"           # Linux (Debian)
  "14.5.0"                  # OS X 10.10.5
  "5.11"                    # Solaris

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 (and gives the OS version in a human-readable form).

Examples

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

robertzk/monadicbase documentation built on May 27, 2019, 10:35 a.m.