From fc016ae780860e3c7a7b65dc0828439b9f78cfcc Mon Sep 17 00:00:00 2001 From: xzeldon Date: Tue, 7 Jun 2022 22:36:05 +0300 Subject: [PATCH] new screenshot --- README | 106 +++++++++++++++++++++++++++++++++------------------------ 1 file changed, 61 insertions(+), 45 deletions(-) diff --git a/README b/README index 55372b43..46c6dc1e 100644 --- a/README +++ b/README @@ -8,7 +8,7 @@ [![Packaging status](https://repology.org/badge/tiny-repos/htop.svg)](https://repology.org/project/htop/versions) [![License: GPL v2+](https://img.shields.io/badge/License-GPL%20v2+-blue.svg)](COPYING?raw=true) -![Screenshot of htop](docs/images/screenshot.png?raw=true) +![Screenshot of htop](https://i.imgur.com/dCSsvSv.png) ## Introduction @@ -30,55 +30,66 @@ For more information and details visit [htop.dev](https://htop.dev). ## Build instructions ### Prerequisite + List of build-time dependencies: - * standard GNU autotools-based C toolchain - - C99 compliant compiler - - `autoconf` - - `autotools` - * `ncurses` + +* standard GNU autotools-based C toolchain + * C99 compliant compiler + * `autoconf` + * `autotools` +* `ncurses` **Note about `ncurses`:** > `htop` requires `ncurses` 6.0. Be aware the appropriate package is sometimes still called libncurses5 (on Debian/Ubuntu). Also `ncurses` usually comes in two flavours: +> >* With Unicode support. >* Without Unicode support. > > This is also something that is reflected in the package name on Debian/Ubuntu (via the additional 'w' - 'w'ide character support). List of additional build-time dependencies (based on feature flags): -* `sensors` -* `hwloc` -* `libcap` (v2.21 or later) -* `libnl-3` + +* `sensors` +* `hwloc` +* `libcap` (v2.21 or later) +* `libnl-3` Install these and other required packages for C development from your package manager. **Debian/Ubuntu** + ~~~ shell sudo apt install libncursesw5-dev autotools-dev autoconf build-essential ~~~ **Fedora/RHEL** + ~~~ shell sudo dnf install ncurses-devel automake autoconf gcc ~~~ **Archlinux/Manjaro** + ~~~ shell sudo pacman -S ncurses automake autoconf gcc ~~~ **macOS** + ~~~ shell brew install ncurses automake autoconf gcc ~~~ -### Compile from source: +### Compile from source + To compile from source, download from the Git repository (`git clone` or downloads from [GitHub releases](https://github.com/htop-dev/htop/releases/)), then run: + ~~~ shell ./autogen.sh && ./configure && make ~~~ ### Install + To install on the local system run `make install`. By default `make install` installs into `/usr/local`. To change this path use `./configure --prefix=/some/path`. ### Build Options @@ -87,67 +98,70 @@ To install on the local system run `make install`. By default `make install` ins #### Generic - * `--enable-unicode`: +* `--enable-unicode`: enable Unicode support - - dependency: *libncursesw* - - default: *yes* - * `--enable-affinity`: + * dependency: *libncursesw* + * default: *yes* +* `--enable-affinity`: enable `sched_setaffinity(2)` and `sched_getaffinity(2)` for affinity support; conflicts with hwloc - - default: *check* - * `--enable-hwloc`: + * default: *check* +* `--enable-hwloc`: enable hwloc support for CPU affinity; disables affinity support - - dependency: *libhwloc* - - default: *no* - * `--enable-static`: + * dependency: *libhwloc* + * default: *no* +* `--enable-static`: build a static htop binary; hwloc and delay accounting are not supported - - default: *no* - * `--enable-debug`: + * default: *no* +* `--enable-debug`: Enable asserts and internal sanity checks; implies a performance penalty - - default: *no* + * default: *no* #### Performance Co-Pilot - * `--enable-pcp`: +* `--enable-pcp`: enable Performance Co-Pilot support via a new pcp-htop utility - - dependency: *libpcp* - - default: *no* + * dependency: *libpcp* + * default: *no* #### Linux - * `--enable-sensors`: +* `--enable-sensors`: enable libsensors(3) support for reading temperature data - - dependencies: *libsensors-dev*(build-time), at runtime *libsensors* is loaded via `dlopen(3)` if available - - default: *check* - * `--enable-capabilities`: + * dependencies: *libsensors-dev*(build-time), at runtime *libsensors* is loaded via `dlopen(3)` if available + * default: *check* +* `--enable-capabilities`: enable Linux capabilities support - - dependency: *libcap* - - default: *check* - * `--with-proc`: + * dependency: *libcap* + * default: *check* +* `--with-proc`: location of a Linux-compatible proc filesystem - - default: */proc* - * `--enable-openvz`: + * default: */proc* +* `--enable-openvz`: enable OpenVZ support - - default: *no* - * `--enable-vserver`: + * default: *no* +* `--enable-vserver`: enable VServer support - - default: *no* - * `--enable-ancient-vserver`: + * default: *no* +* `--enable-ancient-vserver`: enable ancient VServer support (implies `--enable-vserver`) - - default: *no* - * `--enable-delayacct`: + * default: *no* +* `--enable-delayacct`: enable Linux delay accounting support - - dependencies: *pkg-config*(build-time), *libnl-3* and *libnl-genl-3* - - default: *check* + * dependencies: *pkg-config*(build-time), *libnl-3* and *libnl-genl-3* + * default: *check* +## Runtime dependencies -## Runtime dependencies: `htop` has a set of fixed minimum runtime dependencies, which is kept as minimal as possible: + * `ncurses` libraries for terminal handling (wide character support). -### Runtime optional dependencies: +### Runtime optional dependencies + `htop` has a set of fixed optional dependencies, depending on build/configure option used: #### Linux + * `libdl`, if not building a static binary, is always required when support for optional dependencies (i.e. `libsensors`, `libsystemd`) is present. * `libcap`, user-space interfaces to POSIX 1003.1e capabilities, is always required when `--enable-capabilities` was used to configure `htop`. * `libsensors`, readout of temperatures and CPU speeds, is optional even when `--enable-sensors` was used to configure `htop`. @@ -156,11 +170,13 @@ To install on the local system run `make install`. By default `make install` ins `htop` checks for the availability of the actual runtime libraries as `htop` runs. #### BSD + On most BSD systems `kvm` is a requirement to read kernel information. More information on required and optional dependencies can be found in [configure.ac](configure.ac). ## Usage + See the manual page (`man htop`) or the help menu (**F1** or **h** inside `htop`) for a list of supported key commands. ## Support