Web Launcher is a powerful app that allows you to remotely load your favorite webpages on a remote display (called the Viewer) from your Android phone or local computer. For example, launch links on your desktop computer, HTPC, projector, or other device all from your phone.


Web Launcher features a modern, intuitive design that you can access either through a web browser or Android app. Some noteworthy features:

  • launch any of your favorite links
  • control the keyboard and mouse of the Viewer
  • put the Viewer to sleep to save power
  • a built-in sleep timer allows you to automatically put the Viewer to sleep after X minutes
  • load custom links on-the-fly
  • easily update your list of favorite links using Ansible
  • the UI automatically adapts to your screen resolution
  • easily wake up the Viewer with Wake-on-LAN or a USB device, e.g a big red button


The Viewer can be controlled either from either an Android device or a web browser on a PC. Below are screenshots from both interfaces:

Android App

Launch your favorite links

Put the Viewer to sleep or other operations

Control the Viewer's keyboard and mouse

Web Browser

Manage everything from an easy-to-use webpage:



In order to use Web Launcher, you need the following:

  • a computer capable of viewing the desired content (this will become the Viewer)
  • a copy of the latest Lubuntu LTS ISO, burned to a CD or USB flash drive
  • an Android device or computer that you will use to control the Viewer

Step 1: Viewer OS Install

The Viewer should be running the latest version of Lubuntu, preferably the latest LTS:

  • download the latest Lubuntu LTS ISO and install it on the Viewer; during installation, choose the option for no login (auto-login on boot)
  • install the openssh-server and git packages on the Viewer
  • try logging into the Viewer from your local system:
    • Windows: use PuTTY
    • Linux or Mac OS X: open a terminal and type ssh <username>@<viewerhostname>

Step 2: Web Launcher Components

Once on the Viewer, install Web Launcher:

  • on the Viewer, install Ansible
  • checkout the ansible-playbooks git repo with git clone checkout http://git/git/amartin/ansible-playbooks.git ~/ansible-playbooks
  • edit the viewer_user variable in roles/weblauncher/viewer/defaults/main.yml to correspond to the username you specified when installing Lubuntu
  • cd into the ~/ansible-playbooks directory and run ansible with ansible-playbook -i hosts --connection=local --diff weblauncher-local.yml

Note: you can simulate what Ansible will do (without actually applying the changes) using ansible-playbook -i hosts --connection=local --diff -C --skip-tags not_in_dry_run weblauncher-local.yml

Step 3: Manual Steps

Perform these steps on the Viewer:

  • Login to any websites you want to use that require credentials
  • By default, Web Launcher uses Chrome. However, if you prefer Firefox, configure these settings:
    • edit weblauncher-local.yml and add a new variable under vars: to set Firefox as the preferred browser:
   — preferred_browser: "firefox"
-     set `browser.sessionstore.resume_from_crash` in Firefox's `about:config` to `false` to prevent the "restore session" page ([details]( details))
-     install the [R-kiosk]( extension
  • Choose how you will wake up the Viewer:
    • Wake-on-LAN: make sure your Viewer hardware is configured to use Wake-on-LAN and add your device to the android app's WOL page while it is on so the app can auto-detect your Viewer's IP address and MAC address
    • USB device: follow these steps to select the desired USB device
  • Click the menu in the bottom left corner and go to Preferences - Power Manager - Display tab and make sure that screen blanking, sleeping, and switching off are disabled
  • Test audio, and if necessary run the pavucontrol program to select the desired audio device or see the set_hdmi_audio variable in defaults/main.yml (see below)
  • See roles/weblauncher/viewer/defaults/main.yml for some variables you can override to customize Web Launcher for your setup for fix certain software problems

At this point, you should be able to go to http://<viewerhostname> or http://<viewer_ip_address> in a browser and see the Web Launcher webpage. Clicking on a link should launch it on the Viewer.

To customize the list of links:

  • edit weblauncher-local.yml and change the list of links under the links variable. The format of each line is first the text to display on the webpage and then the link.
  • run the ansible playbook again (using the same command you used in Step 2)

Step 5: Android App

You can control the mouse and keyboard on the Viewer and launch links using the Web Launcher Android app. To download the app, click here or do the following:

  • Enable Third-Party Sources on your Android device
  • visit http://<viewerhostname> in a browser on your Android device and click on the button to download the app; after it downloads to your device, click on it in your notifications drawer and install it
  • Launch the Web Launcher app. It should automatically detect and connect to the Viewer. If this is your first time running the app, you should click the power button (WOL) and add your Viewer's hostname while it is online. The app will then attempt to auto-detect your Viewer's IP address and MAC addres. You can then click on its entry on the WOL page to wake it up or load its list of links. You should now be able to launch links and use the mouse and keyboard from your Android device


Would you like to help make Web Launcher even better? Submit your pull requests or ideas on Github:


The Web Launcher project would not be possible without the help of these great resources: