Skip to content
ย 
ย 

Latest commit

ย 

History

25 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

A fully functional Ubuntu-style desktop environment running entirely in your browser.

Live Demo React TypeScript Vite


โœจ What Makes It Unique

Unlike mockup UIs or simple component demos, WebUbuntu is a real working desktop:

  • ๐ŸชŸ Window Manager: Drag, resize, minimize, maximize, and Alt+Tab between windows
  • ๐Ÿ“ Simulated Filesystem: Full in-memory file tree with directories, files, permissions, and path navigation
  • ๐Ÿ’ป Working Terminal: Bash-like shell with cd, ls, mkdir, cat, pwd, clear, and more
  • ๐Ÿ—‚๏ธ File Manager: Browse folders, create files/folders, rename, and navigate breadcrumbs
  • ๐ŸŽฎ 30+ Built-in Apps: From productivity tools to games to dev utilities

๐Ÿš€ Live Demo

โžก๏ธ web-linux-delta.vercel.app

Open it in any modern browser, no installation needed.


๐Ÿ“ธ Preview

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  ๐Ÿง WebUbuntu                    โ”€ โ–ก โœ•  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  ๐Ÿ–ฅ๏ธ Desktop                             โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚Terminal โ”‚  โ”‚ File    โ”‚  โ”‚ Snake   โ”‚  โ”‚
โ”‚  โ”‚  $ _    โ”‚  โ”‚ Manager โ”‚  โ”‚  ๐Ÿ     โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                         โ”‚
โ”‚  ๐Ÿ“Ž Dock: ๐Ÿ—‚๏ธ ๐Ÿ’ป ๐Ÿ“ ๐Ÿงฎ ๐ŸŒ ๐ŸŽต ๐ŸŽฎ         |
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ› ๏ธ Tech Stack

Layer Technology
Framework React 19 + TypeScript
Build Tool Vite
Styling Tailwind CSS
Icons Lucide React
State Management Custom Zustand-like store
Deployment Vercel

โŒจ๏ธ Keyboard Shortcuts

Shortcut Action
Super (Windows/Meta) Toggle App Launcher
Ctrl + Alt + T Open Terminal
Super + D Minimize All Windows
Alt + Tab Switch Windows

๐Ÿ“ฆ Included Apps

System

  • File Manager, Terminal, Text Editor, Calculator, System Settings, System Monitor, Archive Manager

Productivity

  • Calendar, Notes, Todo List, Clock, Spreadsheet, Document Viewer, Reminders, Contacts, Password Manager, Whiteboard

Internet

  • Web Browser, Email, Chat, Weather, RSS Reader, FTP Client, Network Tools

Media

  • Music Player, Video Player, Image Viewer, Photo Editor, Voice Recorder, Screen Recorder, Media Converter

Games ๐ŸŽฎ

  • Minesweeper, Snake, Tetris, Tic-Tac-Toe, 2048, Sudoku, Chess, Memory Game, Pong, Solitaire, Flappy Bird

Dev Tools

  • Code Editor, JSON Formatter, Regex Tester, Markdown Preview, Git Client, API Tester, Base64 Tool, Color Palette

Creative

  • Drawing, Color Picker, Image Gallery, ASCII Art

๐Ÿƒ Run Locally

# Clone the repo
git clone https://github.com/asimayazmrd0987-glitch/Web_Linux.git
cd Web_Linux

# Install dependencies & start dev server
cd Web_Based_Ubuntu_Linux/app
npm install
npm run dev

Then open the URL printed by Vite (usually http://localhost:5173).


๐Ÿ—๏ธ Build for Production

cd Web_Based_Ubuntu_Linux/app
npm run build

The static site will be generated in Web_Based_Ubuntu_Linux/app/dist/.


๐ŸŽฏ Why I Built This

I wanted to understand how desktop environments work under the hood โ€” window management, event handling, filesystem abstractions, and UI state management by building one myself.

This project started as a learning exercise and grew into a fully interactive web desktop that anyone can try instantly, with zero setup.


๐Ÿ—บ๏ธ Project Structure

Web_Based_Ubuntu_Linux/app/src/
โ”œโ”€โ”€ apps/              # All built-in applications
โ”‚   โ”œโ”€โ”€ Terminal.tsx
โ”‚   โ”œโ”€โ”€ FileManager.tsx
โ”‚   โ”œโ”€โ”€ Snake.tsx
โ”‚   โ””โ”€โ”€ ...
โ”œโ”€โ”€ components/        # Desktop shell components
โ”‚   โ”œโ”€โ”€ WindowFrame.tsx      # Draggable, resizable window chrome
โ”‚   โ”œโ”€โ”€ WindowManager.tsx    # Renders all open windows
โ”‚   โ”œโ”€โ”€ Dock.tsx             # Bottom dock bar
โ”‚   โ”œโ”€โ”€ TopPanel.tsx         # Top status bar
โ”‚   โ””โ”€โ”€ AppLauncher.tsx      # Super-key app grid
โ”œโ”€โ”€ hooks/
โ”‚   โ””โ”€โ”€ useOSStore.ts        # Global desktop state (windows, focus, etc.)
โ”œโ”€โ”€ types/
โ”‚   โ””โ”€โ”€ index.ts             # TypeScript types
โ”œโ”€โ”€ App.tsx                  # Root desktop shell
โ””โ”€โ”€ main.tsx                 # Entry point

๐Ÿšง Future Ideas

  • Persist filesystem to localStorage so files survive refreshes
  • Add a real backend shell via WebSocket (connect to actual Linux container)
  • Multi-user sessions with login screen
  • Custom themes and wallpaper support
  • File drag-and-drop between apps

๐Ÿ“„ License

MIT โ€” feel free to fork, extend, or use as inspiration for your own projects.


Built with ๐Ÿ’œ by asimayazmrd0987-glitch

About

๐Ÿซ† WebUbuntu is a browser-based Ubuntu desktop ๐Ÿ‘€ with a real window manager, simulated filesystem, working terminal, file manager, and 30+ built-in apps, all built from scratch in React + TypeScript. No backend required.

Resources

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages