Skip to content

Commit 23c69a0

Browse files
committed
docs: add missing links and fix consistency in Linux Desktop docs
- Link unexplained terms (XFCE, VNC, Next.js App Router, OpenAI Computer Use API, scrot) - Remove unnecessary CodeGroup wrapper from project structure - Add missing xorg package to Python template to match TypeScript version
1 parent d7383d2 commit 23c69a0

2 files changed

Lines changed: 6 additions & 7 deletions

File tree

docs/template/examples/desktop.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ The template includes:
99
- **Ubuntu 22.04** with XFCE desktop environment
1010
- **VNC streaming** via [noVNC](https://novnc.com/) for browser-based access
1111
- **Pre-installed applications**: LibreOffice, text editors, file manager, and common utilities
12-
- **Automation tools**: [xdotool](https://github.com/jordansissel/xdotool) and scrot for programmatic desktop control
12+
- **Automation tools**: [xdotool](https://github.com/jordansissel/xdotool) and [scrot](https://github.com/resurrecting-open-source-projects/scrot) for programmatic desktop control
1313

1414
## Template Definition
1515

@@ -90,6 +90,7 @@ template = (
9090
"apt-get update",
9191
"apt-get install -y \
9292
xserver-xorg \
93+
xorg \
9394
x11-xserver-utils \
9495
xvfb \
9596
x11-utils \

docs/use-cases/linux-desktop.mdx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,9 @@ Full source code is available in the [E2B Surf repository](https://github.com/e2
3333

3434
## Project Structure
3535

36-
This starter project follows a standard Next.js App Router structure with additional directories for AI services, utilities, and type definitions. The separation keeps concerns modular and makes the codebase easy to navigate.
36+
This starter project follows a standard [Next.js App Router](https://nextjs.org/docs/app) structure with additional directories for AI services, utilities, and type definitions. The separation keeps concerns modular and makes the codebase easy to navigate.
3737

38-
<CodeGroup>
39-
```typescript JavaScript & TypeScript
38+
```text Project Structure
4039
surf-starter/
4140
├── app/
4241
│ ├── api/chat/
@@ -63,7 +62,6 @@ surf-starter/
6362
├── package.json // Dependencies
6463
└── tsconfig.json // TypeScript configuration
6564
```
66-
</CodeGroup>
6765

6866
---
6967

@@ -72,9 +70,9 @@ surf-starter/
7270
This application creates an autonomous AI loop that enables natural language control of a virtual Linux desktop:
7371

7472
1. **User Input** - You send a natural language command like "Open Firefox and search for AI news"
75-
2. **Sandbox Creation** - E2B spins up an Ubuntu 22.04 desktop environment (if not already running)
73+
2. **Sandbox Creation** - E2B spins up an Ubuntu 22.04 desktop with [XFCE](https://xfce.org/) and [VNC](https://en.wikipedia.org/wiki/Virtual_Network_Computing) streaming for remote viewing (if not already running)
7674
3. **Visual Analysis** - The AI receives a screenshot of the current desktop state
77-
4. **Action Planning** - OpenAI Computer Use API analyzes the screenshot and decides what action to take
75+
4. **Action Planning** - [OpenAI Computer Use API](https://platform.openai.com/docs/guides/computer-use) analyzes the screenshot and decides what action to take
7876
5. **Action Execution** - The action (click, type, scroll, etc.) is executed on the desktop via E2B SDK
7977
6. **Feedback Loop** - A new screenshot is taken and sent back to the AI
8078
7. **Iteration** - The loop continues until the task is complete (maximum 15 iterations)

0 commit comments

Comments
 (0)