Home

Awesome

PCtrl - Linux Process/Task Manager based on Rust

Pctrl is a robust, featureful, easy-to-use and powerful process manager based on the Rust programming language. It provides an overview of the system, as in what processes are currently running and the system, and gives administrators control to manipulate these processes. Pctrl is designed to compete with all currently available Linux process managers by providing powerful controls as well as a friendly interface choice of running in either a Terminal User Interface (TUI), Graphical User Interface (GUI) or both.

We have built this project as part of the Operating Systems (CSCE 3401) course at the American University in Cairo with the aim to experiment and learn the rust programming language.

Demo

TUI

TUI

GUI

GUI

Features

Installation

Deb Package

  1. Download the deb package from the releases page
  2. Install the package using
    sudo apt install ./pctrl_1.0.0_amd64.deb
    

AppImage

  1. Download the AppImage from the releases page
  2. Make the AppImage executable
    chmod +x pctrl_1.0.0_amd64.AppImage
    
  3. Run the AppImage
    ./pctrl_1.0.0_amd64.AppImage
    

Building from source

  1. Clone the repository
    git clone https://github.com/MohamedSherifNoureldin/PCtrl
    
  2. Install system dependencies
    sudo apt update
    sudo apt install libwebkit2gtk-4.0-dev \
            build-essential \
            curl \
            wget \
            libssl-dev \
            libgtk-3-dev \
            libayatana-appindicator3-dev \
            librsvg2-dev \
            libncursesw5-dev
    
  3. Install Rust
    curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
    
  4. Install the latest LTS version of Node & NPM
  5. Install Tauri-CLI
    cargo install tauri-cli
    
  6. Install Node packages
    npm install
    
  7. Build the project
    cargo tauri build
    
  8. Build results will be located in the src-tauri/target/release directory

Usage

Directory Structure

Authors