2024-10-24 15:31:00
github.com
E2B Desktop Sandbox is an isolated cloud environment with a desktop-like interface powered by E2B.
Launching E2B Sandbox takes about 300-500ms. You can customize the desktop environment and preinstall any dependencies you want using our custom sandbox templates.
Work in progress
This repository is a work in progress. We welcome feedback and contributions. Here’s the list of features we’re working on:
The E2B Desktop Sandbox is built on top of E2B Sandbox.
Sign up at E2B and get your API key.
Set environment variable E2B_API_KEY
with your API key.
Python
JavaScript
from e2b_desktop import Sandbox
desktop = Sandbox()
from e2b_desktop import Sandbox
desktop = Sandbox()
desktop.double_click()
desktop.left_click()
desktop.right_click()
desktop.middle_click()
desktop.scroll(10) # Scroll by the amount. Positive for up, negative for down.
desktop.mouse_move(100, 200) # Move to x, y coordinates
from e2b_desktop import Sandbox
desktop = Sandbox()
# Find "Home" text on the screen and return the coordinates
x, y = desktop.locate_on_screen("Home")
# Move the mouse to the coordinates
desktop.mouse_move(x, y)
from e2b_desktop import Sandbox
desktop = Sandbox()
desktop.write("Hello, world!") # Write text at the current cursor position
desktop.hotkey("ctrl", "c") # Press ctrl+c
from e2b_desktop import Sandbox
desktop = Sandbox()
# Take a screenshot and save it as "screenshot.png" locally
desktop.screenshot("screenshot.png")
from e2b_desktop import Sandbox
desktop = Sandbox()
# Open file with default application
desktop.files.write("/home/user/index.js", "console.log('hello')") # First create the file
desktop.open("/home/user/index.js") # Then open it
from e2b_desktop import Sandbox
desktop = Sandbox()
# Run any bash command
desktop.commands.run("ls -la /home/user")
from e2b_desktop import Sandbox
desktop = Sandbox()
# Run any PyAutoGUI command
desktop.pyautogui("pyautogui.click()")
You can use PyAutoGUI to control the whole environment programmatically.
The desktop-like environment is based on Linux and Xfce at the moment. We chose Xfce because it’s a fast and lightweight environment that’s also popular and actively supported. However, this Sandbox template is fully customizable and you can create your own desktop environment.
Check out the sandbox template’s code here.
Support Techcratic
If you find value in Techcratic’s insights and articles, consider supporting us with Bitcoin. Your support helps me, as a solo operator, continue delivering high-quality content while managing all the technical aspects, from server maintenance to blog writing, future updates, and improvements. Support Innovation! Thank you.
Bitcoin Address:
bc1qlszw7elx2qahjwvaryh0tkgg8y68enw30gpvge
Please verify this address before sending funds.
Bitcoin QR Code
Simply scan the QR code below to support Techcratic.
Please read the Privacy and Security Disclaimer on how Techcratic handles your support.
Disclaimer: As an Amazon Associate, Techcratic may earn from qualifying purchases.