Install ShabadOS on Windows 10

As of December 2018, latest version of ShabadOS doesn’t come packaged as a binary/executable to install in Windows or any other OS. You must use the steps below.

If node/npm is missing on command line:

  • Install Chocolatey
  • Optional
    • In administrative shell (same thing used above to install chocolate), run choco install chocolateygui
    • Run chocolateygui
  • Install nvm Chocolatey (or the GUI).
  • nvm install 10.14.5

To install ShabadOS

  • In “elevated” command prompt, run npm i -g --production windows-build-tools --vs2015
    • Be very patient!
    • Using the vs2015 allows us to be able to install sqlite3, which doesn’t work with the newest version of windows-build-tools (vs2017).
  • git clone https://github.com/ShabadOS/desktop.git ShabadOS-desktop
  • cd ShabadOS-desktop
  • npm install
  • npm run dev to run on default development port 3000.
    • NOTE: npm run pack or npm run dist do not work.

Tips

  • To get a Windows shortcut for this. Create a .bat file with contents:
cd ShabadOS-desktop
set PORT=42424 # i.e. the port you want it to run on. 3000 is useful enough to keep for your daily development needs.
npm run dev

Raspberry Pi Zero as ShabadOS display

Source: Useful Git repo

  1. Get Raspberry Pi Zero W.
  2. Download Raspbian.
  3. Install the above .img file on an microSD card using Etcher.
  4. Avoid using a keyboard by setting up Rasbian to work over ssh.
    1. Create wpa_supplicant.conf file in root of the mounted drive.
    2. Create ssh file in the root of the mounted drive.
  5. SSH to the IP address (you can find “raspberry pi” on your devices list)
    1. Default username pi and password raspberry.
    2. Run passwd to reset the password from the default.
  6. VNC or remote display
    1. sudo raspi-config > 5 Interfacing Options > Enable VNC
      1. May have to restart the server. Be patient!
    2. Connect to VNC using the same IP (192.168.1.whatever:5900), username/password with software like RealVNC Viewer.
  7. When you first load the screen, you will be presented with “Welcome to Raspberry Pi” setup.
    1. Update all the software in this wizard.
    2. Customize to your locale, etc.
  8. Test if ShabadOS over wifi works:
    1. Open Raspberry Pi icon in upper-left corner, chose Internet > Chromium Web Browser.
    2. Load the http://IP-of-ShabadOS-search-machine:42424.
  9. To implement autoload on boot:
    1. mkdir -p ~/.config/lxsession/LXDE-pi/
    2. cp /etc/xdg/lxsession/LXDE-pi/autostart ~/.config/lxsession/LXDE-pi/autostart
    3. Edit ~/.config/lxsession/LXDE-pi/autostart file:
      # Old lines
      @lxpanel --profile LXDE-pi
      @pcmanfm --desktop --profile LXDE-pi
      # @xscreensaver -no-splash # Commented out (i.e. disabled) using # to get rid of screen saver
      point-rpi
      # New lines
      @xset s off
      @xset -dpms
      @xset s noblank
      @unclutter &
      @chromium-browser http://192.168.1.99:42424/display --start-fullscreen --kiosk --incognito --noerrdialogs --disable-translate --no-first-run --fast --fast-start --disable-infobars --disk-cache-dir=/dev/null --disable-session-crashed-bubble

Niceties:

  • I’m more productive with vim than the default vi, so I’ll install vim: sudo apt-get install vim
  • Assign static IP to the ShabadOS server/remote device. The Display will always connect to that static IP.
    • 192.168.1.99 is the static IP as shown above in autostart file.