Skip to content

noVNC offer full X-windows experience that is usable over browser. With in HOST installation it offer also native linux experience.

License

Notifications You must be signed in to change notification settings

TheProjectAurora/novnc-native-linux

Repository files navigation

Purpose:

NoVNC offers a full X-windows experience that is usable over browser. This repository could be used as "bootstrap" to virtual machine when GUI is required.

Requirements:

  • Ubuntu 20.04
  • 443 port open to VM

USAGE:

  1. Clone repo to VM in bootstrap
  2. Execute novnc_install.sh in bootstrap

BEHAVIOR:

  • Install required tools to host
  • Open with browser to https://IP <= user:coder pw: coderpw (defined in novnc_environment.conf )
  • NoVNC session opened to browser and offer full linux desktop
  • Left bottom corner of noVNC desktop is arrow where open main menu of linux desctop

FYI: Google Chrome eats a lot of cpu&mem so Firefox browser is recomended to be used.

MODIFY SETTING (resolution, PW, etc.):

NOTE. If you want to change username then it should be done in many places. So it is recommendation to use

  1. Edit novnc_environment.conf file
  2. Reboot VM (with reboot novnc systemd daemon is loaded pefectry, restart of daemon could work ok)

Known problems (Existing features):

  • Copy-Paste between noVNC<->HOST happens by using noVNC desctop left side menu (click arrow in center of noVNC window) and open clipboard by using it icon in menu. This is a textbox where you should paste your copy from HOST and then it could be pasted to noVNC side. Copying from noVNC to HOST happens by using same method but vice versa way.
  • CapsLock could seem to be out of sync between noVNC desktop and HOST. That's why change CapsLock status always in HOST side window (e.g. by using host browser url row)

SECURITY:

  1. Only 443 port should be opened to host
  2. nginx behind of 443 port handle SSL termination
  3. only basic auth is in use
  4. Public connection to host have to be limited by using cloud provider tools (it is recommended that just your IP or subnet could take connection to host)
  5. There is no guarantee of security of 3rd party SW like noVNC

ADDONS/TESTING

Vagrant startup:

Require tools: https://www.vagrantup.com/ https://www.virtualbox.org/

  1. Start: vagrant up
  2. Test as in https://github.com/TheProjectAurora/novnc-native-linux#BEHAVIOR:
  3. Delete: vagrant destroy

Create&Test Vagrant BOX with Packer and Vagrant

Require same tools than https://github.com/TheProjectAurora/novnc-native-linux#vagrant-startup Box creation happened with Packer so require also it: https://www.packer.io/

  1. Execute: packer build novnc.pkr.hcl
  2. Create folder and go there: mkdir owbox && cd ownbox
  3. Import BOX: vagrant box add novnc ../output-novnc/package.box
  4. Init vagrant: vagrant init novnc
  5. Add 443=>443 port forwarding to Vagrantfile by editing it and adding folowing line:
config.vm.network "forwarded_port", guest: 443, host: 443
  1. Start vagrant: vagrant up
  2. Test as in https://github.com/TheProjectAurora/novnc-native-linux#BEHAVIOR:
  3. Delete vm: vagrant destroy
  4. Delete created stuff: cd .. && rm -Rf output-novnc owbox
  5. Delete delete vagrant box: vagrant box remove novnc

About

noVNC offer full X-windows experience that is usable over browser. With in HOST installation it offer also native linux experience.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors