# 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. LabEx on iPhone: sidebar with Learn, Courses, and Recents ## 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. LabEx on macOS: Courses view with Continue Learning, catalog grid, and path filters ## 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**. LabEx on iPhone: lab instructions with the Labby composer and keyboard 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. LabEx on iPhone: verification result sheet with re-check controls ## 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). LabEx on iPhone: Labs sheet for the current course Use the **checklist** control in the top bar for the **step outline** of the lab you are in. LabEx on iPhone: step outline menu from the top bar ## 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. Download on the App Store Download on the Mac App Store 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). LabEx on iPhone: a lab step with instructions and the main Continue control ## 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). LabEx on iPhone: sidebar with Learn, Courses, and Recents ## 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. LabEx on macOS: learning layout with sidebar, VM preview area, and step panel # 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. LabEx on iPhone: LabEx Pro pricing and plan cards ## 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. LabEx on iPhone: Profile with overview and Log Out ## 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**. LabEx on iPhone: VM sheet before start, with the desktop preview * **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. LabEx on iPhone: VM sheet showing setup progress The **more** menu reaches **Interfaces** (switch tty sessions) and **Stop VM** while the machine is running. LabEx on iPhone: VM sheet menu with Interfaces and Stop VM **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. LabEx on macOS: embedded terminal in the workspace with assistant and verification panel ## 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). LabEx Pro Certificate ## 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: Subscription 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. Share to Google Classroom from Courses #### 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. Share to Google Classroom from labs #### 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. Share to Google Classroom from tutorials ### 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. Image ## 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. Image * 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). Image 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). Image **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. Image 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. Image 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 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 Tabs ## 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. Applications Menu ## Using the Terminal To access the command line interface within the Desktop environment: Terminal 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) Terminal Shortcuts 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. 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 Upload Files 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. Terminal Tab 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 Jupyter 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 Notebook Tabs ## Interface Layout The Jupyter interface consists of several key components: 1. Main Work Area: Main Work Area * Notebook cells (code and markdown) * Output display * Toolbar with common actions 2. Top Menu Bar: 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 Code Cell 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 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. Terminal Tabs ## 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 ``` Terminal Split Screen ### 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 Upload Files 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 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; Terminal Access 2. Use the top menu: Terminal > New Terminal Terminal Access ## Preview HTML To preview your HTML file: 1. In the WebIDE, click on the "Go Live" button at the bottom right corner. Go Live button in WebIDE 2. A new browser tab will open with your HTML page rendered. HTML page rendered in browser tab 3. Or, you can click on the "Web 8080" tab to open the preview. WebIDE Web 8080 tab 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. WebIDE subdirectory preview 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`. WebIDE multiple HTML files preview 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. WebIDE Open in New 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: Java Development 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: Go Live Button 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: Python Development 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: Web Preview 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 Upload Files 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. Specific Content Report Issue ## 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. Specific Lab Step Report Issue ## 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. Entire Lab Content Report Issue ## 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. Deep Inspection Report Issue ## 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. 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. Image ## 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. Image ## 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. Download on the App Store Download on the Mac App Store Get it on Google Play Available in the Chrome Web Store ## 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). Skill Trees Image 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). Join Skill Tree Image 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. Guided Lab Image 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. Start Lab Image 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. Unlock Skills Image 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. Projects Image # 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 Skill Trees List ## 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. Skill Tree ## 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. Unlock Skills ## 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. Image LabEx's VM provides different interfaces for you to complete the labs. Image 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. Image 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. Download on the App Store Download on the Mac App Store