Python-OS icon indicating copy to clipboard operation
Python-OS copied to clipboard

💾 An GUI operating system simulator (inspired in windows) made in python using the Tkinter module

Light mode Python OS logo! Dark mode Python OS logo!!

Python OS is an operating system simulator written in Python, with a graphical interface made with Tkinter, the graphical interface is inspired by Windows to make it more user-friendly.

This was developed from the beginning as a hobby, currently I use it to learn and apply my knowledge with Python and GUI design :).

Features

Desktop environment:

  • It is composed of a wallpaper along with a taskbar.
  • The taskbar contains a clock, volume and internet icons.
  • A start menu.
  • Draggabble windows.

Programs:

  • Terminal - you can write and execute commands.
  • File manager - You can see files and folders, change directories and see the size of each file.
  • Browser - You can browse the internet (currently it only uses html 3, so most of the pages don't work very well).

Miscellaneous:

  • Boot loader (animation).
  • BIOS.
  • RSOD (Red Screen of Death).
  • BSOD (Black Screen of Death).
  • GSOD (Green Screen of death).
  • Login (unused).
  • Desktop mode.
  • Terminal mode.
  • File system.

Some current ideas:

  • Antivirus (fake).
  • Control pane.
  • Draggable desktop icons.
  • Internet.
  • System configuration.
  • Reboot and shutdown.

Bugs

  • Dragging windows can cause their content to flicker or no longer render.
  • Sometimes taskbar buttons flicker.

Installation

Note: If you're on a on a minimal Linux installation:

  • You may need to install a desktop or window manager compatible with the python-tk package to work ._.

Download the code and unzip it, it is necessary to have Python 3.10 and have the following modules installed

  • Pillow Necessary so that the program can read the images and work.
  • Psutil Necessary for the neofetch command and some functions to work.
  • Tkinterweb Necessary for the browser to work.
  • TkinterMapView Necessary for the Map Viewer to work.

For a quick installation use the following command inside the project folder:

pip install -r requirements.txt

And double click on OS.py file to run the project or just in the command line you write

python OS.py