/Python-OS

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

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

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