Skip to content

Instantly share code, notes, and snippets.

@packetpilot
Last active March 5, 2025 08:19
Show Gist options
  • Save packetpilot/fe6c6cb900ecffecd66cea4d6d2ce758 to your computer and use it in GitHub Desktop.
Save packetpilot/fe6c6cb900ecffecd66cea4d6d2ce758 to your computer and use it in GitHub Desktop.

Revisions

  1. packetpilot revised this gist Apr 6, 2018. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion gnome_chromote.sh
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,8 @@
    #!/bin/bash

    # gnome and chrome and chrome remote desktop access
    # other desktops can be used w/ light script changes
    # chrome itself is not required, but is included here.
    # other desktops can be used w/ light script changes.
    # tested on:
    # - ubuntu xenial GCE instance
    # - debian stretch crostini container on a Pixelbook (eve)
  2. packetpilot revised this gist Apr 6, 2018. 1 changed file with 5 additions and 4 deletions.
    9 changes: 5 additions & 4 deletions gnome_chromote.sh
    Original file line number Diff line number Diff line change
    @@ -1,14 +1,15 @@
    #!/bin/bash

    # gnome and chrome and chrome remote desktop access
    # chrome itself is not required
    # other desktops can be used w/ light script changes
    # tested on:
    # - ubuntu xenial GCE instance
    # - debian stretch crostini container on a Pixelbook (eve)
    # running ChromeOS v67.0.3383.0 (dev channel)
    # _without_ being in developer mode

    # DO NOT RUN as root/with `sudo`, but DO RUN as a sudoer.

    GKEY=https://dl.google.com/linux/linux_signing_key.pub
    CHROMOTEDEB=https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb

    @@ -17,14 +18,14 @@ wget -q -O - "${GKEY}" | sudo apt-key add -
    sudo sh -c 'echo "deb https://dl.google.com/linux/chrome/deb/ stable main" \
    > /etc/apt/sources.list.d/google-chrome.list'

    sudo apt-get update > /dev/null
    sudo apt-get update
    sudo apt-get -y \
    install gnome-session gnome-shell google-chrome-stable > /dev/null
    install gnome-session gnome-shell google-chrome-stable

    wget "${CHROMOTEDEB}"
    sudo dpkg -i chrome-remote-desktop_current_amd64.deb
    rm chrome-remote-desktop_current_amd64.deb
    sudo apt-get -f install -y > /dev/null
    sudo apt-get -f install -y

    echo "exec /usr/bin/gnome-session" > /home/"${USER}"/.chrome-remote-desktop-session

  3. packetpilot revised this gist Apr 5, 2018. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions gnome_chromote.sh
    Original file line number Diff line number Diff line change
    @@ -32,7 +32,7 @@ sudo usermod -aG chrome-remote-desktop "${USER}"

    cat <<EOF
    Next, you need to: (source: Wernight on askubuntu.com)
    1. Get an auth code by going to
    1. Get an auth code by going to this URL from your (not-headless) machine:
    https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/chromoting%20https://www.googleapis.com/auth/googletalk%20https://www.googleapis.com/auth/userinfo.email&redirect_uri=https://talkgadget.google.com/talkgadget/blank&response_type=code&client_id=440925447803-avn2sj1kc099s0r7v62je5s339mu0am1.apps.googleusercontent.com&access_type=offline&approval_prompt=force
    (note the client ID is from chromium) and once allowed (on the blank page),
    the authorization will be the code= parameter of the URL.
    @@ -42,7 +42,7 @@ the authorization will be the code= parameter of the URL.
    --redirect-url=https://talkgadget.google.com/talkgadget/blank \
    --name="MY_REMOTE_NAME"
    3. Enter your PIN twice
    3. Enter your PIN twice.
    4. Test your connection.
    EOF
  4. packetpilot revised this gist Apr 5, 2018. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions gnome_chromote.sh
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,8 @@
    #!/bin/bash

    # gnome and chrome and chrome remote desktop access
    # chrome itself is not required
    # other desktops can be used w/ light script changes
    # tested on:
    # - ubuntu xenial GCE instance
    # - debian stretch crostini container on a Pixelbook (eve)
  5. packetpilot created this gist Apr 5, 2018.
    46 changes: 46 additions & 0 deletions gnome_chromote.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,46 @@
    #!/bin/bash

    # gnome and chrome and chrome remote desktop access
    # tested on:
    # - ubuntu xenial GCE instance
    # - debian stretch crostini container on a Pixelbook (eve)
    # running ChromeOS v67.0.3383.0 (dev channel)
    # _without_ being in developer mode

    GKEY=https://dl.google.com/linux/linux_signing_key.pub
    CHROMOTEDEB=https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb

    wget -q -O - "${GKEY}" | sudo apt-key add -

    sudo sh -c 'echo "deb https://dl.google.com/linux/chrome/deb/ stable main" \
    > /etc/apt/sources.list.d/google-chrome.list'

    sudo apt-get update > /dev/null
    sudo apt-get -y \
    install gnome-session gnome-shell google-chrome-stable > /dev/null

    wget "${CHROMOTEDEB}"
    sudo dpkg -i chrome-remote-desktop_current_amd64.deb
    rm chrome-remote-desktop_current_amd64.deb
    sudo apt-get -f install -y > /dev/null

    echo "exec /usr/bin/gnome-session" > /home/"${USER}"/.chrome-remote-desktop-session

    sudo usermod -aG chrome-remote-desktop "${USER}"

    cat <<EOF
    Next, you need to: (source: Wernight on askubuntu.com)
    1. Get an auth code by going to
    https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/chromoting%20https://www.googleapis.com/auth/googletalk%20https://www.googleapis.com/auth/userinfo.email&redirect_uri=https://talkgadget.google.com/talkgadget/blank&response_type=code&client_id=440925447803-avn2sj1kc099s0r7v62je5s339mu0am1.apps.googleusercontent.com&access_type=offline&approval_prompt=force
    (note the client ID is from chromium) and once allowed (on the blank page),
    the authorization will be the code= parameter of the URL.
    2. On the headless machine run:
    /opt/google/chrome-remote-desktop/start-host --code="MY_AUTH_CODE" \
    --redirect-url=https://talkgadget.google.com/talkgadget/blank \
    --name="MY_REMOTE_NAME"
    3. Enter your PIN twice
    4. Test your connection.
    EOF