Menyiapkan Chrome Desktop Jarak Jauh untuk Linux di Compute Engine

Last reviewed 2022-11-16 UTC

Tutorial ini menunjukkan cara menyiapkan layanan Chrome Desktop Jarak Jauh pada virtual machine (VM) instance Debian Linux di Compute Engine. Untuk mengetahui petunjuk terpisah untuk VM Windows, lihat Windows virtual machine. Chrome Desktop Jarak Jauh memungkinkan Anda mengakses aplikasi dari jarak jauh dengan antarmuka pengguna grafis dari komputer lokal atau perangkat seluler.

Saat mengikuti tutorial ini, aturan firewall default mengizinkan koneksi Chrome Desktop Jarak jauh sehingga Anda tidak perlu mengonfigurasi aturan firewall tambahan. Akses SSH hanya diperlukan untuk penyiapan awal.

VM memerlukan akses ke internet (dengan alamat IP eksternal atau melalui Cloud NAT), dan Anda menggunakan Akun Google untuk autentikasi dan otorisasi.

Tutorial ini menganggap bahwa Anda sudah memahami command line Linux dan cara menginstal paket Debian.

Untuk informasi tentang opsi lain pembuatan workstation virtual, lihat Membuat workstation virtual.

Tujuan

  • Membuat VM instance Compute Engine headless untuk menjalankan Chrome Desktop Jarak Jauh.
  • Menginstal dan Mengonfigurasi layanan Chrome Desktop Jarak Jauh pada VM instance.
  • Menyiapkan lingkungan desktop X Window System dalam VM instance.
  • Menghubungkan dari komputer lokal ke lingkungan desktop di VM instance.

Biaya

Tutorial ini menggunakan komponen Google Cloud yang dapat ditagih, termasuk:

  • Compute Engine

Gunakan Kalkulator Harga untuk membuat perkiraan biaya berdasarkan penggunaan yang Anda proyeksikan.

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  4. Aktifkan API Compute Engine.

    Mengaktifkan API

  5. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  6. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  7. Aktifkan API Compute Engine.

    Mengaktifkan API

  8. Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Pembersihan.

  9. Pastikan Anda memiliki peran berikut di project: roles/compute.admin

    Memeriksa peran

    1. Di konsol Google Cloud, buka halaman IAM.

      Buka IAM
    2. Pilih project.
    3. Di kolom Akun utama, cari baris yang berisi alamat email Anda.

      Jika alamat email Anda tidak ada di kolom tersebut, berarti Anda tidak memiliki peran apa pun.

    4. Di kolom Peran untuk baris yang berisi alamat email Anda, periksa apakah daftar peran menyertakan peran yang diperlukan.

    Memberikan peran

    1. Di konsol Google Cloud, buka halaman IAM.

      Buka IAM
    2. Pilih project.
    3. Klik Berikan akses.
    4. Di kolom Akun utama baru, masukkan alamat email Anda.
    5. Di daftar Pilih peran, pilih peran.
    6. Untuk memberikan peran tambahan, klik Tambahkan peran lain, lalu tambahkan setiap peran tambahan.
    7. Klik Simpan.
  10. Gunakan browser Google Chrome di komputer Anda.

Membuat Compute Engine instance

Untuk keperluan tutorial ini, jenis mesin default dengan boot disk Debian Linux akan digunakan. Jika menggunakan tutorial ini untuk lingkungan sendiri, Anda dapat menyesuaikan jenis mesin, nama, region, ukuran boot disk, atau setelan lainnya.

  1. Di Konsol Google Cloud, buka halaman VM Instance.

    Buka Instance VM

  2. Klik Create.

  3. Tetapkan nama instance menjadi crdhost.

  4. Klik Create.

    Pembuatan instance Anda memerlukan waktu beberapa saat.

  5. Setelah instance dibuat, klik SSH pada daftar instance untuk menghubungkan Anda ke instance baru:

    Membuat koneksi SSH ke VM instance.

Menginstal Chrome Desktop Jarak Jauh pada instance VM

  1. Di jendela SSH untuk instance VM Anda, tambahkan repositori Desktop Jarak Jauh Chrome Debian Linux ke daftar paket apt Anda, lalu instal paket chrome-remote-desktop.

    curl https://dl.google.com/linux/linux_signing_key.pub \
        | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/chrome-remote-desktop.gpg
    echo "deb [arch=amd64] https://dl.google.com/linux/chrome-remote-desktop/deb stable main" \
        | sudo tee /etc/apt/sources.list.d/chrome-remote-desktop.list
    sudo apt-get update
    sudo DEBIAN_FRONTEND=noninteractive \
        apt-get install --assume-yes chrome-remote-desktop
    

    Parameter DEBIAN_FRONTEND=noninteractive menyembunyikan prompt untuk mengonfigurasi tata letak keyboard yang akan terhubung langsung ke VM instance.

Menginstal lingkungan desktop X Windows System

Anda perlu menginstal lingkungan desktop X Window System dan pengelola jendela untuk digunakan oleh Chrome Desktop Jarak Jauh. Opsi umum yakni:

Anda dapat menggunakan lingkungan desktop lainnya, tetapi Chrome Desktop Jarak Jauh tidak mendukung akselerasi grafis 3D. Jika memilih lingkungan desktop yang menggunakan akselerasi grafis 3D, Anda harus menonaktifkan fitur tersebut, atau layanan desktop jarak jauh tidak akan dimulai.

Untuk koneksi jarak jauh melalui jaringan yang lebih lambat, sebaiknya gunakan Xfce karena XFce memiliki elemen grafis minimal dan sedikit animasi.

Xfce

  1. Di jendela SSH yang terhubung ke VM instance Anda, instal lingkungan desktop Xfce serta komponen dasar desktop:

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes xfce4 desktop-base dbus-x11 xscreensaver
    

    XScreenSaver diperlukan karena pengunci layar default Xfce (Light Locker) tidak berfungsi dengan Chrome Desktop Jarak Jauh (Light Locker menampilkan layar kosong yang tidak dapat dibuka kuncinya).

  2. Konfigurasikan Chrome Desktop Jarak Jauh untuk menggunakan Xfce secara default:

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/xfce4-session" > /etc/chrome-remote-desktop-session'
    
  3. Karena tidak ada tampilan yang terhubung ke instance Anda, nonaktifkan layanan pengelola tampilan di instance Anda:

    sudo systemctl disable lightdm.service
    
  4. Opsional: Instal rangkaian lengkap aplikasi desktop Linux, termasuk browser Firefox, rangkaian aplikasi kantor LibreOffice, dan penampil PDF Evince:

    sudo apt install --assume-yes task-xfce-desktop
    
  5. Opsional: Instal browser Chrome di instance Anda:

    curl -L -o google-chrome-stable_current_amd64.deb \
    https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo apt install --assume-yes --fix-broken ./google-chrome-stable_current_amd64.deb
    

Cinnamon

  1. Di jendela SSH yang terhubung ke VM instance Anda, instal lingkungan desktop Cinnamon serta komponen desktop dasar:

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes cinnamon-core desktop-base dbus-x11
    
  2. Setel sesi Chrome Desktop Jarak Jauh Anda untuk menggunakan Cinnamon dalam mode 2D (yang tidak menggunakan akselerasi grafis 3D) secara default:

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/cinnamon-session-cinnamon2d" > /etc/chrome-remote-desktop-session'
    
  3. Opsional, Anda dapat menginstal rangkaian lengkap aplikasi desktop Linux, termasuk browser Firefox, rangkaian aplikasi kantor LibreOffice, dan penampil PDF Evince:

    sudo apt install --assume-yes task-cinnamon-desktop
    
  4. Opsional: Instal browser Chrome di instance Anda:

    curl -L -o google-chrome-stable_current_amd64.deb \
    https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo apt install --assume-yes --fix-broken ./google-chrome-stable_current_amd64.deb
    

Gnome

  1. Di jendela SSH yang terhubung ke VM instance, instal lingkungan desktop Gnome lengkap, termasuk browser Firefox rangkaian aplikasi office LibreOffice, dan penampil PDF Evince:

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes  task-gnome-desktop
    
  2. Setel sesi Chrome Desktop Jarak Jauh untuk menggunakan Gnome

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/gnome-session" > /etc/chrome-remote-desktop-session'
    
  3. Nonaktifkan layanan pengelola tampilan Gnome pada instance, karena layanan tersebut bertentangan dengan layanan Chrome Desktop Jarak Jauh.

    sudo systemctl disable gdm3.service
    sudo reboot
    

    Perintah ini akan memulai ulang VM.

  4. Hubungkan kembali melalui SSH sebelum melanjutkan.

  5. Opsional: Instal browser Chrome di instance Anda:

    curl -L -o google-chrome-stable_current_amd64.deb \
    https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo apt install --assume-yes --fix-broken ./google-chrome-stable_current_amd64.deb
    

Gnome-Classic

  1. Di jendela SSH yang terhubung ke VM instance, instal lingkungan desktop Gnome lengkap, termasuk browser Firefox rangkaian aplikasi office LibreOffice, dan penampil PDF Evince:

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes  task-gnome-desktop
    

    Parameter DEBIAN_FRONTEND=noninteractive menyembunyikan prompt untuk mengonfigurasi tata letak keyboard yang akan terhubung langsung ke VM instance.

  2. Setel sesi Chrome Desktop Jarak Jauh Anda untuk menggunakan desktop Gnome-Classic:

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/gnome-session-classic" > /etc/chrome-remote-desktop-session'
    
  3. Nonaktifkan layanan pengelola tampilan Gnome pada instance, karena layanan tersebut bertentangan dengan layanan Chrome Desktop Jarak Jauh.

    sudo systemctl disable gdm3.service
    sudo reboot
    

    Perintah ini akan memulai ulang VM.

  4. Hubungkan kembali melalui SSH sebelum melanjutkan.

  5. Opsional: Instal browser Chrome di instance Anda:

    curl -L -o google-chrome-stable_current_amd64.deb \
    https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo apt install --assume-yes --fix-broken ./google-chrome-stable_current_amd64.deb
    

Plasma KDE

  1. Di jendela SSH yang terhubung ke instance VM Anda, instal lingkungan desktop KDE Plasma yang lengkap, termasuk browser Firefox, rangkaian aplikasi office LibreOffice, dan penampil PDF Evince:

    sudo DEBIAN_FRONTEND=noninteractive \
        apt install --assume-yes  task-kde-desktop
    

    Parameter DEBIAN_FRONTEND=noninteractive menyembunyikan prompt untuk mengonfigurasi tata letak keyboard yang akan terhubung langsung ke VM instance.

  2. Setel sesi Chrome Desktop Jarak Jauh untuk menggunakan KDE Plasma

    sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/startplasma-x11" > /etc/chrome-remote-desktop-session'
    
  3. Opsional: Instal browser Chrome di instance Anda:

    curl -L -o google-chrome-stable_current_amd64.deb \
    https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    sudo apt install --assume-yes --fix-broken ./google-chrome-stable_current_amd64.deb
    

Mengonfigurasi dan memulai layanan Chrome Desktop Jarak Jauh

Untuk memulai server desktop jarak jauh, Anda harus memiliki kunci otorisasi untuk Akun Google yang ingin Anda gunakan untuk terhubung:

  1. Buka halaman VM instancespada konsol Google Cloud:

    Buka halaman VM Instances

  2. Hubungkan ke instance dengan mengklik tombol SSH.

  3. Di komputer lokal Anda, buka halaman penyiapan command line Chrome Desktop Jarak Jauh menggunakan browser Chrome:

    https://remotedesktop.google.com/headless

  4. Jika Anda belum login, silakan login dengan Akun Google. Akun tersebut akan digunakan untuk memberi otorisasi akses jarak jauh.

  5. Di halaman Siapkan komputer lain, klik Mulai.

  6. Klik Beri otorisasi.

    Anda harus mengizinkan Chrome Desktop Jarak Jauh untuk mengakses akun Anda. Jika Anda setuju, halaman akan menampilkan command line untuk Debian Linux yang terlihat seperti berikut:

    DISPLAY= /opt/google/chrome-remote-desktop/start-host \
        --code="4/xxxxxxxxxxxxxxxxxxxxxxxx" \
        --redirect-url="https://remotedesktop.google.com/_/oauthredirect" \
        --name=$(hostname)
    

    Gunakan perintah ini untuk menyiapkan dan memulai layanan Chrome Desktop Jarak Jauh pada VM instance Anda, tautkan dengan Akun Google Anda menggunakan kode otorisasi.

  7. Salin perintah ke jendela SSH yang terhubung ke instance Anda, lalu jalankan perintah tersebut.

  8. Saat diminta, masukkan PIN 6 digit. PIN tersebut akan digunakan untuk otorisasi tambahan saat Anda menyambungkan nanti.

    Anda mungkin melihat error seperti No net_fetcher atau Failed to read. Anda dapat mengabaikan error ini.

  9. Pastikan bahwa layanan berjalan menggunakan perintah berikut.

    sudo systemctl status chrome-remote-desktop@$USER
    

    Jika layanan berjalan, Anda akan melihat output yang menyertakan status active:

    chrome-remote-desktop.service - LSB: Chrome Remote Desktop service
        Loaded: loaded (/lib/systemd/system/chrome-remote-desktop@USER.service; enabled; vendor preset: enabled)
        Active: active (running) since DATE_TIME; ELAPSED_TIME
    

Terhubung ke VM instance

Anda dapat terhubung ke instance VM dengan menggunakan aplikasi web Chrome Desktop Jarak Jauh.

  1. Di komputer lokal Anda, buka situs Chrome Desktop Jarak Jauh.

  2. Klik Akses komputer saya.

  3. Jika Anda belum login ke Google, login dengan Akun Google yang sama dengan yang Anda gunakan untuk menyiapkan layanan Chrome Desktop Jarak Jauh.

    Anda melihat instance VM baru crdhost dalam daftar Perangkat Jarak JauhAnda.

  4. Klik nama instance desktop jarak jauh.

  5. Saat diminta, masukkan PIN yang telah Anda buat sebelumnya, lalu klik tombol panah untuk menghubungkan.

    Saat ini Anda terhubung ke lingkungan desktop pada instance Compute Engine jarak jauh.

  6. Jika Anda diminta, selalu izinkan aplikasi Desktop Jarak Jauh untuk membaca papan klip Anda dan memungkinkan Anda menyalin dan menempel antara aplikasi lokal dan jarak jauh.

  7. Jika Anda menginstal desktop Xfce, Anda akan diminta untuk menyiapkan panel desktop saat pertama kali terhubung. Klik Gunakan Konfigurasi Default untuk mendapatkan taskbar standar di bagian atas dan panel peluncuran cepat di bagian bawah.

desktop xfce yang menampilkan taskbar dan panel peluncuran cepat.

Meningkatkan pengalaman desktop jarak jauh

Bagian ini memberikan petunjuk bagaimana cara mengubah setelan untuk meningkatkan pengalaman desktop jarak jauh.

Menginstal aplikasi Chrome Desktop Jarak Jauh

Aplikasi Chrome Desktop Jarak Jauh memberikan pengalaman jendela terpisah dan mengizinkan pintasan keyboard yang biasanya ditangkap oleh Chrome untuk digunakan pada sistem jarak jauh.

Jika aplikasi ini tidak terinstal, lakukan hal berikut:

  1. Buka panel Opsi Sesi menggunakan tombol yang muncul saat Anda menggerakkan mouse ke samping jendela.
  2. Pada bagian Instal Aplikasi, klik Mulai.
  3. Klik Instal.

Sesi desktop jarak jauh dibuka kembali di jendela aplikasinya sendiri.

Anda dapat memindahkan sesi desktop jarak jauh dari tab Chrome ke jendela aplikasi dengan mengklik ikon Buka Dengan di kolom URL.

Nonaktifkan animasi dan efek di Cinnamon

Desktop Cinnamon menggunakan beberapa fitur dan animasi grafis, seperti jendela dan menu semi-transparan yang tampilannya muncul dan hilang secara perlahan. Karena animasi ini memerlukan lebih banyak waktu untuk dirender melalui koneksi jarak jauh, antarmuka pengguna akan terasa lambat.

Untuk menonaktifkan efek ini:

  1. Di desktop Cinnamon, pilih Menu > Preferences > Effects.

    Menyetel preferensi desktop di Cinnamon.

  2. Nonaktifkan setiap efek:

    Menonaktifkan efek animasi di Cinnamon.

Menyiapkan sandi pengguna

Akun pengguna yang dibuat oleh Compute Engine tidak memiliki sandi. Namun, beberapa lingkungan desktop memerlukannya untuk membuka kunci screensaver dan mengizinkan tindakan administratif. Oleh karena itu, penting untuk menetapkan sandi pengguna Anda:

  1. Hubungkan ke instance menggunakan SSH, seperti yang Anda lakukan saat pertama kali menyiapkan instance.
  2. Buat sandi untuk pengguna:

    sudo passwd $(whoami)
    

Nonaktifkan screensaver dan layar kunci

Karena mengakses desktop dari komputer jarak jauh, biasanya Anda tidak perlu menggunakan screensaver atau pengunci layar, sehingga Anda dapat menonaktifkannya.

Xfce

  1. Di menu Aplikasi, pilih Setelan > Screensaver.
  2. Setel Mode ke Nonaktifkan Screen Saver.

Cinnamon

  1. Di desktop, pilih Menu > Preferensi > Screensaver.
  2. Di tab Setelan, tetapkan Delay ke Never dan nonaktifkan dua setelan Kunci berikut untuk mengunci layar secara otomatis.

Gnome

  1. Di desktop, klik Aktivitas dan ketik Settings.
  2. Pilih aplikasi Setelan.
  3. Di aplikasi Setelan, pilih Privasi > Kunci Layar.
  4. Nonaktifkan Kunci Layar Otomatis dan tutup dialog.
  5. Pilih Perangkat > Keyboard.
  6. Dalam daftar pintasan keyboard, buka bagian System, lalu klik Lock Screen.
  7. Tekan kunci Backspace untuk menonaktifkan pintasan, lalu klik Setel.
  8. Pilih Daya dan setel Layar Kosong ke Jangan Pernah.

Gnome-Classic

  1. Di desktop, pilih Aplikasi > Alat Sistem > Setelan.
  2. Di aplikasi Setelan, pilih Privasi > Kunci Layar.
  3. Nonaktifkan Kunci Layar Otomatis dan tutup dialog.
  4. Pilih Perangkat > Keyboard.
  5. Dalam daftar pintasan keyboard, buka bagian System, lalu klik Lock Screen.
  6. Tekan kunci Backspace untuk menonaktifkan pintasan, lalu klik Setel.
  7. Pilih Daya dan setel Layar Kosong ke Jangan pernah.

KDE Plasma

  1. Di desktop, klik tombol menu KDE, lalu ketik Screen Locking.
  2. Pilih aplikasi Penguncian Layar.
  3. Di aplikasi Konfigurasi Penguncian Layar, nonaktifkan Layar Kunci Otomatis setelah dan klik tombol untuk menghapus pintasan keyboard.
  4. Klik OK.

Meningkatkan resolusi desktop

Jika Anda memiliki monitor dengan resolusi ultra tinggi, Anda mungkin mendapati bahwa ukuran desktop jarak jauh maksimum default sebesar 1600 x 1200 terlalu kecil. Jika demikian, Anda dapat meningkatkan ukurannya sesuai resolusi monitor Anda.

  1. Gunakan SSH untuk terhubung ke instance.
  2. Tetapkan CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES variabel lingkungan untuk menyertakan resolusi monitor Anda:

    echo "export CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES=1600x1200,3840x2560" \
        >> ~/.profile
    
  3. Mulai ulang layanan:

    sudo systemctl restart chrome-remote-desktop@$USER
    

Aktifkan codec video lanjutan:

Codec AV1 dengan warna Kualitas Tinggi memberikan kualitas gambar yang lebih baik dan memungkinkan encoding informasi warna murni yang lebih baik (seperti teks):

  1. Buka panel Opsi Sesi menggunakan tombol yang muncul saat Anda menggerakkan mouse ke samping jendela.
  2. Di kolom Video Codec, pilih AV1
  3. Pastikan kolom Warna kualitas tinggi diaktifkan.

Memilih lingkungan desktop lain

Di bagian sebelumnya, Anda menetapkan lingkungan desktop default dalam file /etc/chrome-remote-desktop-session konfigurasi global. Anda juga dapat memilih lingkungan desktop lain (jika sudah diinstal) dengan menentukannya dalam file konfigurasi .chrome-remote-desktop-session di direktori beranda Anda:

Xfce

echo "exec /etc/X11/Xsession /usr/bin/xfce4-session" > ~/.chrome-remote-desktop-session

Cinnamon

echo "exec /etc/X11/Xsession /usr/bin/cinnamon-session-cinnamon2d" > ~/.chrome-remote-desktop-session

Kurcaci

echo "exec /etc/X11/Xsession /usr/bin/gnome-session" > ~/.chrome-remote-desktop-session

Gnome-Klasik

echo "exec /etc/X11/Xsession /usr/bin/gnome-session-classic" > ~/.chrome-remote-desktop-session

KDE Plasma

echo "exec /etc/X11/Xsession /usr/bin/startplasma-x11" > ~/.chrome-remote-desktop-session

Setelah Anda melakukan perubahan ini, mulai ulang layanan agar perubahan diterapkan:

sudo systemctl restart chrome-remote-desktop@$USER

Seperti yang disebutkan sebelumnya, Chrome Desktop Jarak Jauh tidak mendukung akselerasi grafis 3D. Oleh karena itu, untuk setiap lingkungan desktop yang menggunakan fitur ini, Anda perlu menonaktifkan grafis 3D, atau sesi tidak akan dimulai.

Mengaktifkan proses penginstalan otomatis

Saat Anda perlu menyiapkan beberapa komputer dengan Chrome Desktop Jarak Jauh, langkah-langkah penginstalan manual bisa terasa monoton. Anda dapat menggunakan skrip startup kustom untuk mengotomatiskan proses penginstalan menggunakan prosedur berikut.

Untuk keperluan tutorial ini, jenis mesin default dengan boot disk Debian Linux akan digunakan. Jika menggunakan tutorial ini untuk lingkungan sendiri, Anda dapat menyesuaikan jenis mesin, nama, region, ukuran boot disk, atau setelan lainnya.

  1. Di Konsol Google Cloud, buka halaman VM instance:

    Buka halaman VM Instances

  2. Klik Buat Instance.

  3. Tetapkan nama instance crdhost-autoinstall.

  4. Scroll ke, lalu luaskan bagian Advanced Options.

  5. Luaskan bagian Management.

  6. Salin skrip shell berikut dan tempelkan ke kolom Automation/Startup Script:

    #!/bin/bash -x
    #
    # Startup script to install Chrome remote desktop and a desktop environment.
    #
    # See environmental variables at then end of the script for configuration
    #
    
    function install_desktop_env {
      PACKAGES="desktop-base xscreensaver dbus-x11"
    
      if [[ "$INSTALL_XFCE" != "yes" && "$INSTALL_CINNAMON" != "yes" ]] ; then
        # neither XFCE nor cinnamon specified; install both
        INSTALL_XFCE=yes
        INSTALL_CINNAMON=yes
      fi
    
      if [[ "$INSTALL_XFCE" = "yes" ]] ; then
        PACKAGES="$PACKAGES xfce4"
        echo "exec xfce4-session" > /etc/chrome-remote-desktop-session
        [[ "$INSTALL_FULL_DESKTOP" = "yes" ]] && \
          PACKAGES="$PACKAGES task-xfce-desktop"
      fi
    
      if [[ "$INSTALL_CINNAMON" = "yes" ]] ; then
        PACKAGES="$PACKAGES cinnamon-core"
        echo "exec cinnamon-session-cinnamon2d" > /etc/chrome-remote-desktop-session
        [[ "$INSTALL_FULL_DESKTOP" = "yes" ]] && \
          PACKAGES="$PACKAGES task-cinnamon-desktop"
      fi
    
      DEBIAN_FRONTEND=noninteractive \
        apt-get install --assume-yes $PACKAGES $EXTRA_PACKAGES
    
      systemctl disable lightdm.service
    }
    
    function download_and_install { # args URL FILENAME
      if [[ -e "$2" ]] ; then
         echo "cannot download $1 to $2 - file exists"
         return 1;
      fi
      curl -L -o "$2" "$1" && \
        apt-get install --assume-yes --fix-broken "$2" && \
        rm "$2"
    }
    
    function is_installed {  # args PACKAGE_NAME
      dpkg-query --list "$1" | grep -q "^ii" 2>/dev/null
      return $?
    }
    
    # Configure the following environmental variables as required:
    INSTALL_XFCE=yes
    INSTALL_CINNAMON=yes
    INSTALL_CHROME=yes
    INSTALL_FULL_DESKTOP=yes
    
    # Any additional packages that should be installed on startup can be added here
    EXTRA_PACKAGES="less bzip2 zip unzip tasksel wget"
    
    apt-get update
    
    if ! is_installed chrome-remote-desktop; then
        if [[ ! -e /etc/apt/sources.list.d/chrome-remote-desktop.list ]]; then
            echo "deb [arch=amd64] https://dl.google.com/linux/chrome-remote-desktop/deb stable main" \
                | tee -a /etc/apt/sources.list.d/chrome-remote-desktop.list
        fi
        apt-get update
        DEBIAN_FRONTEND=noninteractive \
            apt-get install --assume-yes chrome-remote-desktop
    fi
    
    install_desktop_env
    
    [[ "$INSTALL_CHROME" = "yes" ]] && ! is_installed google-chrome-stable && \
      download_and_install \
        https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
        /tmp/google-chrome-stable_current_amd64.deb
    
    echo "Chrome remote desktop installation completed"
    

    Skrip tersebut menjalankan tugas berikut setiap kali mesin di-reboot:

    • Jika paket desktop jarak jauh tidak diinstal:
      • Menambahkan repositori paket Debian Chrome Desktop Jarak Jauh
      • Menginstal paket dan dependensi Chrome Desktop Jarak Jauh.
    • Menginstal lingkungan desktop Xfce atau Cinnamon (tergantung setelan skrip).
    • Jika opsi lingkungan desktop lengkap diaktifkan, instal paket yang diperlukan.
    • Jika opsi browser Google Chrome diaktifkan dan tidak diinstal:
      • Download paket Google Chrome.
      • Menginstal Google Chrome dan paket dependennya.
  7. Klik Create.

    Perlu waktu beberapa saat untuk membuat instance dan saat pertama kali dijalankan dengan semua opsi diaktifkan, skrip bisa memakan waktu hingga 10 menit untuk menyelesaikan penginstalan.

  8. Untuk memantau progres, hubungkan ke VM instance menggunakan SSH, dan jalankan perintah berikut di terminal instance:

    sudo journalctl -o cat -f _SYSTEMD_UNIT=google-startup-scripts.service
    

    Perintah ini menampilkan output dari skrip startup. Setelah skrip selesai, Anda akan melihat hal berikut:

    INFO startup-script: Chrome remote desktop installation completed
    INFO startup-script: Return code 0.
    INFO Finished running startup scripts.
    

Skrip ini hanya menginstal paket yang diperlukan; Anda masih harus mengonfigurasi Layanan Desktop Jarak Jauh untuk pengguna Anda, seperti yang telah dijelaskan sebelumnya.

Ada berbagai cara untuk menentukan skrip startup saat membuat VM instance baru:

  • Menempelkan skripnya ke konsol Google Cloud (seperti yang ditunjukkan sebelumnya).
  • Menyimpannya sebagai file di komputer lokal, dan menggunakan flag --metadata-from-file saat Anda membuat instance menggunakan Google Cloud CLI.
  • Menyimpannya di bucket Cloud Storage dan menentukan URL ke objek—baik di konsol maupun di gcloud CLI.

Untuk mengetahui informasi selengkapnya tentang metode alternatif cara mengonfigurasi skrip startup, lihat Menjalankan skrip Startup di dokumentasi Compute Engine.

Pemecahan masalah

Bagian ini memberikan saran pemecahan masalah untuk panduan ini.

Memeriksa status layanan Chrome Desktop Jarak Jauh

Jika layanan Chrome Desktop Jarak Jauh tidak merespons, Anda dapat memeriksa statusnya menggunakan SSH untuk terhubung ke instance dan menjalankan perintah berikut:

sudo systemctl status chrome-remote-desktop@$USER

Jika layanan berjalan, Anda akan melihat output yang menyertakan status active:

chrome-remote-desktop.service - LSB: Chrome Remote Desktop service
    Loaded: loaded (/lib/systemd/system/chrome-remote-desktop@USER.service; enabled; vendor preset: enabled)
    Active: active (running) since DATE_TIME; ELAPSED_TIME

Untuk memulai ulang layanan, gunakan perintah berikut di jendela SSH:

sudo systemctl restart chrome-remote-desktop@$USER

Mendapatkan informasi log dan error

Chrome Desktop Jarak Jauh menulis informasi log ke jurnal sistem:

journalctl SYSLOG_IDENTIFIER=chrome-remote-desktop     # All logs
journalctl SYSLOG_IDENTIFIER=chrome-remote-desktop -e  # Most recent logs
journalctl SYSLOG_IDENTIFIER=chrome-remote-desktop -b  # Logs since reboot

Anda dapat memeriksa file log ini untuk melihat apakah ada pesan error.

Mengaktifkan kembali layanan

Jika Anda keliru menonaktifkan koneksi ke instance jarak jauh di aplikasi klien, Anda dapat mengonfigurasi ulang layanan dan mengaktifkannya kembali dengan mengikuti petunjuk di Mengonfigurasi dan memulai layanan Chrome Desktop Jarak Jauh.

Periksa file konfigurasi sesi khusus pengguna dan global.

Periksa isi file /etc/chrome-remote-desktop-session konfigurasi global serta file ~/.chrome-remote-desktop-session konfigurasi khusu pengguna, lalu pastikan konfirmasi lingkungan desktop yang ditentukan telah diinstal.

Pembersihan

Agar tidak perlu membayar biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.

Menghapus project

Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.

Untuk menghapus project:

  1. Di konsol Google Cloud, buka halaman Manage resource.

    Buka Manage resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.

Menghapus instance Compute Engine

Selain menghapus seluruh proyek, Anda juga dapat menghapus instance VM yang dibuat untuk tutorial ini:

  1. Buka halaman instance VM di konsol Google Cloud:

    Buka halaman VM Instances

  2. Pilih kotak centang di samping nama instance yang Anda buat sebelumnya (crdhost).

  3. Klik tombol Edit pada bagian atas halaman:

    Menghapus instance VM.

    Perlu waktu beberapa saat untuk menghapus instance Anda.

Membatalkan otorisasi Chrome Desktop Jarak Jauh untuk instance

Jika tidak ingin lagi terhubung ke instance VM, Anda dapat menonaktifkan dan menghapus instance dari daftar Perangkat Jarak Jauh.

  1. Di komputer lokal Anda, buka situs daftar Perangkat Jarak Jauh Chrome Desktop.
  2. Klik di samping nama instance crdhost.
  3. Klik OK untuk mengonfirmasi bahwa koneksi perangkat jarak jauh harus dinonaktifkan.

Langkah selanjutnya