Close
0%
0%

Remote Linux Manager

The Remote Linux Manager is a robust, multi-threaded GUI application designed for centralising the management, monitoring, maintenance

Similar projects worth following
Remote Linux Manager to manage Ubuntu based systems: Key Features Centralised Security & Management: Manage multiple Linux PCs from one secure GUI. All SSH credentials are saved using Fernet encryption within a private SQLite database. Non-Blocking Status & Updates: Multi-threaded checks monitor the live PC status (Online/Offline) and accurately detect the count of pending apt updates without freezing the interface. Mass Action Execution: Run essential commands on multiple selected PCs instantly. Features one-click options for Run Update (apt upgrade) and Deploy Software (mass package installation). Robust Power Cycle Monitoring: Initiate Reboot/Shutdown actions confidently. “Designed for Linux tinkerers and home labber's who think Ansible is overkill.” Runs under Linux, Chrome OS (with linux subsystem), Windows and Mac OS (untested)

Detailed Project Functionality

The Remote Linux Manager is a secure, multi-threaded GUI application designed for the mass administration of Linux PCs over SSH.

Demo



Ideally this tool will run on an Ubuntu based or derivative system to administrate other Ubuntu based systems.

1. Centralized PC Management

  • Storage: Stores the hostname (or IP), username, and password for multiple remote PCs in a local SQLite database (pc_manager.db).
  • Security: Passwords are not stored in plaintext; they are secured using Fernet symmetric encryption. A unique key (.secret.key) is generated and used to encrypt/decrypt credentials.
  • Interface: Allows users to easily Add, Edit, and Delete PC entries via dedicated dialogs.
  • Resolution: Automatically attempts to resolve hostnames by appending .local (e.g., 4pi becomes 4pi.local) to support mDNS/Avahi discovery.

2. Live Status and Monitoring

  • Non-Blocking Status Check: Runs multi-threaded checks to determine if a PC is reachable and responsive via SSH.
  • Update Detection: Executes a command (apt update followed by apt list --upgradable) to determine the exact number of pending software updates on each machine.
  • Real-Time Logging: Provides a live activity log that displays connection attempts, command output, errors (Auth/SSH/Timeout), and success messages.
  • Power Cycle Monitoring: After a Reboot or Shutdown command is initiated, a dedicated monitoring thread polls the PC every 10 seconds to track its status (e.g., "Rebooting (Offline)") and confirms its successful return to service or final offline state.

3. Mass Action Execution

  • Multi-Select: Users can select and execute actions on multiple PCs simultaneously.
  • Secure Command Execution: Commands requiring root privileges use the sudo -S flag to securely pipe the decrypted password to the remote machine's standard input.
  • Run Update: Executes a full system update (apt update; apt-get upgrade -y) on the selected machines.
  • Deploy Software: Prompts the user for a list of packages and runs the corresponding installation command (apt-get install -y) on selected machines.
  • Reboot/Shutdown: Runs non-blocking power control commands (sudo -S reboot now & or sudo -S shutdown now &) followed by immediate monitoring.

Technologies and Libraries Used

Remote Access Data Persistence

ComponentTechnology / LibraryRole


Programming LanguagePython 3
ParamikoSSH connections and executing remote commands.
SQLite 3Used for the local, embedded database to store PC configuration details.
Data SecurityCryptography (Fernet)Used to generate the encryption key and securely encrypt/decrypt sensitive SSH passwords before saving them to the database.
ConcurrencyPython's threadingManages simultaneous connections, status checks, and monitoring loops to keep the main GUI responsive.
Startup & SetupShell Script (manage-pcs.sh)Handles the essential pre-flight checks: ensures Python/GTK dependencies are installed, creates a virtual environment (venv), and installs required Python packages (paramiko, cryptography) for a simple start.
ConfigurationCSS StylingUses a custom CSS provider to apply the distinctive Nord color palette and ensure a clean, modern look.

manage-pcs.zip

updated colours for pc list view that matches the coloured activity log view Fixed timing hole in management of linux mint pc's and requirement to run sudo password challenge Added Uptime and Disk Space Free to the PC List view Just download the zip file and then decompress. this will create a folder named Manage-PC within this folder run up linux sh or on windows windows bat file you may be asked sudo password to install supporting applications then it runs up and creates the database etc

Zip Archive - 19.54 kB - 11/04/2025 at 19:16

Download

  • New version has colour coded pc list view

    diddy11/04/2025 at 20:21 0 comments

    New version has colour coded PC List view that ties up with the colour coded activity log view.

    so now its very easy to follow each pc's log output.

    if running on the linux development machine under chrome os, to fix the pc name lookup, install the following on the chrome os linux temrinal :-

    sudo apt install libnss-mdns

    sudo apt install samba winbind libnss-winbind

    edit the nssswitch.conf file with :-

    sudo nano /etc/nsswitch.conf 

    edit the hosts to use wins name lookup so it should look like :-

    hosts:          files wins mdns4_minimal [NOTFOUND=return] dns

    save and exit. now the Linux remote app can be ran up with cd /manage-pcs

    ./linux.sh 

    Running on Chrome OS Flex

  • new version has coloured activity log view

    diddy10/29/2025 at 22:19 0 comments

    New version has activity log window coloured for each pc in the list.

    so much easier to follow.

    also helps if you are running multiple operations at the same time.

    e.g. updating software on one pc, whilst rebooting another pc and waiting for it to reboot.

  • New version with added Uptime and Disk Space Free

    diddy10/28/2025 at 08:16 0 comments

    Updated version with Uptime and Disk Space free to the pc list view.

    So now opening the app will refresh the PC list view by checking for updates and checking the Uptime and Disk Space Free so users can see a glance a basic health overview.

  • Running on Chrome OS

    diddy10/27/2025 at 20:45 0 comments

    Here is a screenshot from Remote Linux Manager running on Chrome OS Flex on a Macbook air 2015.
    But I did find that to run on Chrome OS, it has to be a well supported Chrome OS

  • Added ability to run from a Mac OS system

    diddy10/25/2025 at 20:02 0 comments

    Added a shell script runner for Mac OS operating systems.

    Just run mac.sh to run up.

    this is untested as i dont have a recent Mac to try it on.

    So the tool can be ran on Windows, Linux, Mac OS and Chrome OS (with Linux Subsystem installed).

    The first time running, you may be asked for a password to install python add ons needed to run the main program manager.py.

    running in the future will quickly check for installed add ons then open up Manager.py

  • New version now has Run Command window

    diddy10/24/2025 at 18:39 0 comments

    New version has run command button that the user can add commands to run.

    see screenshots

  • new version had moved away from GTK / MSYS

    diddy10/23/2025 at 22:21 0 comments

    The latest version has moved away from GTK front end for easier setup and running under Linux and Windows.

    Looks a bit more dated but I had to trade off how the tool looks for stability and ease of setup under windows and Linux.

    The only requirement now is Python and a lot easier to run up under windows.

    On first run up any additional addons will be installed so you may be asked during the first run up.

    On first run up the pyhton virtual runtime environment and the secret key is created along with the SQL lite database.

    other run up of the tool will start quicker due to everything being in place.

  • Added support to run under windows

    diddy10/21/2025 at 14:23 0 comments

    Created a batch file for windows so now this tool will run under Linux or Windows.
    Just run linux.sh on a Linux system or windows.bat.

    However, in order to run on windows, you need to have python installed.
    any extra add ons to ppython will be installed by windows.bat or linux.sh on first run up.

    Batch file has details :-

    REM ##########################################################################################
    REM #                                  USER SETUP NOTES                                      #
    REM ##########################################################################################
    REM # To run this script, the user MUST perform the following one-time setup steps:
    REM #
    REM #   Install python for windows (python 3.13 worked for me, then :
    REM #
    REM #
    REM #    a) Update the system:
    REM #       pacman -Syu
    REM # 
    REM#  this is now automated during the first run up.
    REM #    which has all pre-compiled dependencies, and launch the application.
    REM ##########################################################################################

  • New version with ability to create snapshots and revert to snapshot functionality

    diddy10/20/2025 at 14:30 0 comments

    New version now contains ability to make a snapshot of the pc's installed software list and the ability to revert to snapshot to roll a Linux PC back to its snapshot state (list of software) regardless of versions of software installed.

    This uses apt --list in the background that stores the list in the local database and when a user selects to revert a pc back to its snapshot state a new list is downloaded of installed software, compared with the copy in the database and a diff is performed. then and apt-get remove is performed on that pc to roll it back to the list of installed software.

    see pictures

View all 9 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates