대부분 우리나라에서 스마트폰은 삼성아니면 애플입니다.
그나마 있던 LG는 사업철수를 결정했고 중국제조사는 눈에 들어오지도 않으며 그 외의 다른 제조사들도 떨이 신세된지 오랩니다.

그런데 애플이야 애플고유의 생태계가 잘 되어서 그렇다치고 삼성이 독주인것도 이유가 있을겁니다.

일단 하나는 삼성페이인데 이건 넘어가고 저는 Good Lock이 큰 장점이더군요.

안드로이드의 구글 정책에 의해 제조사 커스텀이 많이 사라졌는데 Good Lock은 그냥 프레임워크를 덮어버리면서 커스텀롬에서만 제공되던 기능을 순정상태에서 제공합니다.

혹자는 Good Lock을 씀으로서 삼성만의 안드로이드가 완성된다고 하더군요.

다만 단점이 있는데 프레임워크를 바꾸는 작업이 수반되므로 안드로이드의 버전이 바뀌면 기능이 사라지기일수 입니다. 이내 부활하기는 하는데 시간이 좀 걸리지요. 그냥 저는 OS업데이트를 6개월쯤 뒤에 합니다.

그래야 GoodLock이 지원되더군요.

일단 갤럭시 스토어에서 Good Lock을 검색했을때 뜬다면 해당 기기는 Good Lock이 지원됩니다.

하지만 진정한 Good Lock은 내부기능에서 시작됩니다.

Good Lock만으로는 기능을 쓸수없고 Good Lock내부에서 추가기능을 설치해야합니다.

개인적으로 LockStar는 쓸일이 없어서 안 쓰게 되더군요. 결국 지워버렸습니다. 내비게이션바를 내마음대로 바꾸는 NavStar도 쓰는 것만 씁니다.

QuickStar는 통신사로고를 지워버리는 필수 앱입니다. 쓸데없이 통신사로고를 띄우는 고집도 대단하지만 그걸 날리는 삼성도 고맙더군요.

안드로이드 11에서는 Home Up에 편입된 Task Changer는 기존에 커스텀롬으로 많이 보던 레이아웃으로 바꿔주는데 이게 물건입니다. AOKP롬에서 사용되던 레이아웃인데 구글이 제시한 페이지뷰 방식보다 더 직관적입니다. Task Changer를 한동안 못 찾아서 헤맸는데 이 기능을 살리고 나니 어찌나 반갑던지 너무 편하더군요.

그리고 Good Lock의 기능은 아니지만 One Hand Operation +도 필수 앱으로 통합니다. 어딘가 부족한 제스처 기능을 보조해주고 편하게 옆으로 쓰는것으로 스크린샷을 찍는다거나 뒤로가기 기능을 할 수 있습니다. 쓰다보면 저도 모르게 모서리에서 손가락을 움직이는 자신을 볼 수 있습니다.

사실 이것도 다른 커스텀롬에서 많이 봤던것이지만 커스텀롬이 아닌 순정롬에서 이를 지원하는게 중요한것이지요.

사실 삼성 스마트폰이 겁나게 비싸긴하지만 이래서 바꾸기가 애매하긴합니다. 어쩌면 이게 삼성이 노린것일수도 있고요.

,

http://gpl.iptime.org/gpl/HDD1/GPL/

Index of /gpl/HDD1/GPL/

gpl.iptime.org

여기에가면 지금까지 판매된 Iptime펌웨어의 소스코드가 공개되어있습니다. 툴체인도 함께 올라와 있고 Readme를 보면 어떤 펌웨어에 어떤 툴체인을 써야하는지 잘 나와 있습니다. 자세히보면 ed나 vi같은것도 있고 iptable도 직접 설정이 가능합니다.

이렇게보니 의외로 오래된 공유기를 장난감으로 만드는데 무리없을것 같습니다. 이미 공유기용 리눅스가 존재하긴 하지만 직접 제조사에서 만든 정식 펌웨어가 더 안정적이지요.

저희집에는 a604 한대가 있습니다.대략 2014년쯤 샀고 암튼 오래됐습니다. 이걸 간단한 응답서버로 만들어볼까 합니다. 응답 프로그램을 컴파일해서 넣고 init쪽을 건드려보면 되겠지요. 그리고 잘 된다면 a604는 할 수 없는 Mesh가 지원 될수도 있겠고요.(a604R은 할 수 있지요. 소스코드를 뜯어봐야겠지먀)

암튼 새로운 장난감이 생겼군요.

,

우선 20H2에서는 이런일이 없었던것 같은데 1809나 1903에서 일어난 것이라 대충 적습니다.

프린터 관련해서 문제가 은근히 있었는데

간단하게 프린팅을 하면 프린터가 아무짓을 안하고 멍때리고 있고 Windows의 프린터는 작업을 열심히 보낸다고 뜹니다.

한쪽은 일하고 있다고 뜨고 한쪽은 일을 안 하는 상황

이건...Windows의 버그입니다.

서비스에서 Printer Spooler를 껐다 켜주면 작업이 들어가게 됩니다. 간단하죠?

 

그래서...

 

프린터안될때.zip
0.00MB

이걸 자동으로 해주는 스크립트를 만들었습니다.

 

위 파일의 압축을 풀고 프린터안될때.cmd 파일을 실행하면 관리자 권한으로 실행을 요구하는데 여기서 예를 누르면 Priniter Spooler 서비스가 꺼졌다가 다시 실행 됩니다.

 

이 방식을 사용하면 프린터가 안 되는 문제의 일부는 해결 가능하실 수도 있겠습니다.

,

맑은 고딕은 굉장히 호평 받은 폰트입니다.

작아지면 잘 안보이고 크면 형상이 너무 구린 굴림과 다르게 작아도 잘 보이고 커도 글자 형태가 잘 보입니다.

 

그래서 애플 컴퓨터를 쓰는 사람들은 이를 엄청 부러워했었지요. 지금은 맑은 고딕과 비슷한 산돌 고딕이 들어갔지만요.

 

그런데 리눅스에선 Noto Sans(Source Han Sans)가 쓰이면서 UI는 신경을 아무도 쓰지 않아도 될 정도가 되었습니다.

 

그래서 맑은 고딕이 없던 XP 이전 시절에 일부 프로그램에서는 나눔바른고딕이나 Noto Sans를 내장해서 만들기도 하지만 윈도우에는 이미 맑은 고딕이라는 걸출한 기본 폰트가 있다보니 이젠 맑은 고딕을 다들 적극적으로 씁니다.

 

문제는... Wine에서 이런 프로그램을 쓰려고 하면 맑은 고딕이 없으니 대체 폰트를 써야 한다는 겁니다. 그런데 굴림시절에도 그랬는데 여기서도 맑은 고딕을 하드코딩 해버리는 만행을 저지르는 일이 일상적입니다. 대표적인 것이 카카오톡...입니다.

 

나눔고딕을 설치하면 나눔고딕이 맑은 고딕을 대체 할 수 있지만 이것조차 완벽하지 않지요.

그.래.서.

https://moordev.tistory.com/176

 

굴림 날리고 나눔고딕으로 대체하기

http://moordev.tistory.com/175 이 포스팅 바로전에 슬픈 굴림이야기라는 포스팅을 잠시 했었습니다. 내용은 대충 Wine으로 실행 되는 프로그램중에 굴림을 지정해서 사용하는 경우가 있으며 해당 프로

moordev.tistory.com

나눔고딕으로 가짜 굴림을 만들어서 대체했던 것처럼 Spoqa Han Sans(Noto Sans기반의 경량화 폰트)를 기반으로 가짜 맑은 고딕을 만들어서 이를 대체해 보는 것이지요.

 

방법은 굴림때와 똑같이 만들었으니 설명은 따로 안 하겠습니다.

malgun.ttf.7z
9.74MB

이 파일이 바로 이름은 맑은 고딕인데 내부는 Spoqa Han Sans인 폰트입니다. 이걸 설치하면 Wine 프로그램에서 하드코딩된 프로그램도 한글이 잘 뜨게 될겁니다.

 

그리고 NotoEmoji-Regula도 추가해 넣어서 이모지도 잘 뜨게 될겁니다. (다만 컬러 이모지가 아닌 흑백 이모지입니다.)

 

이런 가짜 폰트들이 많아지는게 좋은 일은 아니지만 그래도 쓸 수 있다는게 얼마입니까.

,

이전에 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밖으로 꺼내는 것은 네트워크를 사용하던지 아니면 알아서 하시면 됩니다.

,