안드로이드 크롬에서 데스크톱 사이트 영구 활성화하기
이 가이드에서는 안드로이드용 크롬(Chrome)을 수정하여 모든 웹사이트를 항상 데스크톱 화면으로 불러오는 방법을 소개합니다. 많은 사용자가 "데스크톱 사이트 요청" 옵션을 켜두었음에도 시간이 지나면 크롬 앱이 다시 모바일 사이트로 되돌아가는 문제를 겪고 있습니다.
그 원인은 안드로이드 누가(Nougat) 이후 강화된 SELinux 권한 정책 때문에 크롬이 /data/local/ 디렉토리를 읽을 수 없기 때문입니다. 다행히 해결 방법은 생각보다 간단합니다. 일부 가이드에서는 /data/local을 /data/local/tmp로 변경하라고 안내하지만, 최신 버전의 크롬과 크로미움(Chromium)에서는 작동하지 않습니다. 디버그 모드가 아니면 앱이 해당 파일을 아예 사용하지 않기 때문입니다. 대부분의 롬(ROM)은 디버그 빌드가 아니므로, 개발자 옵션에서 크롬을 직접 디버그 모드로 설정해야 합니다.
다운로드
- chrome-command-line.txt
- ChromeDesktopMode-ScaleFactor1.zip
- ChromeDesktopMode-ScaleFactor1.25.zip
- ChromeDesktopMode-ScaleFactor1.5.zip
- ChromeDesktopMode-ScaleFactor1.75.zip
- ChromeDesktopMode-ScaleFactor2.zip
먼저 위 다운로드 목록에서 크롬 명령줄 파일(chrome-command-line)을 준비한 뒤, 리커버리를 통해 플래시해야 합니다. TWRP나 다른 커스텀 리커버리를 사용하는 것이 가장 좋습니다.
루팅된 파일 탐색기를 이용해 파일을 수동으로 /data/local/tmp 경로에 넣는 방법도 가능합니다. 단, 반드시 파일 권한을 755로 설정해야 합니다.
마지막으로 ADB를 통해서도 설치할 수 있습니다. 다음 명령어를 사용하세요:
adb push chrome-command-line /data/local/tmp/chrome-command-line
단, 수동 배포 방식(루트 파일 탐색기 또는 ADB)을 사용할 경우에는 "chrome-command-line.txt" 파일에서 스케일 팩터(scale factor) 값을 직접 수정한 후, 파일명을 "chrome-command-line"으로 변경해야 합니다. 자세한 내용은 아래 스케일 팩터 섹션을 참고하세요.
디버그 앱 설정하기
개발자 옵션에서 "디버깅 앱 선택(Select Debugging App)" 항목을 찾아 이동합니다.
크롬을 선택한 후 "디버거 대기(Wait for Debugger)" 옵션은 비활성화합니다. 만약 디버깅 앱 목록에 크롬이 표시되지 않는다면, 다음 ADB 명령어로 강제 지정할 수 있습니다:
adb shell am set-debug-app --persistent com.android.chrome
이제 크롬이 강제로 디버깅 모드로 실행됩니다. 개발자 옵션의 "디버깅 앱 선택" 항목에서 크롬이 정상적으로 설정되었는지 확인할 수 있습니다.
마무리 설정
크롬 앱을 실행한 뒤 설정 > 접근성(Accessibility) 메뉴로 이동하여 "확대/축소 강제 사용(Force Enable Zoom)" 옵션을 활성화합니다.
이제 크롬을 완전히 종료(애플리케이션 강제 종료 등)한 후 다시 실행하면, 영구적인 데스크톱 모드가 적용된 것을 확인할 수 있습니다.
스케일 팩터(Scale Factor) 이해하기
2018년 6월 빌드부터 안드로이드용 크롬은 기기 유형(폰 또는 태블릿)에 따라 인터페이스 방식을 결정하는 로직에 큰 변화를 도입했습니다.
이전에는 폰을 사용 중이라면 스케일 팩터를 원하는 값으로 자유롭게 설정해도 모바일 인터페이스가 유지되었습니다. 하지만 이제 크롬은 force-device-scale-factor 값을 먼저 고려한 후 인터페이스를 결정합니다. 즉, 스케일 팩터를 너무 낮게 설정하면 태블릿 스타일의 탭 인터페이스가 적용됩니다. 일부 사용자에게는 매력적일 수 있지만, 선호하지 않는다면 모바일 스타일 인터페이스로 돌아올 때까지 스케일 팩터를 높이는 것 외에 방법이 없습니다.
다행히 더 이상 스케일을 0.25 단위로만 변경할 필요가 없어졌습니다. 이제 더 세밀한 조정이 가능해져 더 넓은 뷰포트(viewport)를 확보할 수 있다는 장점이 있습니다.
일부 웹사이트는 사용자 에이전트(user agent)를 기준으로 제공할 페이지 버전을 결정하지만, 대부분은 사용 가능한 뷰포트 크기(보통 화면 너비)도 함께 확인합니다. 따라서 스케일 팩터를 너무 높게 설정하면 여전히 모바일 버전이 표시될 수 있습니다. 세로 모드에서는 화면 너비 제약 때문에 모바일 버전이 나올 수 있지만, 가로 모드로 전환하면 데스크톱 버전을 받을 수 있습니다.
화면 해상도별로 데스크톱 사이트를 안정적으로 불러올 수 있는 대략적인 최적 스케일 팩터는 다음과 같습니다:
- 720p 이하: 1 ~ 1.25 사이의 스케일 팩터를 선택하세요. 1.5까지 올리면 모바일 웹사이트가 표시될 가능성이 높습니다.
- 1080p: 1.5, 1.75 또는 2의 스케일 팩터를 사용하는 것이 좋습니다. 스케일 팩터 2에서는 대부분의 웹사이트가 데스크톱 버전을 표시하지만, 세로 모드 사용 시 화면 너비 제약으로 모바일 웹사이트가 나올 수 있습니다.
- 1080p 초과: 1.75 ~ 2 사이를 유지하는 것이 적절하며, 4K 화면이라면 더 높은 값이 필요할 수 있습니다.
물론 이는 어디까지나 참고용 기준입니다. 예를 들어 1080p 화면의 5인치 기기와 같은 해상도의 10인치 태블릿은 결과가 분명히 다릅니다. 본인에게 가장 편안한 값을 찾으려면 여러 차례 조정해보는 것이 좋습니다. 스케일 팩터가 높을수록 화면 요소들이 커지는데, 이는 기본적으로 화면을 확대하는 방식이기 때문입니다. 예를 들어 뷰포트 너비가 1000일 때 스케일 팩터를 2로 설정하면 뷰포트는 500이 됩니다. 실제 화면이 줄어드는 것이 아니라, 마치 더 낮은 해상도 화면처럼 콘텐츠가 표시되는 원리입니다.