Ubuntu에 Chrome Remote Desktop을 사용하여 Mac에서 원격 연결

Ubuntu에 Chrome Remote Desktop을 사용하여 Mac에서 원격 연결



개요



원격 Linux 기기에 액세스하기 위해 일반 SSH 연결이 될 수 있지만,
이미지를 확인하고 싶은 경우나 IP 주소가 바뀌어 터널을 통과하는 것이 힘든 경우에도 원격 접속이 가능하고 편리하다.

▼Mac에서의 접속 화면


설치



공식 설명 더 발췌

Chrome 설치 후 공식 페이지에서 Chrome 원격 데스크톱을 설치합니다.
Chrome 원격 데스크톱



64bit Debian 패키지 설치



64bit 데비안 패키지 다운로드 여기

.chrome-remote-desktop-session 만들기


  • /usr/share/xsessions/에서 데스크톱 환경의 .desktop 파일을 찾습니다.
    예를 들어 Cinnamon의 경우 "cinnamon.desktop"이라는 파일이 있으며 다음 명령이 지정됩니다. gnome-session --session=cinnamon
  • 홈 디렉터리에 .chrome-remote-desktop-session이라는 파일을 만들고 다음 내용을 지정합니다.exec /usr/sbin/lightdm-session "<YOUR_EXEC_COMMAND>"
  • <YOUR_EXEC_COMMAND> 부분을 .desktop 파일 끝에 있는 명령으로 바꿉니다.
    Cinnamon의 경우 올바른 명령은 다음과 같습니다. exec /usr/sbin/lightdm-session 'gnome-session --session=cinnamon'통합 데스크톱의 경우 추가 코드가 필요합니다. 전체 명령은 다음과 같습니다. DESKTOP_SESSION=ubuntu XDG_CURRENT_DESKTOP=Unity XDG_RUNTIME_DIR=/run/user/$(id -u) exec /usr/sbin/lightdm-session 'gnome-session --session=ubuntu'
  • ".chrome-remote-desktop-session"이라는 파일을 저장합니다.
    ``

  • Ubuntu 16.04에서는 다음과 같이 되어 있다.
    $ cd /usr/share/xsessions
    $ ls
    ubuntu.desktop
    $ cat ubuntu.desktop
    [Desktop Entry]
    Name=Ubuntu
    Comment=This session logs you into Ubuntu
    Exec=gnome-session --session=ubuntu
    TryExec=unity
    Icon=
    Type=Application
    DesktopNames=Unity
    X-Ubuntu-Gettext-Domain=gnome-session-3.0
    

    홈 디렉토리에 .chrome-remote-desktop-session 만들기
    $ vi ~/.chrome-remote-desktop-session
    [以下の内容を記載]
    exec /usr/sbin/lightdm-session 
    DESKTOP_SESSION=ubuntu XDG_CURRENT_DESKTOP=Unity XDG_RUNTIME_DIR=/run/user/$(id -u) exec /usr/sbin/lightdm-session 'X-Ubuntu-Gettext-Domain=gnome-session-3.0'
    

    원격 연결 허용


  • 컴퓨터에서 Chrome을 엽니 다.
  • 상단의 주소 표시줄에 chrome://apps를 입력한 다음 Enter 키를 누릅니다.
  • Chrome 원격 데스크톱 Chrome 원격 데스크톱 앱을 클릭합니다.
  • 내 컴퓨터에서 사용 시작을 클릭합니다.
  • 원격 연결 사용을 클릭합니다.
  • PIN을 입력하고 동일한 PIN을 다시 입력한 다음 확인을 클릭합니다.
  • 확인 대화 상자를 닫습니다.

  • 문제해결



    배경화면만 표시되는 경우



    ⇢ 데스크탑 시작 시의 환경설정을 변경하는 것으로 잘 갑니다.

    다른 PC에서 볼 때 오프라인 상태에서 원격 연결을 선택할 수 없습니다.



    ⇢ 다른 방법으로 설정을 하여 회피합니다.
    # システムを停止し、立ち上げ時のスクリプトを編集します。
    $ sudo systemctl stop chrome-remote-desktop.service
    
    # 立ち上げスクリプトのバックアップを取ります。
    $ sudo cp /opt/google/chrome-remote-desktop/chrome-remote-desktop /opt/google/chrome-remote-desktop/chrome-remote-desktop.org
    
    # 環境変数の確認をします
    $ echo $DISPLAY
    [値を覚えておく]
    

    시작 스크립트를 편집합니다.
    $ sudo vi /opt/google/chrome-remote-desktop/chrome-remote-desktop
    
    FIRST_X_DISPLAY_NUMBER = 20
    

    ↓ 여기에, echo $DISPLAY 의 결과를 넣어, 현재의 디스플레이가 리모트 접속으로 볼 수 있도록(듯이) 합니다.
    FIRST_X_DISPLAY_NUMBER = 0 # 先ほど覚えた値
    
      @staticmethod
      def get_unused_display_number():
        """Return a candidate display number for which there is currently no
        X Server lock file"""
        display = FIRST_X_DISPLAY_NUMBER
        while os.path.exists(X_LOCK_FILE_TEMPLATE % display):
          display += 1
        return display
    


      @staticmethod
      def get_unused_display_number():
        """Return a candidate display number for which there is currently no
        X Server lock file"""
        display = FIRST_X_DISPLAY_NUMBER
        # while os.path.exists(X_LOCK_FILE_TEMPLATE % display):
        #   display += 1
        return display
    
      def launch_session(self, x_args):
        self._init_child_env()
        self._setup_pulseaudio()
        self._setup_gnubby()
        self._launch_x_server(x_args)
        self._launch_x_session()
    

    ↓ 새롭게 X 세션을 시작하는 대신에, 이미 일어나고 있는 호스트측의 화면을 이용.
      def launch_session(self, x_args):
        self._init_child_env()
        self._setup_pulseaudio()
        self._setup_gnubby()
        # self._launch_x_server(x_args)
        # self._launch_x_session()
        display = self.get_unused_display_number()
        self.child_env["DISPLAY"] = ":%d" % display
    

    변경이 끝나면 다시 시작합시다.
    $ sudo systemctl restart chrome-remote-desktop.service
    

    다음과 같이 연결할 수 있으면 성공입니다.
    화면 크기 등은 방금 편집한 스크립트를 터치하여 변경이 가능합니다.
    ▼Mac에서의 접속 화면


    참고



    How to Install Chrome Remote Desktop on Ubuntu 18.04

    좋은 웹페이지 즐겨찾기