All Projects → rogaha → Docker Desktop

rogaha / Docker Desktop

Docker Desktop enables you to create virtual desktops that can be accessed remotely. It comes with Firefox and Libreoffice already installed!

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Docker Desktop

Lazy
Kule Lazy4 / CSS Framework
Stars: ✭ 147 (-86.61%)
Mutual labels:  desktop, firefox
alpine-desktop
No description or website provided.
Stars: ✭ 13 (-98.82%)
Mutual labels:  ssh, desktop
Firessh
free, cross-platform SSH terminal client for Firefox and Chrome
Stars: ✭ 173 (-84.24%)
Mutual labels:  ssh, firefox
Zettlr
A Markdown Editor for the 21st century.
Stars: ✭ 6,099 (+455.46%)
Mutual labels:  libreoffice, desktop
X11docker
Run GUI applications and desktops in docker and podman containers. Focus on security.
Stars: ✭ 3,797 (+245.81%)
Mutual labels:  ssh, desktop
Bulkurlopener
Bulk URL Opener is an application that provides the user with multiple utilities to help with managing and using large amounts of urls
Stars: ✭ 29 (-97.36%)
Mutual labels:  desktop, firefox
Drombler Fx
Drombler FX - the modular application framework for JavaFX.
Stars: ✭ 52 (-95.26%)
Mutual labels:  desktop
Foxify Cli
💻 Firefox Command-Line Theme Manager 🦊 Inspired by spicetify-cli 🔥
Stars: ✭ 55 (-94.99%)
Mutual labels:  firefox
Sshesame
A fake SSH server that lets everyone in and logs their activity
Stars: ✭ 1,062 (-3.28%)
Mutual labels:  ssh
Fqterm
Stars: ✭ 50 (-95.45%)
Mutual labels:  ssh
Openssh Rs
Scriptable SSH through OpenSSH in Rust
Stars: ✭ 58 (-94.72%)
Mutual labels:  ssh
Lazarus addon
the original lazarus-recovery firefox add-on with some slight modifications -mainly removing the Donation nag
Stars: ✭ 56 (-94.9%)
Mutual labels:  firefox
Awesome Emoji Picker
Add-on/WebExtension that provides a modern emoji picker that you can use to find and copy/insert emoji into the active web page.
Stars: ✭ 54 (-95.08%)
Mutual labels:  firefox
Ec2connect
Stars: ✭ 53 (-95.17%)
Mutual labels:  ssh
Sshkey Audit
Automate SSH key management
Stars: ✭ 55 (-94.99%)
Mutual labels:  ssh
Foxshot
Capture web page screenshots using headless Firefox!
Stars: ✭ 52 (-95.26%)
Mutual labels:  firefox
Ubo Youtube
Easier way to exempt your favorite YouTube channels from adblocking.
Stars: ✭ 57 (-94.81%)
Mutual labels:  firefox
Tablereport
A python library for making table report.
Stars: ✭ 51 (-95.36%)
Mutual labels:  libreoffice
Essh
Extended ssh command.
Stars: ✭ 53 (-95.17%)
Mutual labels:  ssh
Mue
Fast, open and free-to-use new tab page for modern browsers
Stars: ✭ 56 (-94.9%)
Mutual labels:  firefox

DOCKER-DESKTOP

Description

This Dockerfile creates a docker image and once it's executed it creates a container that runs X11 and SSH services. The ssh is used to forward X11 and provide you encrypted data communication between the docker container and your local machine.

Xpra + Xephyr allows to display the applications running inside of the container such as Firefox, LibreOffice, xterm, etc. with recovery connection capabilities. Xpra also uses a custom protocol that is self-tuning and relatively latency-insensitive, and thus is usable over worse links than standard X.

The applications can be rootless, so the client machine manages the windows that are displayed.

Fluxbox and ROX-Filer creates a very minimalist way to manage windows and files.

Docker L

OBS: The client machine needs to have a X11 server installed (Xpra). See the "Notes" below.

Docker Installation

On Ubuntu:

Docker is available as a Ubuntu PPA (Personal Package Archive), hosted on launchpad which makes installing Docker on Ubuntu very easy.

#Add the PPA sources to your apt sources list.
sudo apt-get install python-software-properties && sudo add-apt-repository ppa:dotcloud/lxc-docker
 
# Update your sources
sudo apt-get update
 
# Install, you will see another warning that the package cannot be authenticated. Confirm install.
sudo apt-get install lxc-docker

On Windows:

Requirements:

On Mac OS X:

Requirements:

Installation

Building the docker image

$ docker build -t rogaha/docker-desktop git://github.com/rogaha/docker-desktop.git

OR

$ git clone https://github.com/rogaha/docker-desktop.git
$ cd docker-desktop
$ docker build -t [username]/docker-desktop .

Running the docker image created (-d: detached mode, -P: expose the port 22 on the host machine)

$ CONTAINER_ID=$(docker run -d -P [username]/docker-desktop)

Getting the password generated during runtime

$ echo $(docker logs $CONTAINER_ID | sed -n 1p)
User: docker Password: xxxxxxxxxxxx
# where xxxxxxxxxxxx is the password created by PWGen that contains at least one capital letter and one number

Usage

Getting the container's external ssh port

$ docker port $CONTAINER_ID 22
49153 # This is the external port that forwards to the ssh service running inside of the container as port 22

Connecting to the container

Starting the a new session

$ ifconfig | grep "inet addr:" 
inet addr:192.168.56.102  Bcast:192.168.56.255  Mask:255.255.255.0 # This is the LAN's IP for this machine

$ ssh [email protected] -p 49153 "sh -c './docker-desktop -s 800x600 -d 10 > /dev/null 2>&1 &'" # Here is where we use the external port
[email protected]'s password: xxxxxxxxxxxx 

$ ./docker-desktop -h

-----------------------------------------------------------
Usage: docker-desktop [-s screen_size] [-d session_number]
-s : screen resolution (Default = 800x600
-d : session number (Default = 10)
-h : help
-----------------------------------------------------------

Attaching to the session started

$ xpra --ssh="ssh -p 49153" attach ssh:[email protected]_address:session_number
[email protected]'s password: xxxxxxxxxxxx 

If you want to execute rootless programs, you just need to connect to the container via ssh and type: DISPLAY=:[session_number] [program_name] &

Eg. DISPLAY=:10 firefox &

Notes

On Windows:

Requirements:

On OS X:

Requirements:

On Linux:

Requirements:

  • Xpra: You can use apt-get to install it -> apt-get install xpra
  • Path: /usr/bin/xpra
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].