# Learn, courses, and labs in the LabEx app
Source: https://support.labex.io/en/labex-app/learn-courses-and-labs
Use the sidebar, learning screen, course catalog, and recents to move through labs without getting lost.
This page walks through **navigation**, the **learning screen**, and **courses** the way you use them day to day.
## Sidebar: Learning and Courses
When you are signed in, the app uses a **sidebar** (or split view on iPhone) with two main areas:
* **Learning**\
Your current lab experience: steps, chat, checks, and entry to the VM when needed.
* **Courses**\
The full **course catalog**: paths, Continue Learning, and pagination. Pick a course, open its **lab list**, then tap a lab to start learning.
### iPhone: profile and LabEx Pro
On **iPhone**, the sidebar toolbar includes:
* **Profile** (avatar)\
Opens your **profile** in a sheet. From here you can review your account and sign out.
* **LabEx Pro / Upgrade**\
Opens **pricing** in a sheet.
The **Learning** detail screen itself does not repeat the profile button in the top bar, so new users should remember: **account and Pro are in the sidebar** when you are in the main shell.
If you open the **course list from the learning screen** as a sheet, that sheet may show **profile** in its own top bar for quick access while you browse.
### Mac: account and pricing
On **Mac**, use the **account row** at the bottom of the sidebar for your profile. **Upgrade / Pro** opens the **pricing** window. Same account as on the web and iPhone.
## Recent labs
Under the main items, **Recent** lists labs you opened recently (from your LabEx timeline). Tap an item to jump back to that lab in **Learning**. You can **refresh** the list and **collapse** the section to save space.
## Learning screen: the main workflow
The learning screen is the **center of the app**. Typical flow:
1. Read the **current step** in the timeline.
2. Use **Labby** in the composer: type a message or use shortcuts the lab provides.
3. Use the **primary button** at the bottom for the current action, such as **Continue**, **Complete**, **Re-check**, or **Skip**, depending on the step.
### Suggested questions
On **middle steps**, the app may show **suggested questions**. Tap one to send it and keep moving. The **first** and **last** step do not show these suggestions.
### Solution, check, and feedback
* **Solution**\
When available, opening the solution adds an **assistant-style message** into the same timeline. It stays there unless you remove it after a failure or explicit action.
* **Check**\
Validation steps open a **result panel** so you see pass or fail clearly. If validation fails, the primary button can offer **re-check**.
* **Feedback**\
On the **last step**, after you complete the flow, you may submit **feedback** in a sheet. After you send it, the app may move you to a **next lab**, a **next course**, or close the flow if nothing follows.
Some actions require **LabEx Pro**. If the server returns a permission error for a solution, the app can open **pricing** so you can upgrade.
The composer at the bottom is where you talk to **Labby** (placeholder text may read like **Ask anything** in your language). The checklist and title row are how you jump between **steps** and open the **course outline**.
When a step runs an automated **check**, you get a clear pass or fail breakdown and shortcuts such as **Back to VM** so you can fix issues in the terminal, then re-run verification.
## Course outline and switching labs
Use the **title** in the learning top bar to open the **Labs** sheet: course cover, grouped labs, progress, sometimes a **next course** link, and status such as **In progress**.
* Switching to **another lab in the same course** updates the learning screen **in place** (no extra navigation stack).
Use the **checklist** control in the top bar for the **step outline** of the lab you are in.
## Course catalog behavior
In **Courses**:
* **Continue Learning** appears at the top when you have eligible in-progress courses.
* **Paths** let you filter content. The app only shows paths that LabEx tags for **iOS** (Mac uses the same rule so both apps match).
* When a path is selected, you can switch between **path courses** and **popular courses** filtered by that path (same idea on iPhone and Mac).
Choosing a course opens its **lab list**. Choose a **lab** to enter **Learning**.
## Running VM hint on Learning
If you have a **running VM** for a different lab than the one on screen, the sidebar **Learning** row can show a **back to running lab** hint. Use it when you want to return to the session that still has a live environment.
# LabEx App overview and get started
Source: https://support.labex.io/en/labex-app/overview-and-get-started
Install LabEx, sign in from the learning home, and understand what happens after you open the app.
The LabEx app brings hands-on labs to your **iPhone** and **Mac**. You learn in a chat-first flow: step instructions, Labby AI, checks, and optional virtual machines when a lab needs a terminal.
This guide focuses on the **main path** a new user follows. For how LabEx works on the web, see [Welcome](/en/using-labex/welcome) and [Quick Start](/en/using-labex/quick-start).
## Install and open
Install **LabEx** from the App Store on your iPhone or Mac. The store page shows the **minimum system version** required on your device.
When you open the app, you start from the **learning-first sign-in experience**:
* On **iPhone**, you see the **learning home** welcome, then the same sign-in choices described below.
* On **Mac**, if you are not signed in yet, you see a **login** screen first with the same choices; after sign-in, the **Learning / Courses** shell appears.
The product is built around **learning first**, not the full course catalog as the very first screen.
## Sign in (learning home)
You need a LabEx account to use the app. **Sign-in starts from the learning-first entry** (welcome on the learning home for iPhone, or the Mac login screen), not from the course list or profile alone.
After a short welcome sequence, you choose how to sign in:
1. **Sign in with Apple**
2. **Sign in with Google**
3. **Email and password**
Email sign-in uses a single screen for your credentials. You can go back to pick another method.
If a link opens the app for Google sign-in, the app handles that callback
first, then continues with your lab or link target.
## After you sign in: where the app takes you
Once you are signed in, the app picks a **starting lab** in this order:
1. **Running VM**\
If you already have an active virtual machine session for a lab, the app opens that lab so you can continue.
2. **Continue learning**\
If you have an in-progress course on LabEx with a current lab, the app opens that lab.
3. **Getting started lab**\
If neither applies, the app opens a default **Quick Start with Linux** entry lab so you can begin immediately.
If the app cannot refresh this entry (for example, a network error), you will see an **error and a retry** option. It does not silently switch you to a random lab.
On **iPhone**, once you are in the signed-in shell, the sidebar highlights **Learn** and **Courses** and lists **Recents** below (Mac follows the same ideas with a desktop layout).
## Links that open the app
LabEx content links can open in the app when configured on your device:
* **Course links** open the **course lab list** first. You choose a lab, then enter the learning screen.
* **Lab links** open the **learning screen** for that lab directly.
* **Pricing links** inside step text open **in-app pricing** on iPhone (sheet) or Mac (pricing window).
Links on `labex.io` (and `www.labex.io`), optional language prefixes in the path, and `labex://` style links are supported where applicable.
## Live Activity (iPhone only)
On **iPhone**, when you have a qualifying **running** VM, the app can show a **Live Activity** with the lab name and session time. After the VM stops, the activity may show a **stopped** state until it is replaced or cleared (for example, after sign-out or a new running session). This feature is not available on Mac.
## Mac at a glance
On **Mac**, the main window uses a **sidebar** for **Learning** and **Courses**, similar in spirit to iPhone but laid out for a desktop. **Account** and **pricing** open in separate windows instead of full-screen sheets.
# Subscription, account, and support in the LabEx app
Source: https://support.labex.io/en/labex-app/subscription-account-and-support
LabEx Pro in the app, profile and sign-out, manage billing on the web, and send diagnostic feedback.
This page covers **LabEx Pro**, your **profile**, **sign-out**, and how to **contact LabEx** with useful diagnostics.
## LabEx Pro in the app
You may open **pricing** from:
* The **sidebar** (iPhone **Upgrade / Pro** control, Mac **Upgrade / Pro** next to your account area)
* The **learning** experience (for example, when a feature needs Pro or a VM rule sends you here)
* **Profile** in contexts that still show a membership button
### What you see
* **Non-Pro**\
You see **plan cards** (for example one-year and two-year options), **Restore purchases**, and short footnotes about App Store billing.
* **Pro (LabEx account)**\
When your LabEx account already has Pro, the app shows **status**, **renewal or expiry information**, and a **Manage billing** link that opens `https://labex.io/account/billings` in the browser.
Purchases complete in the **App Store**. After purchase, the app **syncs** your order with LabEx. If Apple reports an active entitlement on the device, the pricing screen can reflect that **local purchase state** while the rest of the app continues to rely on your **LabEx account** for membership checks.
Web-centric Pro topics (certificates, web payments, regional methods) live
under [LabEx Pro](/en/labex-pro/labex-pro-benifits). Use the app guide for
**in-app purchase and account entry points** first.
## Profile and sign-out
### iPhone
Open **Profile** from the **sidebar avatar**. You see avatar, display name, join context, skills count, country, and membership summary.
**Sign out** clears your session in the app and returns you to the **learning home** welcome state. The app does **not** immediately pop the sign-in sheet again; you choose when to sign in.
### Mac
Open **Account** from the **bottom of the sidebar**. Sign out closes the window and resets the signed-in experience the same way.
## Push notifications
If you enabled notifications, LabEx can register your device for **remote push** when you are signed in. Tapping a notification that includes a link uses the same **in-app routing** as other LabEx URLs when supported.
## Send feedback with a log
At the bottom of **Profile**, next to the **app version**, use **Send feedback** (wording may match your app language). This starts an email to **[feedback@labex.app](mailto:feedback@labex.app)** and attaches **`labex-runtime-log.txt`**, a diagnostic file that helps support see recent app and network activity (sensitive values are redacted or masked).
* **iPhone**\
Uses the system mail composer when mail is configured; otherwise you get guidance to **copy the log** or use a `mailto` link.
* **Mac**\
Copies the full log to the **clipboard** and opens **Mail.app** for `mailto` when possible, so the log is easy to paste if Mail is not your default handler.
The footer next to the version may read **Send feedback** or **Report issue** depending on your build; both open the same email flow with the diagnostic attachment.
## More help
* Learning concepts: [Labby AI](/en/using-labex/labby-ai), [Virtual Machine](/en/using-labex/virtual-machine), [FAQ](/en/using-labex/faq)
* Account on the web: [Managing your account](/en/my-account/managing-account)
* General questions: the [LabEx Support Center](/en/using-labex/welcome) and `info@labex.io`
# Virtual machine and terminal in the LabEx app
Source: https://support.labex.io/en/labex-app/virtual-machine-and-terminal
Start and stop the lab VM, use terminals and forwarded ports on iPhone and Mac, and know when pricing or limits apply.
Many labs need a **Linux environment**. The app attaches a **virtual machine (VM)** to the current lab so you can run commands in a real terminal.
The VM is a **side tool**: reading steps and chatting with Labby stays in the main learning layout. The terminal is there when the lab expects hands-on work.
For background on LabEx VMs in the browser, see [Virtual Machine](/en/using-labex/virtual-machine). This page stays focused on **app controls**.
The **iPhone** sections below use iPhone screenshots. The **Mac** section includes a **macOS** screenshot of the learning workspace with the embedded terminal and assistant.
## When the VM starts
* Use the **VM** entry from the learning UI when you need the terminal.
* On the **first step**, the **primary Continue button** may also start the VM **if** the lab still needs an environment and you do not already have a usable session for this lab.
If the lab **does not allow** starting a VM on your current plan, the app opens **pricing** instead of starting hardware.
## iPhone: VM sheet
On **iPhone**, the VM opens as a **sheet** you drag between medium and large heights.
* **Idle**\
You see a short explanation and **Start VM**.
* **Running**\
You get quick actions (for example **paste** and **clear terminal**) and a settings area for **interfaces**, **stop**, **back to terminal**, and **exposed ports**.
While the environment is preparing, the sheet shows **setup progress** and remaining session time.
The **more** menu reaches **Interfaces** (switch tty sessions) and **Stop VM** while the machine is running.
**Clear terminal** runs the `clear` command in the session; it does not erase your device clipboard.
## Mac: workspace and sidebar
On **Mac**, the terminal lives in the **learning workspace**, not as the only full-screen sheet.
When the VM is running, **Learning** in the sidebar lists **terminals** and **exposed ports** in one flat list. Use the **+** menu next to **Learning** to **add a terminal** or **add an exposed port** (you type the port number in a small form).
Select a row to switch what the embedded browser shows. **Return to terminal** jumps back to your tty session.
## Multiple terminals and ports
Labs can use more than one terminal. The app assigns **reserved high ports** for web terminals and can **forward extra ports** you choose.
* You can **add** another terminal until you reach the limit.
* You can **close** a terminal you no longer need, except the **last** one, which must stay open.
Only **one terminal web view** is shown at a time; switching rows swaps the active URL.
## Session time and extend (Pro)
VMs expire after a scheduled time. The app shows **remaining time** and may prompt you when time is low.
* **LabEx Pro** users may see an option to **extend** the session when the app enters a short final window before expiry.
* **Free** users see guidance that points to **pricing** instead.
After you extend or the session ends, trust the **on-screen timer** and any alerts the app shows.
## Stop and conflicts
**Stop VM** ends the remote session and clears local terminal state.
If a VM is already running for **another lab**, starting a new one can **conflict**. The app explains the situation and lets you **keep the old lab** or **replace** it with the new one. If you replace, the old VM is removed first.
If you hit a **temporary VM quota** limit, the app opens **pricing** so you can review Pro options.
## Paste and shortcuts
Toolbar actions can **paste** into the terminal and send common keys. Some paste helpers treat **paths** differently (for example, they may send Enter so a command runs). Plain paste from the toolbar does **not** auto-send Enter.
## If something looks wrong
* **Switching labs** clears old terminal URLs so you never stay attached to the wrong lab by mistake.
* **Stopping**, **errors**, or **expiry** reset the VM UI to an idle state until you start again.
# LabEx Pro Certificates
Source: https://support.labex.io/en/labex-pro/certificates-of-completion
LabEx Pro member can earn a personalized certificate upon successful completion of a course or [Skill Tree](/en/using-labex/skill-trees).
## Earning Your Certificate
You will only receive a certificate if you have completed all of the labs (includes all labs, challenges and projects) in the course or acquire 60% skills in the [Skill Tree](/en/using-labex/skill-trees). Once you've earned a certificate, you can add your full name directly to it.
## Accessing Your Certificate
Find and download your certificates anytime from your My Profile page (click on your avatar) or the respective Course or [Skill Tree](/en/using-labex/skill-trees) page.
## Eligibility
Certificates are exclusive to LabEx Pro members at the time of course or [Skill Tree](/en/using-labex/skill-trees) completion. Free accounts with Basic Plan are not eligible for certificates. However, once earned, you can access your certificate even if your Pro membership ends.
## Checking Certificate Availability
To determine if a course or [Skill Tree](/en/using-labex/skill-trees) offers a certificate, visit its Overview or Syllabus page. Some courses or Skill Trees might not grant certificates if they're still in development or in a beta phase.
# LabEx Pro Benefits
Source: https://support.labex.io/en/labex-pro/labex-pro-benifits
Your subscription will benefit both you and LabEx.
## Benefits
[LabEx Pro](https://labex.io/pricing) subscribers have access to an extensive range of features.
* 6000+ Hands-On Labs
* 2000+ Challenge Solutions
* 400+ Real-World Projects
* [Certificates of Completion](/en/labex-pro/certificates-of-completion)
* Unlimited [virtual machines](/en/using-labex/virtual-machine)
* Full Access to [Labby AI](/en/using-labex/labby-ai) Assistant
* Unrestricted Internet Access
Please note that Cloud Lab is not included in these benefits.
Furthermore, engaging in activities such as cryptocurrency mining or attacking others breaches our terms of service. We retain the authority to terminate the service at any time.
# LabEx Pro FAQs
Source: https://support.labex.io/en/labex-pro/labex-pro-faq
Frequently asked questions about LabEx Pro.
There are a lot of questions that come up when you're considering a subscription to LabEx Pro. We've compiled a list of the most frequently asked questions to help you make an informed decision.
If your question is about using LabEx in general (typical product usage scenarios), see [LabEx FAQs](/en/using-labex/faq).
LabEx is all about labs - no videos. We truly believe that you learn the best by doing. With our AI-powered assistant, Labby, by your side 24/7, every challenge faced becomes a learning opportunity.
LabEx Pro subscribers have access to thousands of Hands-On Labs, 2000+ Challenge Solutions, 400+ Real-World Projects, unlimited virtual machines, full access to Labby AI Assistant, and more.
For a full list of benefits, please visit the [LabEx Pro Benefits](/en/labex-pro/labex-pro-benifits) page.
LabEx Pro unlocks a universe of thousands of labs and 30 Skill Trees tailored for you. If you're a novice, kick off your journey by selecting a [Skill Tree](/en/using-labex/skill-trees) and beginning with our recommended starter courses. For those already grounded in the basics, filter by specific skills and handpick labs that suit your learning appetite. Dive deep, learn authentically.
Yes, you can purchase LabEx Pro for your team with volume-based pricing and receive dedicated support from a customer manager.
👉 [**Buy LabEx Pro for Team**](https://buy.stripe.com/7sY8wQ5pydbEbyN83000007) (Minimum 5 seats required)
For larger groups (50+ members), please contact us at `info@labex.io` for custom pricing.
If you look for a coupon code field at checkout, you will not find one.
LabEx generally does not provide coupon codes or ongoing discounts. We also do not offer education pricing or student-specific discounts. Instead, we work to keep costs under control so we can offer lower prices that benefit everyone, not only students.
Since 2017, we've been focused on delivering high-quality, hands-on learning. Today, LabEx offers thousands of labs across Linux, DevOps, and Cybersecurity, and has supported over 1 million learners worldwide. Our pricing reflects the depth and value of this experience.
Throughout the year, we usually offer just one modest, time-limited discount around Black Friday. For most practical purposes, it is the only promotion we run.
If you're ready to start learning, we recommend getting started today. Most learners find that beginning early and building a consistent learning habit delivers far more value than waiting months to save a small amount. The sooner you begin, the more you'll gain and retain.
LabEx Pro members can earn a personalized certificate upon successful completion of all labs in a course or acquiring 60% skills in a Skill Tree. Free accounts with Basic Plan are not eligible for certificates.
For more details, please visit the [Certificates of Completion](/en/labex-pro/certificates-of-completion) page.
LabEx Pro supports multiple payment methods including **Stripe** (Recommended), **PayPal**, and region-specific methods like **Alipay** (for Chinese users) and **YooMoney** (for Russian users).
For detailed instructions on how to use these payment methods, please visit the [Payment Methods](/en/labex-pro/payments) page.
Some UPI payments may appear successful because the amount is deducted from your account, even though the bank has rejected the transaction. In this case, LabEx does not receive the payment, so your Pro subscription cannot be activated.
The deducted amount will be automatically refunded by your bank. This process is handled entirely by UPI and your bank, not LabEx. Please contact your bank for assistance or refund details.
Yes, LabEx accepts USDT (TRC20 – TRON Network) and USDC (Arbitrum One Network). Because we need to manually verify each transfer, please email `hang@labex.io` to request the receiving address and payment instructions before making a payment.
For more information and important notices regarding crypto payments, please refer to the [Cryptocurrency Payments](/en/labex-pro/payments#cryptocurrency-payments) section.
* **Annual Plan**: Automatically renews every year. You can cancel auto-renewal at any time through your subscription settings.
* **Two-Year Plan**: This is a one-time purchase and does not automatically renew.
For more details, please see [Subscription Plans and Auto-Renewal](/en/labex-pro/payments#subscription-plans-and-auto-renewal).
Yes, you can cancel your subscription's auto-renewal anytime. When you cancel, you'll continue to have access to all LabEx Pro features until your current billing cycle ends.
To cancel, simply go to your profile, select the 'Subscriptions' tab, and there you'll find the Cancel option. You can also view more about [Managing Your Subscription](/en/labex-pro/payments#managing-your-subscription).
Your satisfaction is our top priority, and we are confident you will enjoy our learning experience. However, we understand that certain situations may necessitate a refund request.
1. **Annual Pro Subscriptions and Pro 2-Year Plan**: These subscriptions include a 7-day cooling-off period, during which you may request a full refund, provided you have not completed more than 10 labs. Refund requests must be submitted within 7 days of purchase. After this period, or if more than 10 labs have been completed within the initial 7 days, refunds will not be granted.
2. **Vouchers and Coupon Codes**: Purchases made using vouchers or coupon codes are non-refundable, no exceptions.
To request a refund, please email `info@labex.io` with your account email, the purchase invoice, and a brief explanation of your reason for requesting a refund.
We recommend that users explore our free Basic plan, which includes access to many free hands-on labs and limited virtual machines per day, before making a purchase to ensure the service meets their needs. If you have any questions regarding our refund policy, please feel free to contact us.
No. Account sharing is not allowed under our Terms of Service. LabEx restricts account sharing to protect service quality. If the system detects account sharing or other abuse, your account may be suspended and you will not be eligible for a refund.
# Payment Methods
Source: https://support.labex.io/en/labex-pro/payments
Learn about LabEx Pro supported payment methods including Stripe, PayPal, Alipay, YooMoney, and cryptocurrency.
## About LabEx Pro Payment Methods
LabEx Pro supports multiple payment methods to serve our global users. We primarily recommend **Stripe** and **PayPal** as our main payment options. Additionally, we offer region-specific payment methods for Chinese and Russian users, as well as cryptocurrency payments using USDT (TRC20) and USDC (Arbitrum One).
## Supported Payment Methods
### Stripe (Recommended)
Stripe is our recommended payment method and supports payment cards in most countries. To use Stripe:
1. Visit [LabEx Pro Pricing](https://labex.io/pricing)
2. Select the LabEx Pro plan type you want to purchase
3. Click the **"Upgrade to Pro"** button
4. On the checkout page, select **Stripe** as your payment method
5. Follow the Stripe payment form instructions
6. Your LabEx Pro access will be activated immediately after successful payment
### PayPal
If your card is declined with Stripe, you can try **PayPal** as an alternative payment method:
1. Visit [LabEx Pro Pricing](https://labex.io/pricing)
2. Select the LabEx Pro plan type you want to purchase
3. Click the **"Upgrade to Pro"** button
4. On the checkout page, select **PayPal** as your payment method
5. You will be redirected to PayPal
6. Complete the payment following PayPal's instructions
7. Your LabEx Pro access will be activated immediately after successful payment
### Region-Specific Payment Methods
**For Chinese Users - Alipay**
If you are in China, you can pay with Alipay. Alipay is available exclusively on the Chinese version of LabEx. For detailed instructions, please visit: [LabEx Pro 支付宝付款](https://support.labex.io/cn/labex-pro/alipay)
**For Russian Users - YooMoney**
If you are in Russia, you can pay with YooMoney using Russian bank cards, YooMoney wallet, Tinkoff Pay, or SberPay (MIR cards are supported via Tinkoff Pay and SberPay). For detailed instructions, please visit: [YooMoney платеж](https://support.labex.io/ru/labex-pro/yoomoney)
### Cryptocurrency Payments
LabEx accepts USDT (TRC20 – TRON Network) and USDC (Arbitrum One Network). Because we need to manually verify each transfer, please email `hang@labex.io` to request the receiving address and payment instructions before making a payment.
**Important:**
* Use the correct network (USDT → TRC20, USDC → Arbitrum One)
* Carefully verify the receiving address before sending
* Send the exact amount shown on the [LabEx English checkout page](https://labex.io/checkout?type=2) (1 USDT / 1 USDC = 1 USD)
Funds sent via the wrong network, to the wrong address, or in the wrong amount may be permanently lost. LabEx is not responsible for such losses.
If you are unable to use the two networks above, please let us know which network you would like to use in your email. We will confirm whether it is supported before you make the payment.
After payment, please reply with:
* The wallet address used
* The email to upgrade to LabEx Pro
Once confirmed on-chain, we will manually activate your membership.
## Subscription Plans and Auto-Renewal
### Annual Plan
* **Annual Plan**: Automatically renews every year
* LabEx will send you an email reminder before each renewal
* You can cancel auto-renewal at any time through your subscription settings
### Two-Year Plan
* The 2-year plan is a one-time purchase and **does not automatically renew**
## Managing Your Subscription
You can view and manage your subscription through your LabEx profile:
1. Click on your **avatar** in the top-right corner of the LabEx page
2. Select **Profile** from the dropdown menu
3. In the left sidebar, click **Subscription** at the bottom
4. You can:
* View your payment history
* See your current subscription status
* Cancel auto-renewal (for annual plans)
* View other subscription details
## Multiple Purchases
LabEx Pro supports multiple purchases. When you make another purchase:
* Your subscription expiration date will be automatically extended
* Any existing auto-renewal subscriptions will be automatically canceled to avoid additional charges
## Invoices and Receipts
When you pay with **Stripe**, you will automatically receive an invoice via email from our system. The invoice is sent to the email address associated with your LabEx account.
**If you need to modify invoice details** (such as the payer's name), please contact our support team at `info@labex.io`.
## More Questions?
For additional questions about subscriptions, refunds, and other subscription-related topics, please refer to our [LabEx Pro FAQs](/en/labex-pro/labex-pro-faq).
## Payment Issues?
If you encounter any payment or subscription issues, please **contact us**:
* Send an email to: `info@labex.io`
* Please include your LabEx account email address
* If possible, provide relevant payment information
Our support team is ready to help you resolve any payment-related questions.
# Using Google Classroom with LabEx
Source: https://support.labex.io/en/labex-teams/google-classroom
Share LabEx learning materials with your class using Google Classroom.
## Using Google Classroom with LabEx
> Update: LabEx now supports [Google Classroom add-ons](https://workspace.google.com/marketplace/app/labex/723513449877), making it easier to share courses, labs, and tutorials with your students.
If you’re already using [Google Classroom](https://classroom.google.com/), you can easily share any LabEx learning materials—courses, labs, or tutorials—directly with your class. LabEx has integrated a “Share to Classroom” button, making it simple to distribute resources. Here’s how you can do it:
### How to Share LabEx Resources to Google Classroom?
#### 1. Courses
On the [course page](https://labex.io/courses/quick-start-with-linux), click the **Share to Google Classroom** button located in the right sidebar. Select the class you want to share it with and choose an action, such as "create assignment." You'll then be directed to Google Classroom to complete the process.
#### 2. Hands-on Labs
On the [lab learning page](https://labex.io/labs/linux-your-first-linux-lab-270253), click the **Share to Google Classroom** button in the top-right corner. The rest of the process is the same as sharing a course.
#### 3. LabEx Tutorials
On the [tutorial page](https://labex.io/tutorials/linux-your-first-linux-lab-270253), click the **Share to Google Classroom** button located in the left sidebar. The sharing process works just like it does for courses.
### Practical Use Cases
**1. Assign Labs for Homework**\
LabEx labs are an ideal way to provide students with practical assignments. Educators can easily share a lab as homework via Google Classroom, allowing students to apply the concepts they've learned in a hands-on environment. These labs challenge students with real-world scenarios, helping them reinforce skills and problem-solving abilities.
**2. Use Courses for Classroom Teaching**\
Instructors can enhance their teaching by pairing LabEx courses with their classroom lessons. After covering a topic, teachers can share a relevant course through Google Classroom. Students can then follow the course to strengthen their understanding, and afterward, complete labs that directly apply the concepts learned in class.
**3. Supplement Learning with Tutorials**\
LabEx tutorials are perfect for offering extra support or enrichment materials. Educators can share these tutorials to provide students with targeted help on specific topics or to extend their learning beyond the classroom. This makes it easy for students to explore new areas and deepen their knowledge independently.
By integrating LabEx with Google Classroom, educators can offer a more interactive and flexible learning experience, combining theory and practice effortlessly.
# LabEx Teams for Educators
Source: https://support.labex.io/en/labex-teams/labex-teams-for-edu
LabEx Teams for Educator, is crafted for educators.
## Updated on August 30, 2024
[LabEx Teams](https://labex.io/teams) has been upgraded! Now, any LabEx user can create their own Team for free and invite students and colleagues to join. Please note that the free version of LabEx Teams allows up to 100 members.
To add more members or subscribe them to LabEx Pro, simply [**Buy LabEx Pro for Team**](https://buy.stripe.com/7sY8wQ5pydbEbyN83000007) (Minimum 5 seats required).
Educators no longer need a separate application for LabEx Teams. Simply register, click on your profile dropdown, select "My Teams," and create your Team to invite students.
For more details on how to use LabEx Teams, please refer to the [LabEx Teams Documentation](/en/labex-teams/labex-teams-quick-start).
# LabEx Teams Quick Start
Source: https://support.labex.io/en/labex-teams/labex-teams-quick-start
Get started with LabEx Teams in a few simple steps.
## Introduction to LabEx Teams
Dive into [LabEx Teams](https://labex.io/teams) — our offering designed especially for businesses and educational entities. By integrating 'Learn by Doing' and 'Skill Tree Based Learning', LabEx Teams introduces tools like team management and learning progress tracking, paving the way for effective team learning.
Any LabEx user can create their own Team for free and invite students and colleagues to join. Please note that the free version of LabEx Teams allows up to 100 members.
To add more members or subscribe them to LabEx Pro, simply [**Buy LabEx Pro for Team**](https://buy.stripe.com/7sY8wQ5pydbEbyN83000007) (Minimum 5 seats required).
This guide will walk team admins through the essentials: setting up a vibrant learning community, designating skill trees, and keeping an eye on individual progress.
* **LabEx Teams Admin & Member**: The Admin oversees team learning management, while Members are learners added to the team.
* **Group**: A Group organizes Members into specific cohorts, such as 'Dev Team' or 'Test Team', for targeted learning and easy management.
* **Lab**: The fundamental learning unit, each Lab addresses particular Skills and falls under the corresponding [Skill Tree](/en/using-labex/skill-trees). By actively engaging in Labs on the LabEx platform, learners can acquire and master these Skills.
* **Skills**: Specific competencies that users aim to master within a [Skill Tree](/en/using-labex/skill-trees). By completing labs, members acquire these skills, marking their progression through the [Skill Tree](/en/using-labex/skill-trees).
* **[Skill Tree](/en/using-labex/skill-trees)**: A structured learning pathway comprised of various Skills in a specific domain. By adding a [Skill Tree](/en/using-labex/skill-trees) to LabEx Teams and assigning it to a Group, you guide the learning journey of Members within that Group.
## Creating a LabEx Team
To create your own LabEx Team, follow these steps:
1. Go to the [LabEx Teams page](https://labex.io/teams).
2. Click on the "Create Team" button.
3. Enter a name and description for your team.
4. Click "Create" to establish your new Team.
Once your team is created, you can manage it from the LabEx Teams page, including inviting members, configuring skill trees, and tracking learning data.
LabEx Teams offers flexible options to cater to different needs:
**Free Plan:**
* Up to 100 members can use LabEx Teams for free.
* Access to basic team management and learning progress tracking features.
**Pro Access for Members:**
* To upgrade members to Pro access, you can [**Buy LabEx Pro for Team**](https://buy.stripe.com/7sY8wQ5pydbEbyN83000007) directly online (Minimum 5 seats required), or contact us at `info@labex.io.`
* Pro access includes additional features and content.
* For detailed information about Pro benefits, please refer to our [pricing page](https://labex.io/pricing).
These options allow teams to choose the most suitable plan based on their specific requirements and the size of their team. For any questions or custom requirements, don't hesitate to reach out to us.
## Admin Side
There are two ways to invite members to your Team:
1. **Invite via Email**:
* Enter the emails of the prospective members you want to invite.
* Assign them to a particular group.
* You can also resend the invitation or remove members if needed.
2. **Invite via Link**:
* Generate a unique invitation link for your team.
* Share this link with your team members, and they can use it to join the team.
## Member Side
* Team members will receive an invitation email or notification to join the team.
* Upon registration or login to LabEx, they can view the invitation and accept it.
* After accepting, they can view the Skill Trees associated with LabEx Teams in the 'My Learning' page.
* Members can also go to the [LabEx Teams page](https://labex.io/teams) to see all the teams they have joined.
## Member Side
* They will receive an invitation email.
* Upon registration or login to LabEx, an invitation prompt will be displayed.
* After accepting, they can view the Skill Trees associated with LabEx Teams in 'My Learning' page.
* Members can also go to the [LabEx Teams page](https://labex.io/teams) to see all the teams they have joined.
* Firstly, add the desired [Skill Tree](/en/using-labex/skill-trees) from the options available on LabEx.
* Allocate this [Skill Tree](/en/using-labex/skill-trees) to the chosen groups. All existing and future members of these group will then embark on this learning journey.
* Click the "View Group & Members" button after each row in the [Skill Tree](/en/using-labex/skill-trees) list allows you to view the learning progress of each member in that [Skill Tree](/en/using-labex/skill-trees).
There are two main areas:
**Team Dashboard**:
* Overview stats: Members count, Skill Trees, Total Lab Attempts, Lab Attempts This Week.
* Charts: [Skill Tree](/en/using-labex/skill-trees) Member Distribution (Pie Chart), Member Progress Across Skill Trees (Column Chart), Daily Engagement Trends (Last 30 Days - Curve Chart), [Skill Tree](/en/using-labex/skill-trees) Popularity Over Time (Curve Chart).
**Members Section**:
* View individual learning data, including Total Lab Attempts and Learning Timeline.
* Graphs: Daily Engagement Trends (Last 30 Days), Progress in each [Skill Tree](/en/using-labex/skill-trees).
* The Learning Timeline shows when the member started following a Skill Tree and when they completed each Lab.
In the 'Profile' section:
* Update your team's name and description.
* Set the invoice email.
* Check the number of seats in use and available.
* View billing history.
Discover the full potential of LabEx Teams by visiting our [Landing Page](https://labex.io/teams). If you're ready to see how it can transform your organization's learning experience, create your free team today. If you have any other questions, please [contact us](mailto:info@labex.io). Happy learning!
# LabEx VM Desktop Interface
Source: https://support.labex.io/en/labex-vm/desktop
The LabEx Desktop environment provides a graphical user interface (GUI) for interacting with the Linux Virtual Machine. This environment allows users to complete labs and tasks in a familiar desktop setting.
## Desktop Preview
The Desktop environment is particularly useful for:
1. Labs requiring a graphical interface, such as Linux GUI applications, code editors, and text editors, Python tools, and more.
2. Tasks that need a web browser.
3. Beginners who are not yet comfortable with command-line operations and prefer a graphical interface.
This is a sample Linux lab that you can complete using the Desktop Interface.
## Access the Desktop
1. If the instructor recommends using the desktop environment by default for the Lab, you'll see the desktop environment when you start it.
2. If you need to complete the Lab in a non-default desktop environment, you can switch to the desktop environment using the tabs at the top.
## Desktop Icons
On the left side of the desktop, you'll find several icons:
1. Home: Quick access to your home directory
2. Xfce Terminal: A terminal emulator for command-line operations
3. Gvim: A graphical version of the Vim text editor
4. Text Editor: A simple text editing application
5. Visual Studio Code: A popular code editor for development tasks
You can access more applications by clicking the "Applications" menu in the bottom left corner.
## Using the Terminal
To access the command line interface within the Desktop environment:
1. Look for the terminal icon on the desktop
2. Click to open a new terminal window
3. The terminal provides a command prompt where you can enter Linux commands
4. By default, the terminal uses the zsh shell
## Frequently Asked Questions
This is usually caused by a browser extension or a conflict in the browser environment. Try one of the following:
* Reopen the lab in Google Chrome Incognito mode.
* Use another browser, such as Firefox or Microsoft Edge.
If the Desktop loads normally after switching, an extension or setting in the original browser is likely interfering with the connection.
If the page remains at "Starting Terminal service" for a long time, a browser extension or a conflict in the browser environment may be preventing the connection. Try one of the following:
* Reopen the lab in Google Chrome Incognito mode.
* Use another browser, such as Firefox or Microsoft Edge.
If the Terminal connects normally after switching, an extension or setting in the original browser is likely interfering with the Terminal service.
You can use the `apt install` command to install software. The desktop environment typically uses Ubuntu 22.04, so theoretically, you can install any software compatible with Ubuntu. For example:
```bash theme={null}
sudo apt update
sudo apt install package-name
```
Remember to use `sudo` for installation commands, as they require administrative privileges.
Environment lag can be due to several factors:
1. **Network latency**: LabEx's servers are located in Silicon Valley, so when accessing from other regions, there may be varying degrees of latency depending on network quality. Users from distant locations may experience higher latency compared to those closer to the server location.
2. **Local network**: Ensure your local network bandwidth meets the minimum requirement of 10 Mbps. Poor internet connection or high latency to our servers can significantly impact performance.
3. **Free user allocation**: Free users may be assigned to our free cluster, which can experience resource constraints during peak usage. Pro users typically have access to dedicated resources with better performance.
4. **Resource-intensive applications**: Running applications like browsers can cause lag. Check your system's memory and CPU usage. Heavy applications consume significant system resources and may slow down the environment.
If you experience lag, try the following solutions:
* **Switch to Terminal Tab**: For bandwidth-constrained environments, consider switching to the independent Terminal Tab instead of the Desktop Interface. The terminal consumes significantly less bandwidth and provides better performance for command-line operations.
* Close unnecessary applications and browser tabs to free up resources.
* For better performance, consider upgrading to LabEx Pro for access to dedicated resources.
If the issue persists, post a feedback message [in our community forum](https://labex.io/questions/933).
By default, most labs don't require a browser. If you need one:
1. Open a terminal and type `firefox` to launch the browser.
2. Note that browsers consume significant CPU resources. If the lab doesn't explicitly require a browser, the system may automatically terminate browser-related processes.
Use the browser judiciously to avoid impacting system performance.
There are two main methods for copy and paste operations in the terminal:
**Method 1: Using right mouse button** (Recommended)
1. Select the text you want to copy in the terminal
2. Right-click on the selected text to copy it
3. Right-click in the terminal where you want to paste the content
This right-click method works directly within the VM environment and is often more convenient for users.
**Method 2: Using keyboard shortcuts**
1. Access the View menu to see available shortcuts.
2. Default shortcuts may vary depending on your local operating system, so check the "Edit" menu for the correct shortcuts.
For example, common shortcuts include:
* Copy: Ctrl+Shift+C (Mac)
* Paste: Ctrl+Shift+V (Mac)
If you are unable to copy and paste, please check the following:
1. **Use Google Chrome**: Ensure you are using the official version of [Google Chrome](https://www.google.com/chrome/).
2. **Clipboard Permissions**: When you first try to copy or paste, your browser will ask for permission to access the clipboard. You must click **Allow**. To check the current status, click the icon to the left of the website address bar to view and manage clipboard permissions.
The Desktop Interface does not support file uploads and downloads. If you need to upload or download files, you can switch to the WebIDE interface.
Change the interface by clicking the "WebIDE" tab at the top of the page.
1. **Upload Files:**
* Drag and drop files into the explorer
* Use the upload/download after right-clicking in the explorer
2. **Download Files:**
* Right-click the file in explorer
* Select "Download"
The default path for downloads and uploads is the `/home/labex/project` directory.
Remember that all files are temporary and will be lost when your session ends.
Currently, LabEx VM does not provide an environment saving feature. There are several reasons for this:
1. Frequent updates: Our labs are regularly updated, which could lead to incompatibilities between saved environments and current lab content.
2. Maintenance costs: Storing different versions of environments for each user would significantly increase our maintenance costs and complexity.
3. Lab structure: Most of our labs consist of only 3-5 steps, making it convenient to complete them without needing to save the environment.
We've designed our labs to be concise and easily completable within a single session. If you need to take a break, we recommend noting down your progress and recreating your work environment when you return. This approach ensures you're always working with the most up-to-date lab content and tools.
The LabEx VM Desktop interface does not support the tilde (\~) character input for some Nordic non-English standard keyboards. This issue is related to upstream components and is difficult to fix.
Here are some alternative solutions:
1. If you are using Firefox, try switching to Chrome or a Chromium-based browser (such as Brave) first.
2. Switch to the independent Terminal Tab or WebIDE Tab in the top left corner, which support `~` input.
3. Use absolute paths instead of `~` relative paths when entering paths.
4. Use copy and paste to copy the `~` from external sources into the Desktop Interface.
# LabEx VM Jupyter Interface
Source: https://support.labex.io/en/labex-vm/jupyter
The LabEx Jupyter Interface provides an interactive Python environment based on Jupyter Notebook, perfect for data analysis, visualization, and machine learning tasks. Built on Ubuntu 22.04, it offers a familiar notebook-style interface for executing code cells and documenting your work.
## Jupyter Interface Preview
The Jupyter environment is particularly useful for:
1. Data analysis and visualization projects using Python libraries (Pandas, Matplotlib, etc.)
2. Machine learning and deep learning experiments
3. Interactive code execution with immediate feedback
4. Creating documented workflows combining code and markdown
5. Educational content with explanations and executable examples
## Access the Interface
1. After starting a Jupyter-enabled lab, click the "Notebook" tab at the top of the page
2. Wait for the Jupyter interface to fully load
3. You'll see the familiar Jupyter Notebook interface in your browser
## Interface Layout
The Jupyter interface consists of several key components:
1. Main Work Area:
* Notebook cells (code and markdown)
* Output display
* Toolbar with common actions
2. Top Menu Bar:
* File operations
* Cell manipulation
* Kernel controls
## Working with Notebooks
### Cell Types
1. Code Cells:
* Write and execute Python code
* View output directly below the cell
* Use Shift+Enter to execute
2. Markdown Cells:
* Document your work
* Add explanations and notes
* Support mathematical equations using LaTeX
### Common Operations
1. Create new cells:
* Click the + button in the toolbar
* Use keyboard shortcut B (below) or A (above)
2. Run cells:
* Click the play button
* Use Shift+Enter
* Use Cell menu options
3. Change cell type:
* Use the dropdown in the toolbar
* Keyboard shortcuts: Y (code), M (markdown)
## Usage Scenarios
This is a sample data analysis lab that covers 100 exercises using the Pandas.
Working with data in Jupyter:
```python theme={null}
import pandas as pd
import matplotlib.pyplot as plt
# Read data
df = pd.read_csv('data.csv')
# Create visualization
plt.figure(figsize=(10, 6))
df['column'].plot(kind='bar')
plt.title('Data Visualization')
plt.show()
```
The output appears directly below the code cell, making it easy to iterate on your analysis.
This is a sample machine learning lab that compares different classifiers
using Scikit-Learn.
Example of machine learning workflow:
```python theme={null}
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
# Split data
X_train, X_test, y_train, y_test = train_test_split(X, y)
# Train model
model = LogisticRegression()
model.fit(X_train, y_train)
# Evaluate
score = model.score(X_test, y_test)
print(f"Model accuracy: {score:.2f}")
```
## Frequently Asked Questions
You can install additional packages using pip in a code cell:
```python theme={null}
!pip install package-name
```
Remember that installations are temporary and will be reset when your session ends.
Important Jupyter shortcuts:
* **Cell Execution**
* Run Cell: Shift+Enter
* Run Cell and Insert Below: Alt+Enter
* **Cell Operations**
* Insert Cell Above: A
* Insert Cell Below: B
* Delete Cell: D,D (press twice)
* Copy Cell: C
* Paste Cell: V
* **Cell Types**
* Code Cell: Y
* Markdown Cell: M
* **Other**
* Save Notebook: Ctrl+S
* Command Palette: Ctrl+Shift+P
Press H to view all shortcuts.
Educational notebooks in LabEx are different from regular lab content:
1. Content is presented directly in the notebook
2. No step-by-step verification is available due to Jupyter's nature
3. You learn by:
* Reading explanations in markdown cells
* Running example code
* Modifying code to experiment
* Completing exercises within the notebook
This format allows for a more interactive and self-paced learning experience.
# LabEx VM Terminal Interface
Source: https://support.labex.io/en/labex-vm/ttyd
The LabEx Terminal Interface provides a lightweight, browser-based command-line environment powered by TTYD. Built on Ubuntu 22.04, it offers a streamlined interface for command-line operations and text-based tasks.
## Terminal Preview
The Terminal environment is particularly useful for:
1. Command-line focused tasks and operations
2. Server administration and system configuration
3. Text-based programming and debugging
4. Resource-efficient remote access when GUI is not needed
## Access the Terminal
1. If the instructor recommends using the terminal environment by default for the Lab, you'll see the terminal environment when you start it.
2. You can create additional terminal sessions by clicking the + button at the top of the interface.
## Environment Features
The Terminal Interface provides several key features:
1. Multiple Terminal Sessions:
* Create new sessions using the + button
* Switch between sessions using tabs
* Close sessions individually as needed
2. Full Ubuntu Environment:
* Based on Ubuntu 22.04 LTS
* Access to standard Ubuntu repositories
* Support for common command-line tools and utilities
3. Text-Based Tools:
* Vim/Nano text editors
* Command-line compilers and interpreters
* Package management via apt
* Git for version control
## TTYD Features
The Terminal Interface is powered by [TTYD](https://github.com/tsl0922/ttyd) (Terminal Over HTTP) and provides several advanced features:
**Using tmux Commands:**
```bash theme={null}
# Create splits
tmux split-window -h # Split vertically
tmux split-window -v # Split horizontally
tmux split-window -hf # Full-height vertical split
tmux split-window -vf # Full-width horizontal split
# Navigate between panes
tmux select-pane -L # Move to left pane
tmux select-pane -R # Move to right pane
tmux select-pane -U # Move to upper pane
tmux select-pane -D # Move to lower pane
# Resize panes
tmux resize-pane -L 10 # Resize 10 cells to the left
tmux resize-pane -R 10 # Resize 10 cells to the right
tmux resize-pane -U 5 # Resize 5 cells up
tmux resize-pane -D 5 # Resize 5 cells down
# Additional operations
tmux kill-pane # Close current pane
tmux select-layout tiled # Balance pane sizes
```
### Scrolling in tmux
In tmux, **mouse wheel scrolling and ordinary mouse drag-to-select copy do not coexist** in one mode. The terminal must either give the wheel to tmux (for scrolling the scrollback) or leave mouse events to the browser (for highlighting and copying), not both at once with the same gestures.
LabEx keeps mouse support **off** by default so you can select and copy in the browser in the usual way. If you turn mouse mode **on**, the wheel scrolls inside tmux, but normal click-and-drag selection for copy is no longer available until you change mode again.
**Temporarily enable mouse scrolling (current session only):**
```bash theme={null}
tmux set -g mouse on
```
**Permanently enable mouse scrolling (all future sessions):**
```bash theme={null}
echo 'set -g mouse on' >> ~/.tmux.conf && tmux source-file ~/.tmux.conf
```
**When you need copying again:**
* Turn mouse mode off: `tmux set -g mouse off`, or remove or comment out `set -g mouse on` in `~/.tmux.conf` and run `tmux source-file ~/.tmux.conf`.
* Alternatively, some clients let you bypass tmux mouse handling by holding **Shift** while selecting; behavior depends on the browser and TTYD, so toggling mouse off is the reliable way to restore simple copy.
## Usage Scenarios
Common terminal commands you'll use:
```bash theme={null}
# File and Directory Operations
ls -la # List all files with details
cd /path/to/dir # Change directory
mkdir new-dir # Create directory
rm -rf dir # Remove directory
# System Information
uname -a # System information
df -h # Disk usage
top # Process monitor
```
You can use various text editors:
1. Vim:
```bash theme={null}
vim filename.txt # Open/create file in Vim
```
2. Nano:
```bash theme={null}
nano filename.txt # Open/create file in Nano
```
Both editors are pre-installed and ready to use.
Install and manage software packages:
```bash theme={null}
# Update package list
sudo apt update
# Install new packages
sudo apt install package-name
# Remove packages
sudo apt remove package-name
# Search for packages
apt search keyword
```
## Frequently Asked Questions
This is usually caused by a browser extension or a conflict in the browser environment. Try one of the following:
* Reopen the lab in Google Chrome Incognito mode.
* Use another browser, such as Firefox or Microsoft Edge.
If the Desktop loads normally after switching, an extension or setting in the original browser is likely interfering with the connection.
If the page remains at "Starting Terminal service" for a long time, a browser extension or a conflict in the browser environment may be preventing the connection. Try one of the following:
* Reopen the lab in Google Chrome Incognito mode.
* Use another browser, such as Firefox or Microsoft Edge.
If the Terminal connects normally after switching, an extension or setting in the original browser is likely interfering with the Terminal service.
TTYD supports several methods for copy/paste:
1. Using Mouse:
* Select text to copy
* Right-click to paste
2. Using Keyboard:
* Copy: Ctrl+Insert or Ctrl+Shift+C
* Paste: Shift+Insert or Ctrl+Shift+V
Note: Actual shortcuts may vary depending on your browser and operating system.
Yes, you can transfer files using command-line tools:
1. For text content:
* Copy and paste directly into the terminal
* Use text editors to create and modify files
2. For binary files:
* Use the WebIDE interface for file uploads/downloads
* Switch to the WebIDE tab for file management operations
Remember that all files are temporary and will be lost when your session ends.
You can install software using apt:
```bash theme={null}
# Update package list
sudo apt update
# Install software
sudo apt install package-name
```
Note that:
1. Installations are temporary and will be reset when your session ends
2. You have full sudo privileges for package management
3. Only install packages needed for your current lab
The Terminal Interface is ideal when:
1. You need a lightweight environment that loads quickly
2. Your tasks are primarily command-line based
3. You want to focus on terminal commands without GUI distractions
4. You're working on a low-bandwidth connection
5. You're completing labs that don't require graphical interfaces
Consider using Desktop or WebIDE interfaces if you need GUI applications or advanced IDE features.
If your terminal becomes unresponsive:
1. Try pressing Ctrl+C to interrupt the current process
2. Create a new terminal session using the + button
3. If needed, refresh the browser page to reset all sessions
Note that refreshing will close all current terminal sessions and start fresh ones.
# LabEx VM WebIDE Interface
Source: https://support.labex.io/en/labex-vm/webide
The LabEx WebIDE provides a modern, VS Code-like development environment for coding tasks. Built on Ubuntu 22.04, it offers a familiar interface for writing, compiling, and running code across multiple programming languages.
## WebIDE Preview
The WebIDE environment is particularly useful for:
1. Writing and debugging code in various programming languages (Java, JavaScript, Python, etc.)
2. Web development projects with live preview capabilities, see [Create Your First HTML Page in WebIDE
](https://labex.io/tutorials/html-create-your-first-html-page-in-webide-451041)
3. Managing project files and directories through an intuitive interface
4. Integrated terminal operations for command-line tasks
## Environment Layout
The WebIDE interface consists of several key components:
1. Left Sidebar:
* File explorer for project navigation
* Search functionality
* Source control for Git operations
* Extensions panel
2. Editor Area: Main coding workspace
3. Bottom Panel: Terminal, problems, and output
4. Status Bar: Quick access to settings and live preview
5. Top Menu Bar: File, Edit, View, and other options
## Terminal Access
You can open the terminal in two ways:
1. Click the icon in the left bottom corner, and switch to the Terminal tab;
2. Use the top menu: Terminal > New Terminal
## Preview HTML
To preview your HTML file:
1. In the WebIDE, click on the "Go Live" button at the bottom right corner.
2. A new browser tab will open with your HTML page rendered.
3. Or, you can click on the "Web 8080" tab to open the preview.
4. If your project under a subdirectory, you can access it by click the subdirectory name in the explorer, then it will automatically preview the `index.html` file in that directory.
5. If your project has multiple HTML files, including `index.html`, you can append the file name to the URL to preview it directly. For example, `https://xxx.labex.io/another-file.html`.
6. You can open the preview in a new tab by clicking the "Open in New Tab" button. It will open the preview in a new browser tab.
"Go Live" will automatically:
* Start a web server
* Provide real-time updates as you modify your code
> Tips: LabEx VM hosts the preview on port 8080. You can share the preview link with others to showcase your work. After your lab vm is stopped, the preview link will no longer work.
## Usage Scenarios
This is a sample Java lab that demonstrates how to write, compile, and run a
simple Java program using the LabEx WebIDE.
Working with Java projects in WebIDE:
1. Create a new Java file via the explorer
2. Write your Java code with syntax highlighting
3. Compile and run in the terminal:
```bash theme={null}
javac MyClass.java
java MyClass
```
4. View compilation errors and warnings in real-time
This is a sample HTML lab that demonstrates how to create a simple web page
using the LabEx WebIDE.
For frontend development tasks:
1. Create HTML, CSS, and JavaScript files
2. Click the "Go Live" button in the bottom right corner
3. Access your web page through:
* Web 8080 tab at the top of the LabEx VM
* Create new port preview tabs using the + button
Note: Your project is automatically deployed to a public URL on the LabEx server, making it accessible through the Web tabs.
This is a sample Python challenge that demonstrates how to process astronaut
names using the LabEx WebIDE.
For Python programming:
1. Create a Python file in the explorer
2. Write your Python code with:
* Syntax highlighting
* Code completion
* Error detection
3. Run your script in the terminal:
```bash theme={null}
python3 script.py
```
4. Use the integrated debugger for step-by-step execution
## Frequently Asked Questions
LabEx VM automatically deploys your web projects:
1. Default port 8080:
* Click the "Web 8080" tab at the top of the LabEx VM
* Your application will be accessible through a public URL
2. Custom ports:
* Click the + button to create new port preview tabs
* Each port gets its own public URL
* Useful for running multiple services (e.g., frontend and backend)
Note: Unlike local development, you don't access localhost directly as LabEx runs in the cloud.
Common shortcuts in the WebIDE:
* **File Operations**
* New File: Ctrl+N
* Save: Ctrl+S
* Find: Ctrl+F
* Replace: Ctrl+H
* **Panel Controls**
* Toggle Sidebar: Ctrl+B
* Toggle Terminal: Ctrl+\`
* Command Palette: Ctrl+Shift+P
* **Editor Features**
* Multi-cursor: Alt+Click
* Select All Occurrences: Ctrl+Shift+L
* Format Document: Shift+Alt+F
Yes, you can install additional tools using the Ubuntu package manager:
```bash theme={null}
sudo apt update
sudo apt install package-name
```
For language-specific package managers:
* Node.js/npm:
```bash theme={null}
npm install package-name
```
* Python/pip:
```bash theme={null}
pip install package-name
```
Remember that installations are temporary and will be reset when your session ends.
The WebIDE provides several ways to manage files:
1. **Upload Files:**
* Drag and drop files into the explorer
* Use the upload/download after right-clicking in the explorer
2. **Download Files:**
* Right-click the file in explorer
* Select "Download"
3. **Copy/Paste:**
* Text content can be copied directly between your local machine and the WebIDE
* Binary files should use the upload/download features
Remember that all files are temporary and will be lost when your session ends.
# Managing LabEx Account
Source: https://support.labex.io/en/my-account/managing-account
Learn how to manage your LabEx account.
## My Profile
My profile page displays your course learning records, skill tree learning records, credit history, subscription details, and badges earned, among other information.
## Reset Password
If you forget your password, click the 'Forgot Password' button on the login page. Enter your registered email, and you'll receive an email with instructions to reset your password.
## Modify Account Settings
* **Changing Settings:** To change your nickname, email, or password, go to the 'Settings' page accessible from the dropdown under your avatar.
* **Email Changes:** Require verification of the new email.
* **Password Changes:** After changing your password, the system will require you to log in again.
## Delete Account
In the 'Settings' page, click 'Delete Account' in the bottom right corner. Please note that once your account is deleted, it cannot be recovered.
## Manage Email Notifications
You can configure or turn off Forum email notifications in the 'Settings' page. Alternatively, you can unsubscribe from email notifications by clicking the 'Unsubscribe' link in any email you receive from LabEx.
## Invite Friends
Click on 'Invite Friends' in the drop-down menu under your avatar to get your unique referral link. Share this link with friends or post it on communities or social media platforms.
# Sign Up for a LabEx Account
Source: https://support.labex.io/en/my-account/register-for-free
How to sign up for a LabEx account.
## Register Account
On the [registration page](https://labex.io/register), you can choose to sign up using Google or Github third-party login. Alternatively, you can register using an email and password.
## Email Verification
If you register with an email, you'll need to activate your account by clicking on the verification link sent to your email. This step is necessary to start labs on LabEx.
# Asking Questions on LabEx
Source: https://support.labex.io/en/using-labex/asking-questions
Learn how to ask questions and provide feedback during your LabEx learning journey.
LabEx provides multiple channels for asking questions and providing feedback based on the granularity of the content you're working with.
## Questions About Specific Content
If you have questions or want to report errors in specific paragraphs of content:
1. Select the relevant text in the content.
2. Click the **Report Issue** button.
3. Provide detailed explanation of your question or the issue you've found.
## Questions About Specific Lab Step
If you have questions about specific step of a lab:
1. Use the **Feedback** button in the Labby dialog box. You can submit feedback for this lab even if you have not started the VM.
2. Click the button and select the sad face emoji.
3. Choose the appropriate question type and provide detailed information.
## Questions About Entire Lab Content
If you have questions about an entire lab:
1. At the end of the lab, use the comment collection box.
2. Select the sad face emoji.
3. Choose the appropriate question type and provide detailed information.
## Questions About Labby AI Validation
If you believe there is an issue with Labby AI's validation, you can click **Report Issue** to provide feedback after validation fails.
## Best Practices
1. Adding screenshots is the most recommended approach as it helps us visually understand your issue.
2. If screenshots are not necessary, provide detailed descriptions to help us understand your intent.
## When We Respond
1. We do **not** respond to any content-related questions submitted via email or discord, unless we specifically request you to send details through email.
2. If your question is described in detail or is a correction to our lab content, you are likely to receive a response. Replies will be sent via system email, and you can also find the corresponding question post through the link in the email to follow up.
# LabEx Badges
Source: https://support.labex.io/en/using-labex/badges
Badges are unique rewards that showcase your learning achievements.
We've designed four categories of badges: Lab Badges, Skill Badges, [Skill Tree](/en/using-labex/skill-trees) Badges, and Streak Badges.
**Lab Badges:** These badges are awarded based on the number of Labs you've completed.
* **First Lab Conqueror**: This badge will signify the completion of the first lab, marking your first step in your journey.
* **Course Pioneer**: This badge is given when you complete your first course, indicating your commitment to learning and the successful completion of a comprehensive set of labs.
* **Lab Enthusiast**: Awarded after completion of 10 labs, this badge represents your commitment to mastering new skills.
* **Lab Expert**: After finishing 20 labs, you receive this badge, highlighting your extensive practical experience.
* **Lab Champion**: This badge is given after 50 labs, showcasing your broad range of hands-on learning experiences.
* **Lab Master**: This top-level badge is awarded after completing 100 labs, marking you as a true LabEx veteran with an expansive set of skills
**Skill Badges:** Earn these badges by reaching specific Skill levels.
* **Starter Skills Badge** (5 Skills): Unlocking Potential, Awarded for achieving your first 5 skills.
* **Rising Talent Badge** (10 Skills): Gaining Momentum, Celebrate mastering 10 skills.
* **Skill Builder Badge** (50 Skills): Half Century Achiever, Remarkable milestone of 50 skills attained!
* **Skill Expert Badge** (100 Skills): Century Mark, A testament to your dedication with 100 skills mastered.
**[Skill Tree](/en/using-labex/skill-trees) Badges:** Earn a badge by mastering all the Skills on a specific [Skill Tree](/en/using-labex/skill-trees). Note: You don't need to finish all Labs; just gain all the Skills to achieve these badges.
**Streak Badges:** Earn these badges by completing Labs on consecutive days.
* **5 Streaks Badge**: 5-Day Champion: Celebrating your consistent 5-day learning streak!
* **10 Streaks Badge**: 10-Day Streak: A true mark of your dedication to learning for 10 consecutive days.
* **50 Streaks Badge**: 50-Day Milestone: Impressive! You've maintained a 50-day learning streak.
* **100 Streaks Badge**: 100-Day Achievement: Outstanding commitment! A 100-day streak showcasing your unwavering dedication.
* **365 Streaks Badge**: A whole year of continuous learning! Your commitment is unmatched, showcasing a remarkable 365-day streak.
# LabEx FAQs
Source: https://support.labex.io/en/using-labex/faq
Frequently asked questions you may encounter while using LabEx.
Common questions and answers about using LabEx.
## General FAQs
Your free virtual machine quota resets **16 hours after you last used a VM**, not at local midnight (00:00).
The system resets your free VM quota **16 hours after you last exhausted your full free allocation**—please confirm your quota has reset. Also, free users may receive **up to** three temporary VM uses per day; that does not guarantee you will get three. When overall load on LabEx is high, we prioritize the Pro experience and the system may temporarily reduce free-tier quotas.
For a smoother experience, you do not need to stop the VM manually, and the VM interface does not include a Stop button. Compute resources are reclaimed automatically after the system detects extended inactivity, or when the countdown ends.
LabEx VMs use different operating systems, instance types, and may run different setup scripts. Each lab's VM can therefore differ, which leads to different preparation steps and affects startup time. In general, Linux-related VMs typically start within tens of seconds, while Docker, Kubernetes, RHEL, and similar setups may take several minutes.
## Related FAQs
* [**LabEx Pro FAQs**](/en/labex-pro/labex-pro-faq) — subscriptions, payments, certificates, and Pro benefits
* [**Desktop Interface FAQs**](/en/labex-vm/desktop) — desktop usage, NoVNC errors, clipboard issues, and performance
* [**WebIDE Interface FAQs**](/en/labex-vm/webide) — application previews, keyboard shortcuts, packages, and file transfers
* [**Jupyter Interface FAQs**](/en/labex-vm/jupyter) — Python packages, keyboard shortcuts, and educational notebooks
* [**Terminal Interface FAQs**](/en/labex-vm/ttyd) — terminal connections, copy and paste, software installation, and frozen sessions
# LabEx Green Learn Program
Source: https://support.labex.io/en/using-labex/green-learn-program
Exclusively for LabEx Pro Annual and 2-Year Plan users subscribed before June 1, 2025.
Green Learn is LabEx's unique initiative where every time you complete a [Skill Tree](/en/using-labex/skill-trees), we celebrate your achievement by planting a tree in your honor. This means your learning journey contributes not just to your personal skill growth, but also to the health of our planet.
As a tech startup passionate about sustainability, LabEx shares your commitment to making our world a better place. Let's grow together – in knowledge and in our care for the environment.
The Green Learn Program will pause on June 1, 2025 due to partner changes.
Subscriptions after this date won't include this benefit. Only users who
subscribe to the Annual or 2-Year Plan before June 1, 2025 can still plant a
tree after completing a Skill Tree.
Eligible Annual and 2-Year members (subscribed before June 1, 2025) can fill
out the form to plant a real tree after completing a Skill Tree.
Pick a [Skill Tree](/en/using-labex/skill-trees) with "Green Learn" tag and start learning. Monitor your progress in acquiring Skills. Once you've completed all required Skills in the [Skill Tree](/en/using-labex/skill-trees), simply [fill out the form](https://forms.gle/QRLFkQyuz7djBWaV8) with your name and email, and choose the region for your tree. You'll receive your One Tree Planted certificate within a week. Then, you can move on to your next [Skill Tree](/en/using-labex/skill-trees).
**Note:**
* You get one tree for each completed [Skill Tree](/en/using-labex/skill-trees). Complete them all, and you've planted a forest!
* Please submit the tree-planting form only once per [Skill Tree](/en/using-labex/skill-trees) per account.
* Only Skill Trees marked with the Green Learn tag qualify for the tree planting.
* Avoid cheating or account sharing; let's keep this initiative fair and impactful.
* Only [Annual and 2-Year LabEx Pro members](/en/labex-pro/labex-pro-benifits) are eligible for the Green Learn program.
Every completed [Skill Tree](/en/using-labex/skill-trees) is more than just a learning milestone; it's a step towards a greener earth.
You earn a new skill tree and a real tree planted for you. Your dedication to learning not only betters yourself but also our planet.
# LabEx AI Assistant
Source: https://support.labex.io/en/using-labex/labby-ai
Labby is your personal AI assistant that guides you through your learning journey with LabEx.
## Your Personal AI Assistant
At the heart of your learning journey with LabEx is **Labby**, our AI learning assistant. Designed to enhance your learning experience, Labby offers step-by-step guidance, code verification, and interactive support. Simply follow along with Labby for a seamless learning process.
Labby's key functionalities include:
* **Guided Lab Steps**: Labby delivers validated lab content, detailing each step you need to take in the VM.
* **Step Verification**: After you complete a step, Labby runs a verification script in the VM to check your progress. If something's not right, Labby provides helpful tips or solutions.
* **Code Debugging**: Encounter a snag in your code? Labby is there to assist in debugging.
* **Concept Clarification**: Need a concept broken down? Ask Labby for a clear explanation.
## Debugging Made Easy with Labby
To debug with Labby, simply paste your code's error message. If Labby needs more context, provide additional hints or paste the entire code block. Here's an example format for debugging requests:
```txt theme={null}
Here's my code:
And the error message:
Can you help me debug this?
```
## Sharing Feedback with Labby
Got a suggestion or feedback, use the `/comment` command to leave your thoughts. Your comments are directly sent to the LabEx team, helping us to continually enhance your learning experience.
# Use LabEx MCP in AI Agents
Source: https://support.labex.io/en/using-labex/labex-mcp
Connect your AI agent with LabEx learning data through the LabEx MCP instructions.
LabEx MCP helps compatible AI agents use LabEx learning data when answering questions, planning study paths, or helping you work through Linux Journey and LabEx learning content.
## Quick Setup
Open your AI agent and enter the following instruction:
```txt theme={null}
Read https://mcp.labex.io/skill.md and follow it to use LabEx data in your AI agent.
```
Your agent will read the current LabEx MCP instructions and follow the setup or usage steps that apply to that agent.
## What You Can Ask
After setup, you can ask your AI agent to use LabEx data for tasks such as:
* Finding Linux Journey lessons for a specific Linux topic
* Recommending LabEx labs, courses, or projects for your skill level
* Creating a learning path for Linux, DevOps, cybersecurity, data science, or programming
* Explaining a LabEx lab step or command in more detail
* Suggesting hands-on practice after you finish a lesson
## Tips
* Mention the topic, goal, and your current skill level.
* Include the LabEx or Linux Journey page link when you want help with specific content.
* Share only the information needed for the task. Do not paste passwords, private tokens, or other sensitive data into your agent.
If your agent cannot read the URL, make sure it has web access or supports remote instruction files.
# Linux Journey Now Part of LabEx
Source: https://support.labex.io/en/using-labex/linux-journey-now-part-of-labex
Linux Journey is now part of LabEx and will remain a free, open-source, community-driven learning project.
Linux Journey was originally created by Cindy Quach in 2015 to help beginners learn Linux through simple, approachable, and completely free lessons.
Since then, Linux Journey has helped millions of learners around the world begin their Linux learning journey and discover the open-source community.
Today, Linux Journey ([linuxjourney.com](https://linuxjourney.com)) is officially part of LabEx.
The original linuxjourney.com website now automatically redirects to:
[https://labex.io/linuxjourney](https://labex.io/linuxjourney)
LabEx will continue to preserve Linux Journey as an independent, community-driven, and completely free learning project.
## Our Commitment
* Linux Journey will remain completely free and open source
* The original learning philosophy and beginner-friendly experience will be preserved
* Existing lessons will continue to be maintained and improved
* New Linux tutorials will continue to be added
* The project will remain open to community contributions
## Project History
Linux Journey was founded by Cindy Quach in 2015 with the goal of making Linux education accessible to everyone.
Over the years, contributors from the global Linux and open-source community have helped improve lessons, fix issues, contribute translations, and support millions of learners worldwide.
We would like to sincerely thank Cindy Quach and all historical contributors who helped make Linux Journey one of the most beloved free Linux learning resources on the internet.
## Official GitHub Repository
The official Linux Journey project repository is now maintained by LabEx Labs:
[GitHub - labex-labs/linuxjourney: Courses and lesson content for linuxjourney.com](https://github.com/labex-labs/linuxjourney)
The repository preserves the project's history and continues to welcome community contributions, discussions, fixes, and improvements.
We encourage the community to continue contributing and helping Linux Journey grow for future learners around the world.
## Looking Forward
With the support of LabEx, Linux Journey will continue evolving with:
* Beginner-friendly Linux learning paths
* Modernized infrastructure and ongoing maintenance
* Continued free access for learners worldwide
Our mission remains the same:
Help more people learn Linux, freely and openly.
Thank you to everyone who has supported Linux Journey throughout the years.
# LabEx Quick Start
Source: https://support.labex.io/en/using-labex/quick-start
Skill Tree is a core concept of LabEx, providing you with a systematic and intelligent learning experience.
LabEx is a platform for learning new programming skills by hands-on labs. You can learn new skills by completing labs and challenges, and you can showcase your skills by building projects.
After signing up, you'll be prompted to join a Skill Tree.
Each Skill Tree contains a set of skills to unlock.
Labs and challenges are organized into courses.
Use the skills you've learned to build projects.
## Skill Trees
Skill Trees are a collection of skills that are related to a specific topic. Each Skill Tree contains a set of labs and challenges that are organized into courses. Learn more about how they work in [LabEx Skill Trees](/en/using-labex/skill-trees).
The existing skill trees will be continuously updated and modified.
After signing up, you'll be prompted to join a Skill Tree. You can also join a Skill Tree at any time by visiting [labex.io/learn](https://labex.io/learn).
Labs are hands-on learning experiences that allow you to practice your skills in a real-world environment. While all LabEx content is referred to as "Labs," there are actually two distinct types:
* **Guided Lab** (beaker icon): Ideal for beginners, these labs focus on conceptual explanations and step-by-step guidance. Users can complete the practice by following along with each instruction.
* **Challenge Lab** (PASS icon): Designed for testing and challenging advanced users, these labs typically contain minimal explanatory content. They provide only objectives and requirements, requiring users to independently attempt and complete the challenges.
You can distinguish between Guided Labs and Challenge Labs by the icons displayed on the left side of each lab.
You can start a lab by clicking on the `Start` button.
When you start a lab, LabEx will automatically create a new [Virtual Machine (VM)](/en/using-labex/virtual-machine) for you. You can follow the instructions in the lab to practice in the VM.
Each lab and challenge is associated with a set of skills. Completing a lab or challenge illuminates the corresponding skills, and lighting up the entire Skill Tree indicates proficiency in that area.
After you unlock all the skills in a Skill Tree:
* You'll receive a [Certificate of Completion](/en/labex-pro/certificates-of-completion).
* We will [Plant a Real Tree](/en/using-labex/green-learn-program) on your behalf.
Use the skills you've learned to build projects. Projects are a great way to showcase your skills and share your work with others.
Projects also contains a set of skills that are related to a specific topic. Each project contains a set of labs and challenges.
# LabEx Skill Trees
Source: https://support.labex.io/en/using-labex/skill-trees
Skill Trees organize LabEx learning into clear, measurable skill maps for each technical topic.
## What Are Skill Trees?
Skill Trees are one of the core learning concepts in LabEx. A Skill Tree maps a technical topic, such as Linux, Python, Docker, Git, or SQL, into a set of practical skills that you can learn, practice, and prove through hands-on labs. If you are new to LabEx, start with the [Quick Start](/en/using-labex/quick-start) guide first.
For a deeper look at the design ideas behind Skill Trees V2, read the technical brief: [LabEx Skill Trees V2](https://labex.io/blog/labex-skill-trees-v2).
Instead of showing only a course list, a Skill Tree helps you understand the full ability space behind a topic:
* What skills belong to this area
* Which skills you have already unlocked
* Which skills still need more practice
* How labs and challenges connect to your progress
## Designed as Skill Maps, Not Just Course Paths
A Skill Tree is designed as a skill map. It does not simply tell you what lesson comes next. It shows the capabilities that make up a topic and lets your progress grow as you complete real practice.
This makes Skill Trees useful even when you learn non-linearly. For example, you may already be comfortable with Linux file operations but still need more practice with services, networking, or process management. The Skill Tree keeps those abilities visible as separate skills.
## How Skills Are Organized
Each Skill Tree contains a curated set of skills for one technical direction. Every skill is meant to represent a reusable ability, not a tiny command option or a single lab step.
For example:
* A Linux Skill Tree may include permissions, processes, services, networking, and logs.
* A Python Skill Tree may include data structures, functions, exceptions, modules, files, testing, and type hints.
* A Docker Skill Tree may include containers, images, Dockerfiles, volumes, networks, registries, and Compose.
The goal is to keep every skill specific enough to practice and evaluate, while broad enough to be useful across many labs and real tasks.
## How Labs Unlock Skills
LabEx content is connected to skills behind the scenes. Most labs run inside a [LabEx Virtual Machine](/en/using-labex/virtual-machine), and [Labby AI](/en/using-labex/labby-ai) can help explain concepts, verify steps, and debug issues while you practice.
Guided Labs teach skills through step-by-step practice in a real LabEx virtual machine.
Challenge Labs help verify whether you can apply skills independently.
A single lab can cover multiple skills, and a single skill can be practiced through multiple labs. This gives your progress a stronger foundation than simply completing one lesson or reading one explanation.
When you complete labs and challenges, LabEx updates the related skills in your Skill Tree.
## Why Skill Trees Matter
Skill Trees give your learning journey more structure and feedback:
* **Clear direction**: See the important skills in a topic before choosing what to practice next.
* **Measurable progress**: Track unlocked skills instead of only counting completed labs.
* **Practical focus**: Skills are connected to hands-on labs and challenges, not just reading material.
* **Flexible learning**: You can move across skills based on your background and goals.
* **Better recommendations**: LabEx can use your skill progress to suggest more relevant learning content.
## Completing a Skill Tree
Completing a Skill Tree means you have unlocked all the skills in that topic. You do not always need to finish every lab in a topic if you have already gained the required skills through other connected labs or challenges.
After you complete a Skill Tree, you can earn a [Skill Tree Badge](/en/using-labex/badges) and, for eligible learning paths, receive a [Certificate of Completion](/en/labex-pro/certificates-of-completion).
Some Skill Trees may also qualify for the [Green Learn Program](/en/using-labex/green-learn-program), where eligible completed Skill Trees can contribute to tree planting.
You can explore available Skill Trees from [labex.io/learn](https://labex.io/learn).
# LabEx Virtual Machine (VM)
Source: https://support.labex.io/en/using-labex/virtual-machine
Virtual Machine is the infrastructure of LabEx, providing you with hands-on programming experience.
## VM and Labs
LabEx provides a linux virtual environment for you to complete the labs. When you start a lab, it will automatically create a VM for you.
## What is VM?
VM stands for Linux Virtual Machine. It allows you to experience hands-on operations, get creative, and try the code out.
LabEx's VM provides different interfaces for you to complete the labs.
1. [**Desktop**](/en/labex-vm/desktop): A Linux GUI Desktop. You can use it to run GUI applications.
2. [**WebIDE**](/en/labex-vm/webide): A VSCode-like web-based IDE. You can use it to write code.
3. [**Terminal**](/en/labex-vm/ttyd): A command-line interface. You can use it to run commands and write code.
You can switch between different interfaces by clicking the tabs on the top left corner.
Most of the time, LabEx considers the first interface as the most suitable for the current lab. You can also switch to other interfaces if you want to try different ways to complete the lab.
## Restart VM
You can restart the VM by clicking the `Restart` button on the top right corner. It will restart the VM and reset the environment.
There are some cases where you need to restart the VM, such as:
1. The VM is not responding.
2. You want to reset the environment.
## Basic information about VM
LabEx VMs current use the `Ubuntu 22.04` operating system.
The default user is `labex`, who has `sudo` privileges. No password is set for the `root` and `labex` user.
You can use the `sudo` command to run commands as the `root` user.
# LabEx Support Center
Source: https://support.labex.io/en/using-labex/welcome
Welcome to the LabEx Support Center. Here you can find answers to our most frequently asked questions.
LabEx is an interactive, hands-on learning platform dedicated to coding and technology. It combines labs, AI assistance, and virtual machines to provide a no-video, practical learning experience.
What sets LabEx apart is its focus on learning through practice rather than watching videos. Features include:
* A strict "Learn by Doing" approach with exclusive hands-on labs and no videos.
* Interactive online environments within the browser, with automated step-by-step checks.
* A structured content organization with the [Skill Tree](/en/using-labex/skill-trees) based learning system.
* A growing learning resource of 30 Skill Trees and over 6,000 Labs.
* The AI learning assistant Labby, built on ChatGPT, providing a conversational learning experience.
***
Our AI assistant Labby has studied all the content of the help center, so you can also ask her questions directly on LabEx Website.
If you can't find the answer you're looking for, you can contact us by email or by creating a ticket.
Post an Feedback in our Forum
Send an Email to our Support Team