October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk13 min

How to Run Selenium Tests with ChromeDriver on a Linux VPS

A practical Linux VPS guide to running Selenium with headless Chrome: install an isolated Python environment, let Selenium Manager resolve ChromeDriver or pin it manually, run a smoke test, and troubleshoot the failures most common on servers.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To run Selenium tests on a Linux VPS, install Python and Selenium, make a supported Chrome or Chrome for Testing browser available, start a WebDriver session with headless Chrome, and run a smoke test that always closes the driver. With a current Selenium release, you normally do not need to download ChromeDriver yourself: Selenium Manager, included with Selenium since version 4.6, can detect the browser, resolve a compatible driver, download it, and cache it locally.

The practical pattern is simple, but VPS-specific issues—no graphical display, missing shared libraries, restricted outbound traffic, architecture differences, permissions, memory pressure, and stale driver paths—are responsible for most failures. The sections below show a reproducible setup and a diagnostic path when ChromeDriver fails.

As an Amazon Associate I earn from qualifying purchases.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What you need on the VPS

A Selenium session consists of three separately relevant pieces: your test code, Selenium’s client library, and a Chrome browser controlled through WebDriver. ChromeDriver is the separate executable that translates WebDriver commands into Chrome commands. Selenium creates the session through ChromeOptions and the W3C WebDriver capability model.

Before installing anything, confirm these conditions:

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
  • A supported Linux distribution and CPU architecture, with enough memory for the browser and the number of sessions you plan to run.
  • Python 3 and permission to create a virtual environment.
  • Chrome or Chrome for Testing installed on the VPS, or a deliberate plan to let Selenium Manager obtain a managed browser.
  • Outbound network access if Selenium Manager must discover or download a driver or browser.
  • A non-root account that can execute the browser, driver, and test files.

A graphical desktop is not required. A VPS normally runs without an X or Wayland display, so the browser must be started in headless mode.

Do you still need to download ChromeDriver?

Usually, no. Selenium Manager is the official driver manager shipped with each Selenium release as of version 4.6. When your code creates a Chrome driver without supplying a driver executable, Selenium Manager can discover the browser, determine a compatible driver, download it, and reuse it from its local cache.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The default cache is documented as ~/.cache/selenium. The manager also has configuration for browser and driver versions, browser paths, driver paths, cache location, mirrors, proxies, offline operation, and timeouts. Those controls are useful when a build must be repeatable or the VPS cannot reach vendor endpoints.

Manual ChromeDriver installation remains valid when you need to pin an exact binary, operate without network access, use an internal mirror, or support a platform and browser combination that the manager cannot obtain automatically. In that case, pass the executable explicitly with a Selenium Service object and keep the browser and driver versions under the same deployment policy.

Approach Best fit Advantages Trade-offs
Selenium Manager New setups and ordinary online test workers Less installation code; resolves and caches a compatible driver Needs discovery/download access unless artifacts are already cached; automatic updates need release control
Manually pinned driver Offline, regulated, or tightly reproducible deployments Exact executable and version are controlled by your build You must update the driver when the browser changes and maintain its path and permissions

Step 1: Create an isolated Python environment

Use a virtual environment so the VPS’s operating-system Python packages do not determine which Selenium version your test receives. The following commands work on distributions that provide the usual python3 and venv packages; package names can vary between distributions.

  1. Update package metadata and install Python, pip, and virtual-environment support:

    Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
    sudo apt-get update
    sudo apt-get install -y python3 python3-pip python3-venv
  2. Create a directory for the test and enter it:

    mkdir -p ~/selenium-tests
    cd ~/selenium-tests
  3. Create and activate the virtual environment:

    python3 -m venv .venv
    . .venv/bin/activate
  4. Install Selenium:

    python -m pip install --upgrade pip
    python -m pip install --upgrade selenium

Check that the interpreter is the one in the environment:

which python
python -c "import selenium; print(selenium.__version__)"

For a deployment rather than an experiment, record the Selenium version in your dependency file and install that exact version in CI. Pinning the client library does not by itself pin the browser or driver, so record those versions as well when repeatability matters.

Step 2: Install or select a Chrome browser

You have two supported choices. A vendor-installed Chrome build is managed by your operating-system or image process. A Selenium Manager–managed browser is obtained and cached by Selenium according to its configuration. Choose one deliberately; do not install several unrelated browser copies and then rely on whichever executable happens to be found first.

Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
Browser strategy When to choose it What to record
Image- or package-installed Chrome Your VPS image is rebuilt centrally and outbound downloads are restricted during tests Browser channel, version, executable path, architecture, and image revision
Chrome for Testing or another managed browser artifact You want the browser artifact to travel with the test environment Artifact version, unpacked location, checksum policy, and update schedule
Selenium Manager browser management The worker can reach required endpoints or has a prepared cache Manager configuration, cache path, proxy/offline settings, and resolved versions

Confirm that the browser is discoverable by the account that will execute the tests. If it is installed in a nonstandard location, set the browser path in ChromeOptions rather than assuming automatic discovery will find it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Do not treat the browser package and ChromeDriver as interchangeable. ChromeDriver is the WebDriver server executable; the browser is the process it controls. A successful package installation of one does not prove that the other is present or compatible.

Step 3: Start Chrome headlessly

The smallest useful Python test lets Selenium Manager supply the driver:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("--headless")

driver = webdriver.Chrome(options=options)
try:
    driver.get("https://example.com")
    print(driver.title)
finally:
    driver.quit()

Save it as smoke_test.py and run it while the virtual environment is active:

python smoke_test.py

The expected result is the page title printed to standard output, followed by a clean return to the shell. The finally block is important: it closes the browser and the driver even when navigation or an assertion fails.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use a browser path when discovery is ambiguous

If more than one Chrome installation exists, or the browser is stored outside the standard locations, set the binary explicitly:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("--headless")
options.binary_location = "/path/to/chrome"

driver = webdriver.Chrome(options=options)
try:
    driver.get("https://example.com")
    assert driver.title
finally:
    driver.quit()

Replace the example path with the executable used by your image. Do not copy a path from a different VPS architecture or user account without checking that it exists and is executable.

Use a manually pinned driver when required

When a deployment supplies its own ChromeDriver, point Selenium at that file with a Service object:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service

options = Options()
options.add_argument("--headless")
service = Service("/opt/webdrivers/chromedriver")

driver = webdriver.Chrome(service=service, options=options)
try:
    driver.get("https://example.com")
    print(driver.title)
finally:
    driver.quit()

Verify the path, ownership, and execute bit before blaming compatibility:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
ls -l /opt/webdrivers/chromedriver
file /opt/webdrivers/chromedriver

Keep the pinned driver with the deployment manifest. A manual path left over from an older image can override Selenium Manager and produce a misleading “driver not found” or session-creation error.

Step 4: Turn the smoke test into a real check

A title-only smoke test proves that a session was created and a page loaded. A production check should assert a stable result and report enough context to diagnose a failure.

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By

options = Options()
options.add_argument("--headless")

driver = webdriver.Chrome(options=options)
try:
    driver.get("https://example.com")
    heading = driver.find_element(By.TAG_NAME, "h1").text
    if heading != "Example Domain":
        raise AssertionError(f"unexpected heading: {heading!r}")
    print("smoke test passed")
finally:
    driver.quit()

Use selectors that are stable in your application and set explicit waits for asynchronous pages instead of inserting arbitrary sleeps. Keep one clear ownership rule: the function or fixture that creates a driver must also quit it.

Headless options: add only what the VPS needs

--headless is the essential option on a server without a display. Other flags should be added in response to a verified environment requirement, not copied from a generic snippet. For example, a constrained VPS may expose a small shared-memory mount; if Chrome reports shared-memory failures, investigate the mount and workload before choosing a workaround such as --disable-dev-shm-usage.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Flags that weaken browser isolation or sandboxing can change the security profile of the worker. Do not add them merely because a blog example includes them. If your operating-system image or container policy requires a special flag, document why it is needed, which account runs the test, and how the worker is isolated.

Architecture and resource planning

x64 VPS

Linux x64 has the broadest availability of Chrome and ChromeDriver builds and is the least surprising choice for a new worker. You still need to match the browser, driver, Selenium release, and operating-system libraries.

arm64 VPS

Selenium documents newer Linux arm64 support with browser-version limits. Availability depends on the exact browser artifact and release. Check that a browser and compatible driver exist for your arm64 image before committing the worker to that architecture. If the required combination is unavailable, use a manually installed supported browser and driver with explicit paths or choose a supported x64 worker.

Memory and concurrency

Each Chrome session consumes memory and creates processes. Start with one session, measure the worker under your real pages, and increase concurrency only while memory remains available. If sessions are killed, pages crash, or the VPS begins swapping, reduce parallel sessions before changing WebDriver code.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Long-running workers also need a policy for browser restarts. A worker that creates a fresh driver per test or per small batch and always calls quit() is easier to recover than one that leaves a single session open indefinitely.

Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.

Make versioning reproducible

Automatic resolution is convenient for a developer shell, but a deployment should define what can change without review. Pin the Selenium package in your Python dependency file, record the browser channel and version, and decide whether Selenium Manager may download a newer driver.

For an online worker, retain Selenium Manager’s logs and cache information with the job artifacts when a failure matters. For an offline worker, pre-populate the cache or provide explicit browser and driver paths, then configure offline operation so a test does not unexpectedly attempt a network request.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When updating, change one layer at a time—Selenium, browser, or driver—and run the smoke test on the actual VPS image. A version that works on a developer workstation can fail on the server because of architecture, libraries, permissions, or network policy rather than because of the test itself.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Why ChromeDriver fails on a Linux VPS

“Unable to obtain driver” or a wrong-version message

First determine whether Selenium Manager is being used or a stale manual path is being forced. Remove obsolete Service arguments and retry with webdriver.Chrome(options=options) if automatic management is intended. Confirm that the browser is discoverable and that the worker can reach the endpoints needed for driver discovery and download.

If the environment must use a fixed driver, verify the browser and driver versions from the same deployment record and pass the correct executable explicitly. Do not fix a mismatch by adding a second random driver to PATH; that makes the selected binary harder to identify.

“No such file or directory” for the browser or driver

Check the path as the test account, not as an administrator:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
test -x /path/to/chrome && echo browser-ok
test -x /path/to/chromedriver && echo driver-ok

A file can exist yet fail with this message when its interpreter or a dependent library is absent. Use the operating system’s file and loader diagnostics to identify the missing component, then install the package appropriate to your distribution and architecture.

“DevToolsActivePort file doesn’t exist,” no display, or session creation failure

On a graphical workstation, Chrome may inherit a display. On a headless VPS it cannot. Ensure the options passed to the driver include --headless and that no test-specific configuration tries to attach to a nonexistent display. If the error persists, inspect the complete ChromeDriver and Selenium logs rather than changing several flags at once.

Missing shared-library errors

Chrome for Testing can fail before a WebDriver session exists when Linux libraries are missing. Selenium’s Linux guidance gives libatk-bridge2.0-0 as an example package that may be required. Install the package named by the actual error for your distribution; do not install a long list of libraries without confirming the missing dependency.

ldd /path/to/chrome | grep "not found"

The exact command and package name can differ by distribution. Re-run the smoke test after each image change so a library fix is not confused with a driver change.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Proxy, firewall, or DNS failures

Selenium Manager may need outbound access to discover metadata and download browser or driver artifacts. A restricted VPS can therefore fail before Chrome starts. Permit the required outbound requests, or configure the manager’s proxy setting using SE_PROXY and the other Selenium Manager settings appropriate to your environment. If the worker is intentionally offline, provide cached or local artifacts and enable offline behavior instead of allowing a request to hang until a timeout.

Test connectivity as the same account and from the same network namespace used by the worker. A successful request from your laptop does not prove that the VPS can resolve the host or pass its egress policy.

Architecture mismatch

An x64 executable cannot run on an arm64 VPS, and an arm64 browser artifact cannot be substituted for an x64 one. Check the VPS architecture, browser file type, and driver file type before troubleshooting Selenium code. If the required build is not available for that architecture, select a supported image or use a manually managed combination that the browser vendor supports.

Permission and cache problems

The browser, driver, test directory, and Selenium Manager cache must all be usable by the account running the job. A common failure occurs when an administrator runs the first test, creating a root-owned cache, and a CI account later cannot update or execute it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
whoami
ls -ld ~/.cache ~/.cache/selenium
ls -l ~/.cache/selenium

Use a per-user cache or correct ownership rather than running the entire test suite as root. Keep credentials, cookies, and downloaded browser artifacts out of world-readable directories.

Intermittent crashes and timeouts

Capture ChromeDriver and Selenium logs, check available memory and swap, inspect /dev/shm, and reduce parallel sessions. Compare a failing run with a single-session run. If only long-running workers fail, recycle drivers between batches and look for leaked processes or unbounded page data. These are operational checks, not a universal explanation: the log and resource measurements should identify which condition is present.

Running Selenium in CI on a VPS

A reliable worker separates image preparation from test execution:

  1. Build or select an image with the supported operating system, architecture, Python runtime, browser, and required libraries.
  2. Create the virtual environment and install the pinned Selenium dependency during provisioning.
  3. Choose Selenium Manager or an explicit driver path and record that choice in configuration.
  4. Run the smoke test before accepting the worker into the pool.
  5. For each test job, create a driver with headless options, collect logs and screenshots on failure, and call quit() in cleanup code.
  6. After updates to Selenium, Chrome, the driver, or the base image, rerun the smoke test on the same worker class.

A long-running CI worker should not rely on an interactive shell’s environment. Set the browser path, proxy, cache location, and offline policy in the service or job configuration, and make those values visible in the job log without printing secrets.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Selenium Manager versus manual pinning: a practical decision

Question Choose Selenium Manager when… Choose manual pinning when…
Compatibility The worker can resolve the installed browser and reach required artifact sources You have a tested browser-driver pair that must not change automatically
Reproducibility The cache and manager configuration are captured as part of the image or job An audited deployment requires an explicit binary and checksum
Network access Outbound discovery and downloads are allowed The worker is offline or uses an internal artifact mirror
Maintenance You prefer Selenium to handle driver discovery and routine compatibility Your team already owns browser updates, paths, and rollback procedures
Architecture The manager supports the browser artifacts for your VPS architecture You must supply a supported local build for a less common architecture

Neither approach removes the need to test the actual browser on the actual VPS image. Selenium Manager reduces manual setup; it does not supply missing Linux libraries, memory, permissions, or network access.

A final preflight checklist

  • Runtime: The test uses the intended Python virtual environment and pinned Selenium version.
  • Browser: Chrome or Chrome for Testing is installed, discoverable, executable, and supported on the VPS architecture.
  • Driver: Selenium Manager is configured and reachable, or the manually pinned ChromeDriver path is explicit and executable.
  • Headless mode: ChromeOptions includes --headless on a VPS without a display.
  • Libraries: The browser starts without a missing shared-library error.
  • Network: Proxy, firewall, DNS, and offline settings match the chosen driver-management strategy.
  • Permissions: The CI account can read and execute the browser, driver, project, and cache.
  • Resources: Memory, CPU, and /dev/shm remain adequate at the planned concurrency.
  • Cleanup: Every test path calls driver.quit(), including failure paths.
  • Diagnostics: Selenium Manager, ChromeDriver, and test logs are retained for failed jobs.

Once the smoke test passes under the same account and service configuration used by CI, expand to your application tests. Keeping browser selection, driver management, architecture, and resource limits explicit prevents most “works locally, fails on the VPS” surprises.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.