이 튜토리얼에서는 Compute Engine의 Debian Linux 가상 머신(VM) 인스턴스에서 Chrome 원격 데스크톱을 설정하는 방법을 보여줍니다. Windows VM에 대한 별도의 안내는 Windows 가상 머신을 참조하세요. Chrome 원격 데스크톱을 사용하면 로컬 컴퓨터나 휴대기기에서 그래픽 사용자 인터페이스를 사용하여 애플리케이션에 원격으로 액세스할 수 있습니다.
이 튜토리얼을 수행할 때 기본 방화벽 규칙은 Chrome 원격 데스크톱 연결을 허용합니다. 추가 방화벽 규칙을 구성할 필요가 없습니다. SSH 액세스는 초기 설정 시에만 필요합니다.
VM은 외부 IP 주소 또는 NAT 게이트웨이를 통해 인터넷에 액세스해야 하며 Google 계정을 인증 및 승인에 사용합니다.
이 튜토리얼에서는 사용자가 Linux 명령줄 및 Debian 패키지 설치에 익숙하다고 가정합니다.
가상 워크스테이션 생성을 위한 다른 옵션에 대한 정보는 가상 워크스테이션 만들기를 참조하세요.
목표
- Chrome 원격 데스크톱을 실행할 헤드리스 Compute Engine VM 인스턴스를 만듭니다.
- VM 인스턴스에서 Chrome 원격 데스크톱을 설치하고 구성합니다.
- VM 인스턴스에서 X Window System 데스크톱 환경을 설정합니다.
- 로컬 컴퓨터에서 VM 인스턴스의 데스크톱 환경으로 연결합니다.
비용
이 튜토리얼에서는 비용이 청구될 수 있는 다음과 같은 Google Cloud 구성요소를 사용합니다.
- Compute Engine
가격 계산기를 사용하면 예상 사용량을 기준으로 예상 비용을 산출할 수 있습니다.
시작하기 전에
- Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Compute Engine API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Compute Engine API.
-
프로젝트에 다음 역할이 있는지 확인합니다. roles/compute.admin
역할 확인
-
Google Cloud 콘솔에서 IAM 페이지로 이동합니다.
IAM으로 이동 - 프로젝트를 선택합니다.
-
주 구성원 열에서 이메일 주소가 있는 행을 찾습니다.
이메일 주소가 열에 없으면 역할이 없는 것입니다.
- 이메일 주소가 있는 행에 대해 역할 열에서 역할 목록에 필요한 역할이 있는지 확인합니다.
역할 부여
-
Google Cloud 콘솔에서 IAM 페이지로 이동합니다.
IAM으로 이동 - 프로젝트를 선택합니다.
- 액세스 권한 부여를 클릭합니다.
- 새 주 구성원 필드에 이메일 주소를 입력합니다.
- 역할 선택 목록에서 역할을 선택합니다.
- 역할을 추가로 부여하려면 다른 역할 추가를 클릭하고 각 역할을 추가합니다.
- 저장을 클릭합니다.
-
- 로컬 머신에서 Google Chrome 브라우저를 사용합니다.
이 문서에 설명된 태스크를 완료했으면 만든 리소스를 삭제하여 청구가 계속되는 것을 방지할 수 있습니다. 자세한 내용은 삭제를 참조하세요.
Compute Engine 인스턴스 만들기
이 튜토리얼에서는 Debian Linux 부팅 디스크가 포함된 기본 머신 유형이 사용됩니다. 자체 환경에서 사용하는 경우 머신 유형, 이름, 리전, 부팅 디스크 크기 또는 기타 설정을 조정하는 것이 좋습니다.
Google Cloud Console에서 VM 인스턴스 페이지로 이동합니다.
만들기를 클릭합니다.
인스턴스 이름을
crdhost
로 설정합니다.만들기를 클릭합니다.
잠시 후에 인스턴스가 생성됩니다.
인스턴스가 생성되면 인스턴스 목록에서 SSH를 클릭하여 새 인스턴스에 연결합니다.
VM 인스턴스에 Chrome 원격 데스크톱 설치
VM 인스턴스의 SSH 창에서 Debian Linux Chrome 원격 데스크톱 설치 패키지를 다운로드하고 설치합니다.
sudo apt update curl -L -o chrome-remote-desktop_current_amd64.deb \ https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb sudo DEBIAN_FRONTEND=noninteractive \ apt-get install --assume-yes ./chrome-remote-desktop_current_amd64.deb
DEBIAN_FRONTEND=noninteractive
매개변수는 VM 인스턴스에 직접 연결되는 키보드의 레이아웃을 구성하기 위한 프롬프트를 표시하지 않습니다.
X Windows System 데스크톱 환경 설치
Chrome 원격 데스크톱에서 사용할 X Window System 데스크톱 환경 및 창 관리자를 설치해야 합니다. 일반 옵션은 다음과 같습니다.
다른 데스크톱 환경을 사용할 수 있지만 Chrome 원격 데스크톱은 3D 그래픽 가속을 지원하지 않습니다. 3D 그래픽 가속을 사용하는 데스크톱 환경을 선택하는 경우에는 해당 기능을 사용 중지해야 합니다. 그렇지 않으면 원격 데스크톱 서비스가 시작되지 않습니다.
느린 네트워크를 통한 원격 연결의 경우 최소한의 그래픽 요소와 적은 애니메이션이 있으므로 Xfce를 사용하는 것이 좋습니다.
Xfce
VM 인스턴스에 연결된 SSH 창에서 Xfce 데스크톱 환경 및 기본 데스크톱 구성요소를 설치합니다.
sudo DEBIAN_FRONTEND=noninteractive \ apt install --assume-yes xfce4 desktop-base dbus-x11 xscreensaver
Chrome 원격 데스크톱에서 Xfce 기본 화면 보호기(라이트 로커)가 작동하지 않으므로(Light Locker는 잠금 해제할 수 없는 빈 화면을 표시함) XScreenSaver가 필요합니다.
기본적으로 Xfce를 사용하도록 Chrome 원격 데스크톱을 구성합니다.
sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/xfce4-session" > /etc/chrome-remote-desktop-session'
인스턴스에 연결된 디스플레이가 없으므로 인스턴스에서 디스플레이 관리자 서비스를 사용 중지합니다.
sudo systemctl disable lightdm.service
필요한 경우 Firefox 브라우저, LibreOffice 오피스 애플리케이션 제품군, Evince PDF 뷰어 등 전체 Linux 데스크톱 애플리케이션 제품군을 설치할 수도 있습니다.
sudo apt install --assume-yes task-xfce-desktop
필요한 경우 인스턴스에 Chrome 브라우저를 설치합니다.
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 ./google-chrome-stable_current_amd64.deb
Cinnamon
VM 인스턴스에 연결된 SSH 창에서 Cinnamon 데스크톱 환경 및 기본 데스크톱 구성요소를 설치합니다.
sudo DEBIAN_FRONTEND=noninteractive \ apt install --assume-yes cinnamon-core desktop-base dbus-x11
기본적으로 2D 모드에서 Cinnamon을 사용하도록 Chrome 원격 데스크톱(3D 그래픽 가속이 필요하지 않음)을 설정합니다.
sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/cinnamon-session-cinnamon2d" > /etc/chrome-remote-desktop-session'
원하는 경우에는 Firefox 브라우저, LibreOffice 오피스 애플리케이션 제품군, Evince PDF 뷰어 등 전체 Linux 데스크톱 애플리케이션 제품군을 설치할 수도 있습니다.
sudo apt install --assume-yes task-cinnamon-desktop
필요한 경우 인스턴스에 Chrome 브라우저를 설치합니다.
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 ./google-chrome-stable_current_amd64.deb
Gnome
VM 인스턴스에 연결된 SSH 창에서 Firefox 브라우저, LibreOffice 오피스 애플리케이션 제품군, Evince PDF 뷰어 등의 전체 Gnome 데스크톱 환경을 설치합니다.
sudo DEBIAN_FRONTEND=noninteractive \ apt install --assume-yes task-gnome-desktop
Gnome을 사용하도록 Chrome 원격 데스크톱 세션 설정
sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/gnome-session" > /etc/chrome-remote-desktop-session'
Gnome 디스플레이 관리자 서비스는 Chrome 원격 데스크톱 서비스와 충돌하므로 인스턴스에서 사용 중지합니다.
sudo systemctl disable gdm3.service sudo reboot
이 명령어는 VM을 재부팅합니다.
계속하기 전에 SSH를 통해 다시 연결하세요.
필요한 경우 인스턴스에 Chrome 브라우저를 설치합니다.
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 ./google-chrome-stable_current_amd64.deb
Gnome-Classic
VM 인스턴스에 연결된 SSH 창에서 Firefox 브라우저, LibreOffice 오피스 애플리케이션 제품군, Evince PDF 뷰어 등의 전체 Gnome 데스크톱 환경을 설치합니다.
sudo DEBIAN_FRONTEND=noninteractive \ apt install --assume-yes task-gnome-desktop
DEBIAN_FRONTEND=noninteractive
매개변수는 VM 인스턴스에 직접 연결되는 키보드의 레이아웃을 구성하기 위한 프롬프트를 표시하지 않습니다.Gnome-Classic 데스크톱을 사용하도록 Chrome 원격 데스크톱 세션을 설정합니다.
sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/gnome-session-classic" > /etc/chrome-remote-desktop-session'
Gnome 디스플레이 관리자 서비스는 Chrome 원격 데스크톱 서비스와 충돌하므로 인스턴스에서 사용 중지합니다.
sudo systemctl disable gdm3.service sudo reboot
이 명령어는 VM을 재부팅합니다.
계속하기 전에 SSH를 통해 다시 연결하세요.
필요한 경우 인스턴스에 Chrome 브라우저를 설치합니다.
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 ./google-chrome-stable_current_amd64.deb
KDE Plasma
VM 인스턴스에 연결된 SSH 창에서 Firefox 브라우저, LibreOffice 오피스 애플리케이션 제품군, Evince PDF 뷰어 등의 전체 Gnome 데스크톱 환경을 설치합니다.
sudo DEBIAN_FRONTEND=noninteractive \ apt install --assume-yes task-kde-desktop
DEBIAN_FRONTEND=noninteractive
매개변수는 VM 인스턴스에 직접 연결되는 키보드의 레이아웃을 구성하기 위한 프롬프트를 표시하지 않습니다.KDE Plasma를 사용하도록 Chrome 원격 데스크톱 세션 설정
sudo bash -c 'echo "exec /etc/X11/Xsession /usr/bin/startplasma-x11" > /etc/chrome-remote-desktop-session'
필요한 경우 인스턴스에 Chrome 브라우저를 설치합니다.
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 ./google-chrome-stable_current_amd64.deb
Chrome 원격 데스크톱 서비스 구성 및 시작
원격 데스크톱 서버를 시작하려면 연결에 사용할 Google 계정에 대한 승인 키가 있어야 합니다.
Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
SSH 버튼을 클릭하여 인스턴스에 연결합니다.
로컬 컴퓨터에서 Chrome 브라우저를 사용하여 Chrome 원격 데스크톱 명령줄 설정 페이지로 이동합니다.
아직 로그인하지 않았으면 Google 계정으로 로그인합니다. 원격 액세스를 승인할 때 이 계정이 사용됩니다.
다른 컴퓨터 설정 페이지에서 시작을 클릭합니다.
승인을 클릭합니다.
Chrome 원격 데스크톱이 사용자 계정에 액세스하도록 허용해야 합니다. 승인하면 다음과 비슷한 Debian Linux 명령줄이 페이지에 표시됩니다.
DISPLAY= /opt/google/chrome-remote-desktop/start-host \ --code="4/xxxxxxxxxxxxxxxxxxxxxxxx" \ --redirect-url="https://remotedesktop.google.com/_/oauthredirect" \ --name=$(hostname)
이 명령어를 사용하여 VM 인스턴스에서 Chrome 원격 데스크톱 서비스를 설정 및 시작하고, 승인 코드를 사용하여 Google 계정에 연결할 수 있습니다.
명령어를 인스턴스에 연결된 SSH 창에 복사한 후에 실행합니다.
메시지가 표시되면 6자리 PIN을 입력합니다. 이 숫자는 나중에 연결할 때 추가적인 승인을 위해 사용됩니다.
No net_fetcher
또는Failed to read
와 같은 오류가 표시될 수 있습니다. 이러한 오류는 무시해도 됩니다.다음 명령어를 사용하여 서비스가 실행 중인지 확인합니다.
sudo systemctl status chrome-remote-desktop@$USER
서비스가 실행 중인 경우
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
VM 인스턴스에 연결
Chrome 원격 데스크톱 웹 애플리케이션을 사용하여 VM 인스턴스에 연결할 수 있습니다.
로컬 컴퓨터에서 Chrome 원격 데스크톱 웹사이트로 이동합니다.
내 컴퓨터에 액세스를 클릭합니다.
아직 Google에 로그인하지 않은 경우 Chrome 원격 데스크톱 서비스를 설정하는 데 사용한 Google 계정으로 로그인합니다.
원격 기기 목록에 새 VM 인스턴스
crdhost
가 표시됩니다.원격 데스크톱 인스턴스의 이름을 클릭합니다.
메시지가 표시되면 앞서 만든 PIN을 입력한 다음 화살표 단추를 클릭하여 연결합니다.
이제 원격 Compute Engine 인스턴스의 데스크톱 환경에 연결됩니다.
메시지가 표시되면 원격 데스크톱 애플리케이션에서 클립보드를 읽고 로컬 애플리케이션과 원격 애플리케이션 간에 복사하여 붙여넣을 수 있도록 항상 허용합니다.
Xfce 데스크톱을 설치한 경우에는 처음 연결할 때 데스크톱 패널을 설정하라는 메시지가 표시됩니다. 기본 구성 사용을 클릭하여 표준 작업 표시줄을 맨 위에, 빠른 시작 패널을 맨 아래에 표시합니다.
원격 데스크톱 환경 개선
이 섹션에서는 원격 데스크톱 환경을 개선하기 위해 설정을 변경하는 방법을 안내합니다.
원격 데스크톱 Chrome 앱 설치
원격 데스크톱 Chrome 앱은 별도의 창으로 표시되며 Chrome에서 일반적으로 가로채는 단축키를 원격 시스템에서 사용할 수 있습니다.
이 앱을 설치하지 않았다면 다음 안내를 따르세요.
- 마우스를 창 측면으로 이동할 때 표시되는 chevron_left 버튼을 사용하여 세션 옵션 패널을 엽니다.
- 앱 설치 섹션에서 시작을 클릭합니다.
- 설치를 클릭합니다.
원격 데스크톱 세션이 자체 애플리케이션 창에서 다시 열립니다.
URL 표시줄의 연결 프로그램 open_in_new 아이콘을 클릭하면 Chrome 탭에서 앱 창으로 원격 데스크톱 세션을 이동할 수 있습니다.
Cinnamon에서 애니메이션 및 효과 사용 중지
Cinnamon 데스크톱은 반투명 창, 천천히 표시되고 사라지는 메뉴 등 여러 가지 그래픽 기능과 애니메이션을 사용합니다. 이러한 애니메이션은 원격 연결 시 렌더링에 더 오랜 시간이 걸리기 때문에 사용자 인터페이스가 느리게 느껴질 수 있습니다.
이러한 효과를 사용 중지하려면 다음 안내를 따르세요.
Cinnamon 데스크톱에서 Menu(메뉴) > Preferences(환경설정) > Effects(효과)를 선택합니다.
각 효과를 사용 중지합니다.
사용자 비밀번호 설정
Compute Engine에서 만든 사용자 계정에는 비밀번호가 없습니다. 하지만 일부 데스크톱 환경에는 화면 보호기를 잠금 해제하고 관리 작업을 승인하기 위한 환경이 필요합니다. 따라서 사용자의 비밀번호를 설정하는 것이 중요합니다.
- 인스턴스를 처음 설정할 때와 마찬가지로 SSH를 사용하여 인스턴스에 연결합니다.
사용자의 비밀번호를 만듭니다.
sudo passwd $(whoami)
화면 보호기 및 잠금 화면 사용 중지
원격 컴퓨터에서 데스크톱에 액세스하기 때문에 일반적으로 화면 보호기나 화면 잠금을 사용할 필요가 없으므로 이를 사용 중지할 수 있습니다.
Xfce
- Applications(애플리케이션) 메뉴에서 Settings(설정) > Screensaver(화면 보호기)를 선택합니다.
- Mode(모드)를 Disable Screen Saver(화면 보호기 사용 중지)로 설정합니다.
Cinnamon
- 바탕화면에서 Menu(메뉴) > Preferences(환경설정) > Screensaver(화면 보호기)를 선택합니다.
- Settings(설정) 탭에서 Delay(지연)를 Never(안 함)로 설정하고 다음 두 잠금 설정을 사용 중지하여 화면을 자동으로 잠급니다.
Gnome
- 데스크톱에서 Activites(활동)를 클릭하고
Settings
를 입력합니다. - Settings(설정) 애플리케이션을 선택합니다.
- Settings(설정) 애플리케이션에서 Privacy(개인 정보 보호) > Screen Lock(화면 잠금)을 선택합니다.
- Automatic Screen Lock(자동 화면 잠금)을 사용 중지하고 대화상자를 닫습니다.
- Devices(기기) > Keyboard(키보드)를 선택합니다.
- 단축키 목록에서 System(시스템) 섹션까지 아래로 스크롤한 다음 Lock Screen(잠금 화면)을 클릭합니다.
Backspace
키를 눌러 단축키를 사용 중지한 다음 Set(설정)를 클릭합니다.- Power(전원)를 선택하고 Blank Screen(빈 화면)을 Never(사용 안함)로 설정합니다.
Gnome-Classic
- 바탕화면에서 Applications(애플리케이션) > System Tools(시스템 도구) > Settings(설정)를 선택합니다.
- Settings(설정) 애플리케이션에서 Privacy(개인 정보 보호) > Screen Lock(화면 잠금)을 선택합니다.
- Automatic Screen Lock(자동 화면 잠금)을 사용 중지하고 대화상자를 닫습니다.
- Devices(기기) > Keyboard(키보드)를 선택합니다.
- 단축키 목록에서 System(시스템) 섹션까지 아래로 스크롤하고 Lock Screen(잠금 화면)을 클릭합니다.
Backspace
키를 눌러 단축키를 사용 중지한 다음 Set(설정)를 클릭합니다.- Power(전원)를 선택하고 Blank Screen(빈 화면)을 Never(사용 안함)로 설정합니다.
KDE Plasma
- 데스크톱에서 KDE 메뉴 버튼을 클릭한 다음
Screen Locking
을 입력합니다. - Screen Locking(화면 잠금) 애플리케이션을 선택합니다.
- Configure Screen Locking(화면 잠금 구성) 애플리케이션에서 Lock Screen Automatically after(다음 시간이 지나면 자동으로 화면 잠금)를 사용 중지하고 버튼을 클릭하여 단축키를 삭제합니다.
- OK(확인)를 클릭합니다.
데스크톱 해상도 향상
초고해상도 모니터를 사용하는 경우에는 기본 최대 원격 데스크톱 크기인 1600 x 1200이 너무 작게 느껴질 수도 있습니다. 그렇다면 모니터의 해상도에 맞춰 늘릴 수 있습니다.
- SSH를 사용하여 인스턴스에 연결합니다.
모니터의 해상도를 포함하도록
CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES
환경 변수를 설정합니다.echo "export CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES=1600x1200,3840x2560" \ >> ~/.profile
서비스를 다시 시작합니다.
sudo systemctl restart chrome-remote-desktop@$USER
다른 데스크톱 환경 선택
이전 섹션에서는 전역 /etc/chrome-remote-desktop-session
구성 파일에서 기본 데스크톱 환경을 설정했습니다. 다른 데스크톱 환경이 설치되어 있다면 홈 디렉터리의 .chrome-remote-desktop-session
구성 파일에서 이를 지정하여 선택할 수도 있습니다.
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
Gnome
echo "exec /etc/X11/Xsession /usr/bin/gnome-session" > ~/.chrome-remote-desktop-session
Gnome-Classic
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
이 변경 후에는 서비스를 다시 시작하여 변경사항을 적용합니다.
sudo systemctl restart chrome-remote-desktop@$USER
앞에서 언급했듯이 Chrome 원격 데스크톱은 3D 그래픽 가속을 지원하지 않습니다. 따라서 이러한 기능을 사용하는 데스크톱 환경에서는 3D 그래픽을 사용하지 않도록 설정해야 합니다. 그렇지 않으면 세션이 시작되지 않습니다.
설치 프로세스 자동화
Chrome 원격 데스크톱으로 여러 머신을 설정해야 하는 경우 수동 설치 단계가 반복될 수 있습니다. 다음 절차에 따라 커스텀 시작 스크립트를 사용하면 이 프로세스를 자동화할 수 있습니다.
이 튜토리얼에서는 Debian Linux 부팅 디스크가 포함된 기본 머신 유형이 사용됩니다. 자체 환경에서 사용하는 경우 머신 유형, 이름, 리전, 부팅 디스크 크기 또는 기타 설정을 조정하는 것이 좋습니다.
Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
인스턴스 만들기를 클릭합니다.
인스턴스 이름을
crdhost-autoinstall
로 설정합니다.다음 셸 스크립트를 복사해 자동화/시작 스크립트 입력란에 붙여넣습니다.
#!/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 curl -L -o "$2" "$1" apt-get install --assume-yes --fix-broken "$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 ! is_installed chrome-remote-desktop && \ download_and_install \ https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb \ /tmp/chrome-remote-desktop_current_amd64.deb 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"
이 스크립트는 머신이 재부팅될 때마다 다음 작업을 수행합니다.
- 원격 데스크톱 패키지가 설치된 경우:
- Chrome 원격 데스크톱 패키지를 다운로드하고 설치합니다.
- 종속 패키지를 설치합니다.
- Xfce 또는 Cinnamon 데스크톱 환경(스크립트 설정에 따라 다름)을 설치합니다.
- 전체 데스크톱 환경 옵션이 사용 설정된 경우, 필요한 패키지를 설치합니다.
- Chrome 브라우저 옵션이 사용 설정되고 설치되지 않은 경우:
- Chrome 원격 데스크톱 패키지를 다운로드하고 설치합니다.
- 종속 패키지를 설치합니다.
- 원격 데스크톱 패키지가 설치된 경우:
만들기를 클릭합니다.
인스턴스를 만드는 데 시간이 약간 걸리며, 모든 옵션이 사용 설정된 상태에서 처음 실행 시 스크립트가 설치를 완료하는 데 최대 10분이 걸릴 수 있습니다.
진행 상황을 모니터링하려면 SSH를 사용하여 VM 인스턴스에 연결하고 인스턴스의 터미널에서 다음 명령어를 실행합니다.
sudo journalctl -o cat -f _SYSTEMD_UNIT=google-startup-scripts.service
이 명령어는 시작 스크립트의 출력을 보여 줍니다. 스크립트가 완료되면 다음이 표시됩니다.
INFO startup-script: Chrome remote desktop installation completed INFO startup-script: Return code 0. INFO Finished running startup scripts.
이 스크립트는 필수 패키지만 설치하므로 이전에 설명한 것처럼 사용자를 위한 원격 데스크톱 서비스를 구성해야 합니다.
새 VM 인스턴스를 만들 때 시작 스크립트를 지정하는 방법은 다음과 같이 여러 가지가 있습니다.
- Google Cloud 콘솔에 붙여 넣습니다(앞에 설명됨).
- 로컬 머신에 파일로 저장하고 Google Cloud CLI를 사용하여 인스턴스를 만들 때
--metadata-from-file
플래그를 사용합니다. - Cloud Storage 버킷에 저장하고 Console 또는 gcloud CLI에서 객체의 URL을 지정합니다.
시작 스크립트를 구성하는 다른 방법에 대한 자세한 내용은 Compute Engine 문서의 시작 스크립트 실행을 참조하세요.
문제 해결
Chrome 원격 데스크톱 서비스 상태 확인
언제든지 Chrome 원격 데스크톱 서비스가 응답하지 않을 경우, SSH를 사용하여 인스턴스에 연결하고 다음 명령어를 실행하여 상태를 확인할 수 있습니다.
sudo systemctl status chrome-remote-desktop@$USER
서비스가 실행 중인 경우 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
서비스를 다시 시작하려면 SSH 창에서 다음 명령어를 사용합니다.
sudo systemctl restart chrome-remote-desktop@$USER
로그 및 오류 정보 가져오기
Chrome 원격 데스크톱은 시스템 저널에 로그 정보를 씁니다.
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
이러한 로그 파일에서 오류 메시지를 확인할 수 있습니다.
서비스 다시 사용 설정
클라이언트 앱에서 원격 인스턴스 연결을 실수로 사용 중지한 경우, Chrome 원격 데스크톱 서비스 구성 및 시작의 안내에 따라 서비스를 재구성하고 다시 사용 설정할 수 있습니다.
전역 및 사용자별 세션 구성 파일 확인
전역 /etc/chrome-remote-desktop-session
구성 파일 및 사용자별 ~/.chrome-remote-desktop-session
구성 파일을 확인하고 지정된 데스크톱 환경이 설치되어 있는지 확인합니다.
삭제
이 튜토리얼에서 사용된 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 리소스가 포함된 프로젝트를 삭제하거나 프로젝트를 유지하고 개별 리소스를 삭제하세요.
프로젝트 삭제
비용이 청구되지 않도록 하는 가장 쉬운 방법은 튜토리얼에서 만든 프로젝트를 삭제하는 것입니다.
프로젝트를 삭제하려면 다음 안내를 따르세요.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Compute Engine 인스턴스 삭제
전체 프로젝트를 삭제하는 대신 이 가이드를 위해 만든 VM 인스턴스를 삭제할 수 있습니다.
Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
이전에 만든 인스턴스 이름 옆의 체크박스를 선택합니다(
crdhost
).페이지 상단의 삭제 버튼을 클릭합니다.
잠시 후에 인스턴스가 삭제됩니다.
인스턴스의 Chrome 원격 데스크톱 승인 취소
더 이상 VM 인스턴스에 연결하지 않으려면 인스턴스를 사용 중지하고 원격 기기 목록에서 삭제하면 됩니다.
- 로컬 컴퓨터에서 Chrome 원격 데스크톱 원격 기기 목록 웹사이트로 이동합니다.
- 인스턴스 이름
crdhost
옆에 있는 를 클릭합니다. - 확인을 클릭하여 원격 기기 연결이 사용 중지되어야 함을 확인합니다.
다음 단계
- Windows 가상 머신에서 Chrome 원격 데스크톱을 설정하는 방법을 알아보세요.
- 가상 워크스테이션 만들기의 다른 옵션 알아보기
- Google Cloud에 대한 참조 아키텍처, 다이어그램, 권장사항 살펴보기. Cloud 아키텍처 센터 살펴보기