Pinjam Google Shell untuk Pasang Linux Desktop

Kita memang sedang berada di zaman yang ajaib. Tidak kebayang 10 tahun yang lalu, kita bisa memiliki server dengan mudah dan gratis. Dari sistem operasi, tempat hosting, sampai basis data diberikan cuma-cuma tanpa batas waktu. Biarpun tenaganya tidak maksimal tapi cukup membuatmu bersyukur.

Salah satu layanan itu adalah Google Shell, yang merupakan bagian dari Google Developers. Google Shell ini seperti kalian memilki mesin Linux sendiri dan dihadiahi segala macam fitur yang canggih, salah satunya adalah Docker.

Dengan bantuan Docker ini, kalian tidak hanya lagi mengakses lewat terminal tetapi bisa menikmati Linux versi desktop. Aku coba-coba membuat Dockerfile sendiri yang walaupun tidak maksimal, kalian tetap bisa mengotak-atik Linux versi Docker ini melalui terminalnya. Oh iya, untuk mengakses mesin Linux itu kalian membutuhkan xrdp dan ngrok.

Berikut script-nya:

FROM ubuntu:latest

ENV DEBIAN_FRONTEND noninteractive

RUN apt update && apt upgrade -y

RUN apt install -y curl sudo

RUN curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null \
        && echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | tee /etc/apt/sources.list.d/ngrok.list

RUN apt update && apt install -y xfce4 xrdp ngrok

COPY run.sh /usr/bin/
RUN chmod +x /usr/bin/run.sh

ENTRYPOINT ["/usr/bin/run.sh"]

Buat berkas run.sh dengan isi sbb:

#!/bin/bash

useradd -m ubuntu -p $(openssl passwd ubuntu)
usermod -aG sudo ubuntu

ngrok config add-authtoken [TOKEN]

rm -rf /var/run/xrdp-sesman.pid
rm -rf /var/run/xrdp.pid
rm -rf /var/run/xrdp/xrdp-sesman.pid
rm -rf /var/run/xrdp/xrdp.pid

service xrdp start
ngrok tcp 3389

Silakan ganti [TOKEN] ini dengan mengambil nilai yang ada dari dasbor ngrok.

Langkah selanjutnya, kalian membuat image Docker ini:

docker build -t ubuntu-desktop .

Kemudian buat container dengan menjalankan perintah berikut:

docker run -it ubuntu-desktop

Setelah kalian menjalankan container, kalian secara otomatis masuk ke terminal. Di sini kalian bisa dengan bebas mengatur dan menambah apa pun seperti halnya pada mesin Linux kalian sendiri.

Begini output dari ngrok:

Session Status online
Account        Ronald Nababan (Plan: Free)    
Version        3.6.0
Region         Asia Pacific (ap)      
Latency        2ms
Web Interface  http://127.0.0.1:4040
Forwarding     tcp://0.tcp.ap.ngrok.io:12160 -> localhost:3389

Gunakan Remmina atau Remote Desktop untuk mengakses mesin ini. Masukkan 0.tcp.ap.ngrok.io:12160 (sesuai dengan alamat forwarding di atas) dan masukkan pengguna ubuntu dengan sandi ubuntu saat diminta otentikasi.

Connect with me:

Comments

Spammy comment will be deleted. Markdown syntax is supported.