이전에 scrcpy를 유용하게 쓰고 있다는 이야기를 했었습니다.

https://moordev.tistory.com/323

 

scrcpy로 우분투에서 안드로이드 스마트폰 미러링하기

우분투에서 안드로이드 게임을 하거나 안드로이드 에뮬레이터를 돌리는 것은 꽤나 어렵습니다. 기껏해야 Genymotion정도가 안드로이드를 돌리는데 겨우 쓸만합니다. 그리고 대부분 안드로이드 게

moordev.tistory.com

 

실제로 미러링임에도 딜레이가 적었으며 디버그 모드를 활성화 해서 PC를 기억해두면 연결후에 바로 화면이 뜨는 등 매우 편리한 프로그램이었습니다.

 

그런데 사용하고 있는 PC가 아니라 오래된 랩탑에 scrcpy만 설치해서 필요에 따라 스마트폰 화면을 띄우는 독으로 만들면 어떨까라는 생각을 했습니다.

 

비슷한것으로 삼성Dex가 있고 더 옛날로 돌아가면 모토로라의 아트릭스가 있겠네요.

일단 Dex나 아트릭스나 있으면 좋겠지만 삼성 휴대폰이 아니더라도 넓은 화면으로 스마트폰을 쓰고 싶은 사람들도 있을 것이고 외부 모니터를 지원하지 않는 휴대폰도 있을 것이며 때에 따라서는 HDMI모니터 대신 오래되서 버려진 랩탑을 사용하는 또다른 방법이 될 수도 있겠다는 생각을 했습니다.

 

우선 만들어진 이미지는 

https://drive.google.com/file/d/1McZMh8MxRRkGEghZtrtM52wuuOyduZ1Y/view?usp=sharing

 

custom-live.iso

 

drive.google.com

여기서 다운로드 받을 수 있습니다. Debian 10 Buster 기반이고 필요에 따라 Debian 11 Bullseye의 패키지 일부를 백포트해서 설치했습니다.

MD5 2e2118cf81dcd620547bc14505a9a288 

 

해당 이미지를 balenaEtcher로 USB에 굽거나 CD로 구워서 PC로 부팅합니다.

 

그리고 디버그 모드가 설정된 안드로이드 휴대폰을 USB로 연결하면 끝입니다. 디버그 모드 설정은 여기서 굳이 설명 안 해도 찾아보면 많이 나오니 따로 설명은 안 하겠습니다. 참고로

https://4343282.tistory.com/267

 

USB디버깅 모드) 안드로이드 개발자 옵션 활성화 하기

 USB디버깅 모드는 프로그램을 개발하는 개발자, 마케팅을 진행하는 마케터들에게는 필수 기능입니다. 안드로이드 기기에서 기본적으로 제공하는 '안드로이드 개발자 옵션(USB 디버깅 모드)'를

4343282.tistory.com

여기 자세히 나와 있네요.

 

그러면..

https://youtu.be/QGEC9VW_tjM

이렇게 쓸 수 있습니다. 여기에 몇가지 단축키를 알아두시면 더 편리합니다.

 

왼쪽 Alt + O = 스마트폰 화면 꺼짐

왼쪽 Alt + Shift + O = 스마트폰 화면 켜짐

왼쪽 Alt + P = 전원 버튼

왼쪽 Alt + R = 화면 돌리기

왼쪽 Alt + 방향키 위아래 = 볼륨 조절

왼쪽 Alt + H = 홈버튼

마우스 오른쪽 버튼 = 뒤로가기

Ctrl+드래그 = 핀치투 줌

 

자세한 내용은 SCRCPY 설명서를 참조 하시면 됩니다.

 

이런 만드는 방법은 다음과 같습니다.

Virtualbox를 준비합니다.

Debian을 Virtualbox에 설치합니다.

설치가 끝난 뒤에 Debian에 xorg, nodm, openbox, adb, scrcpy 를 설치합니다. (scrcpy는 bullseye 이상에서 제공합니다. 그러므로 Debian 11 이상 사용을 추천)

/etc/default/nodm 파일에 

 

NODM_USER = "설치할때 정한 로그온계정"

 

이것을 안 하면 root로 로그인 되어버립니다. 보안상 문제가 있겠지요.

 

/etc/xdg/openbox/autostart

파일을 열고 마지막줄에 다음과 같이 적습니다.

 

while :; do adb wait-for-device && scrcpy; done

 

이제 openbox의 단축키를 일부 수정합니다.

/etc/xdg/openbox/rc.xml 파일을 수정합니다.

 

<keyboard>

  <keybind key="XF86PowerOff">

    <action name="Execute">

      <command>sudo shutdown -h now</command>

    </action>

  </keybind>

</keyboard>

 

<keyboard> 안을 이것으로 바꿔버립니다. (단축키 충돌 방지를 위함)

 

그리고 shutdown 시 암호를 묻지 않게 하기 위해서

(참고 : https://linux.byexamples.com/archives/315/how-to-shutdown-and-reboot-without-sudo-password/)

 

sudo visudo

%sudo ALL = NOPASSWD: /sbin/shutdown

 

위 내용을 추가합니다.

 

이제 이것을 LinuxRespin을 사용해서 백업합니다.

cd /tmp

wget gitlab.com/remastersys/LinuxRespin/-/raw/master/respin_4.0.0-2_all.deb

sudo dpkg -i respin*.deb

sudo apt install -f

 

이제 백업을 합니다.

 

sudo respin backup

(backup대신 dist를 해도 되나 nodm이 오류 날 수 있음)

이제 /home/respin/respin에 iso파일이 하나 있을 겁니다. 이것은 표준 iso이므로 이걸 하이브리드 iso로 만들어서 USB에 바로 심을 수 있게 만듭니다.

 

sudo apt-get install syslinux isolinux syslinux-utils syslinux-efi
cd /home/respin/respin

isohybrid *.iso

이제 해당 iso파일을 VM밖으로 꺼내와서 사용하면 끝. (VM밖으로 꺼내는 것은 네트워크를 사용하던지 아니면 알아서 하시면 됩니다.

,