카테고리 보관물: OS

Remix OS for PC 베타 설치 & Play 스토어 앱 설치

Remix OS는 Jide라는 회사에서 개발하고 있는 또 다른 안드로이드 OS이다. 이 OS는 인텔 칩을 사용하는 기존의 PC에서 안드로이드 앱을 사용할 수 있도록 지원하고 있다. 웹 사이트(http://www.jide.com)에서 보면 알 수 있지만, 안드로이드 X86의 최대 오픈 소스 커뮤니티인 Android-x86(http://www.android-x86.org)과 파트너 쉽을 맺고 있는 것을 볼 수 있다. 그리고 Android-x86 사이트에서도 Remix OS와 파트너 쉽을 맺고 있다는 것을 알리고 있다.

개인적으로 Android-x86을 몇 번 설치해서 사용해 봤지만, 홀로 테마와 비율에 맞지 않는 앱들(창 조절 안 되는 문제)로 인해서 사용하기 불편했었다. 하지만 Remix OS에서는 이런 불편한 점들을 개선해서 안드로이드 OS도 데스크톱에서 쉽고 편하게 사용할 가능성을 제공하게 되었다.
Remix OS의 성능은 웹 사이트(http://www.jide.com/en/remixos-for-pc)에서 확인할 수 있다. 이제 Remix OS 설치와 Play 스토어 앱을 설치해 보자.

1. Remix OS 다운로드
Remix OS는 http://www.jide.com/en/remixos-for-pc#downloadNow 에서 사용자 환경에 맞게 다운로드를 하면 된다. 필자의 경우에는 32bit 랩톱에 설치할 예정이라 “32-bit Legacy BIOS only” 버전을 다운로드 받아서 설치한다. 설치하는 환경은 HP EliteBook 8440P의 랩톱이고, 윈도 10이 설치되어 있다.

remix_os_download
그림 1.1 다운로드 받은 Remix OS 베타 버전의 파일들

위 파일에서 Remix OS Installation Tool.exe를 사용해서 USB로 부팅해서 OS를 설치할 수 있도록 설치를 한다. 그리고 “How to Launch Remix OS for PC.txt” 파일은 설치하는 과정을 설명하는 파일이다.

remix_usb_install
그림 1.2 USB에 Remix OS 설치 화면

위 화면은 USB에 Remix OS를 설치하는데 필요한 ISO 이미지 설정, Type으로 USB Drive, 그리고 Drive의 위치를 선택해서 OK 버튼을 클릭하면 USB에 OS 설치를 완료한다.

2. Remix OS 설치
이제 컴퓨터에 설치해 보자. 설치하는 컴퓨터의 CMOS에서 USB 부팅 우선순위를 하드보다 높힌다음 계속 진행한다.
이제 아래와 같은 화면을 보게된다.

remix_os_install
그림 2.1 설치 화면

위 그림 2.1과 같은 화면이 나오면 하드 디스크에 설치(Resident mode) 또는 Usb Live 모드(Guest mode)로 설치할 수 있다. 필자는 하드 디스크에 설치했다. 이제 설치를 다 하고 부팅을 하면 아래와 같은 화면을 볼 수 있다.

remix_os_select_os
그림 2.2 Remix OS가 추가된 부팅 화면

그림 2.2에서 보듯이, Remix OS가 하드에 설치되어 부트 로더에 등록된 모습을 볼 수 있다. 이제 부팅을 하면서 Remix OS를 선택해서 사용할 수 있는 환경이 되었다.

3. Play 스토어 앱 설치
커스텀 안드로이드 OS를 사용하게 되면 늘 불편한 점이 Play 서비스와 Play 스토어 앱이 설치되어 있지 않다는 것이다. Remix OS에 Play 서비스와 Play 스토어 앱을 설치하는 방법은 Remix OS의 구글 그룹에서 확인할 수 있다. 이 그룹에서 “How to download and install Google Play Store on Remix OS for PC(https://groups.google.com/forum/#!topic/remix-os-for-pc/6jsV0ZB8174)”를 확인해 보면 구글 Play 서비스와 Play 스토어 앱을 설치해 주는 앱(GMSActivator.apk)을 다운로드 해서 설치하고 실행한다.

이 파일을 설치하기 전에 설정 > 보안 > 에서 “알 수 없는 소스”를 선택해야 한다. 그래야 로컬에 다운로드 받은 apk 파일을 설치할 수 잇다.

Screenshot_2016-03-02-04-16-50
그림 3-1, 설정 > 보안  화면

편의를 위해서 이곳에 업로드 해 놨으니 다운로드 받으면 된다. 그리고 이 파일을 압축해제하면 GMSActivator.apk 파일을 보게되고, 이 파일을 설치한다.

GMSActivator.zip

이 앱을 설치하고, 실행하면 아래와 같은 화면을 보게된다.

Screenshot_2016-03-02-04-15-58
그림 3-2, GMSActivator.apk 실행 화면

그림 3-2에서 “INSTALL GOOGLE SERVICES” 버튼을 클릭하면, 필요한 파일을 다운로드 받으면서 설치가 완료한다. 그리고, 부팅을 다시 한번 한다. 이 과정으로 Remix OS를 설치하고 Play 스토어 앱을 설치해서 데스크톱의 환경에서 편리하게 안드로이드 OS를 사용할 수 있게 된다.

Screenshot_2016-03-02-04-15-05

그림 3-3, Remix OS에서 Play 스토어 앱을 실행한 화면 및 설치된 앱들

윈도 프로세스 명령 TASKLIST

윈도도 프로세스와 연관된 명령 도구로 tasklist를 제공하고 있다. 이 명령은 이름으로 task와 list가 결합한 태스크 목록 명령으로 쉽게 유추해 볼 수 있고, 유추한 내용이 맞다. 리눅스나 유닉스의 경우에는 ps를 사용해서 비슷한 동작을 처리할 수 있다. 이 명령을 사용하는 형태에 대해서 살펴보자.

1. tasklist /?

이 명령으로 tasklist 명령으로 사용할 수 있는 파라미터와 예제를 확인할 수 있고, 그 내용은 아래에서 확인할 수 있다.

TASKLIST [/S 시스템 [/U 사용자 이름 [/P [암호]]]]
[/M [모듈] | /SVC | /V] [/FI 필터] [/FO 형식] [/NH]

설명:
이 명령줄 도구는 현재 로컬 또는 원격 시스템에서 실행되고 있는 응용 프로그램 및 관련 작업/프로세스 목록을 표시합니다.

매개 변수 목록:
/S 시스템 연결할 원격 시스템을 지정합니다.
/U [domain\]user 명령을 실행해야 하는 사용자 컨텍스트를 지정합니다.
/P [암호] 해당 사용자 컨텍스트의 암호를 지정합니다. 생략한 경우에는 물어봅니다.
/M [모듈] 해당 패턴 이름과 일치하며 DLL 모듈이 로드된 모든 작업을 나열합니다. 모듈 이름을 지정하지 않으면 각 작업에서 로드한 모든 모듈을 표시합니다.
/SVC 각 프로세스에 있는 서비스를 표시합니다.
/V 자세한 정보를 표시하도록 지정합니다.
/FI 필터 필터에서 지정한 조건과 일치하는 작업 집합을 표시합니다.
/FO 형식 출력 형식을 지정합니다. 사용할 수 있는 값: “TABLE”, “LIST”, “CSV”.
/NH 출력에 표시하지 않을 “열 머리글”을 지정합니다. “TABLE”과 “CSV” 형식에서만 사용할 수 있습니다.
/? 이 도움말/사용법을 표시합니다.

필터:
필터 이름 유효한 연산자 유효한 값
———– ————— ————–
STATUS eq, ne RUNNING | NOT
RESPONDING
IMAGENAME eq, ne 이미지 이름
PID eq, ne, gt, lt, ge, le PID 값
SESSION eq, ne, gt, lt, ge, le 세션 번호
SESSIONNAME eq, ne 세션 이름
CPUTIME eq, ne, gt, lt, ge, le CPU 시간
(hh:mm:ss 형식)
hh – 시간,
mm – 분, ss – 초
MEMUSAGE eq, ne, gt, lt, ge, le 메모리 사용(KB)
USERNAME eq, ne 사용자 이름([domain\]user 형식)
SERVICES eq, ne 서비스 이름
WINDOWTITLE eq, ne 창 제목
MODULES eq, ne DLL 이름

예:
TASKLIST
TASKLIST /M
TASKLIST /V
TASKLIST /SVC
TASKLIST /M wbem*
TASKLIST /S 시스템 /FO LIST
TASKLIST /S 시스템 /U domain\username /FO CSV /NH
TASKLIST /S 시스템 /U 사용자 이름 /P 암호 /FO TABLE /NH
TASKLIST /FI “USERNAME ne NT AUTHORITY\SYSTEM” /FI “STATUS eq running”

2. tasklist

이 명령을 사용해서 현재 실행하고 있는 프로세스에 대한 정보를 가져올 수 있다. Image Name이 프로세스 이름이고 PID가 프로세스 ID이다. 그리고 Mem Usage가 메모리 사용량이다.

3. tasklist /m

이 명령으로 프로세스별로 의존하는 라이브러리(dll)를 확인할 수 있다.

4. tasklist /m xxx.dll

이 명령으로 라이브러리(dll)에 의존하는 프로세스 목록을 확인할 수 있다.

그 외에 자주 사용할 수 있는 명령으로 탐색기를 멈췄다가 다시 시작하는 명령은 다음과 같이 실행시킬 수 있다. 아래의 명령은 Administrator 권한을 가지고 cmd를 열고, 실행하면 된다.

taskkill /f /im explorer.exe
explorer.exe & exit

윈도에서 간혹 dll을 삭제하려고 시도하는 경우, 삭제할 수 없다는 메세지를 볼 수 있다. 이런 경우는 특정 프로세스가 dll을 로딩하고 있으므로 발생한다. 그래서 tasklist /m xxx.dll을 사용해서 이 dll을 사용하는 특정 프로세스를 종료하고 삭제를 할 수 있다.

32비트 윈도(Vista/7/8/8.1) 에서 4G 이상 메모리 사용하기

아래 글은 최근 윈도우 업데이트로 인해서 에러가 발생합니다.
아래에서 사용하는 툴의 업데이트를 확인해서 반영되는 대로 이 메세지는 삭제하겠습니다.

—————-

32bit 윈도를 사용하는 기기에 4G 이상의 메모리를 사용하고 있다면 보통은 3G 정도를 사용할 수 있다고 나올 것이다. 많은 기기에 32bit CPU가 장착되어 있지만, 4G 이상의 메모리가 장착된 기기를 쉽게 볼 수 있다. 그래서 PAE 패치는 32bit 기반의 기기에서 메모리를 최대한 활용하기 위해서 꼭 필요한 것이다.

wj32.org 라는 블로그를 운영하시는 분이 윈도 Vista/7/8/8.1에서 PAE를 적용할 수 있도록 툴을 제공하고 있다. 윈도 8.1까지 적용할 수 있는 툴은 http://wj32.org/wp/2013/10/25/pae-patch-updated-for-windows-8-1/ 에서 다운받을 수 있다.

위에서 다운받은 툴의 readme.txt 파일의 순서대로 패치를 하면 다음과 같다.
아래 순서는 C 드라이브에 윈도 8.1이 설치된 필자의 랩톱에서 사용한 예제이다.

# 패치하기
1. 다운받은 툴의 PatchPae2.exe를 Windows/System32 폴더에 복사를 한다.
2. cmd를 관리자 권한으로 실행한다.
3. 128 GB 까지 메모리를 인식할 수 있도록 커널을 패치한다.
3.1 윈도 8/8.1 : c:\Windows\System32>PatchPae2.exe -type kernel -o ntoskrnx.exe ntoskrnl.exe
3.2 윈도 Vista/7 : c:\Windows\System32>PatchPae2.exe -type kernel -o ntkrnlpx.exe ntkrnlpa.exe
4. c:\Windows\System32>PatchPae2.exe -type loader -o winloadp.exe winload.exe
– 로더의 사인 검증 로직을 제거한다.
5. bcdedit /copy {current} /d “Windows (PAE Patched)”
– 부트 항목을 추가한다.
– 이 명령을 실행하면, {8bfc9ccb-7075-11e4-8f2b-9980ef68eed0}와 같은 UUID를 확인할 수 있다.
6. 패치된 커널의 추가한 부트 항목으로 로딩하기 위해서 아래의 명령을 실행한다.
6.1 윈도 8/8.1 : c:\Windows\System32>bcdedit /set {8bfc9ccb-7075-11e4-8f2b-9980ef68eed0} kernel ntoskrnx.exe
6.2 윈도 Vista/7 : c:\Windows\System32>bcdedit /set {8bfc9ccb-7075-11e4-8f2b-9980ef68eed0} kernel ntkrnlpx.exe
7. c:\Windows\System32>bcdedit /set {8bfc9ccb-7075-11e4-8f2b-9980ef68eed0} path \Windows\system32\winloadp.exe
– 패치된 로더로 변경한다.
8. c:\Windows\System32>bcdedit /set {8bfc9ccb-7075-11e4-8f2b-9980ef68eed0} nointegritychecks 1
– 로더 검증 로직을 제거한다.
9. c:\Windows\System32>bcdedit /set {bootmgr} default {8bfc9ccb-7075-11e4-8f2b-9980ef68eed0}
– 추가한 부트 항목을 디폴트로 잡아준다.
10. c:\Windows\System32>bcdedit /set {bootmgr} timeout 2
– 부트 로더가 항목을 보여주는 시간을 설정한다. 범위는 0-999 까지고 위에서는 2초로 설정하고 있다.
11. 컴퓨터를 재시작한다.
– 아래의 화면으로 32bit 윈도 8.1이 4G의 메모리를 인식하는 것을 알 수 있다.

# 삭제하기
1. PAE 패치하지 않은 윈도로 부팅을 한다.
2. msconfig 툴을 실행해서 boot 메뉴에서 “Windows (PAE Patched)” 항목을 삭제한다.
3. Windows/System32 폴더에서 커널(ntoskrnx.exe 또는 ntkrnlpx.exe) 하고 winloadp.exe를 삭제한다.

# 업데이트시
– 윈도 커널의 업데이트시에는 위의 3.번 이후의 과정을 통해서 PAE 패치를 한다.

이 과정으로 32bit 버전의 기기에서 4G가 넘는 메모리를 윈도에서 인식해서 사용할 수 있겠다.

우분투(Ubuntu)에서 Webdav 마운트하기..

개인적으로 클라우드 서비스를 많이 사용하는 사용자로, 일부 서비스들은 싱크 어플리케이션이 리눅스 용으로 출시를 하고 있지 않아서 아쉬웠는데, Webdav을 마운트 해서, 싱크 클라이언트의 대안으로 사용할 수 있다. 아래는 우분투(Ubuntu)에서 root 계정으로, webdav을 마운트하는 방법이다.

1. davfs2(http://savannah.nongnu.org/projects/davfs2) 설치
$ sudo apt-get install davfs2

2. 폴더 생성
// 루트로 생성한다.
$ sudo mkdir /media/webdav

3. webdav 서비스 마운트..
$ sudo mount -t davfs https://ip_address:port /media/webdav

4. 마운트 해제
$ sudo umount /media/webdav

간단하게, box.net과 4shared의 webdav 서비스들을 마운트 해 보면..
* http://www.box.com
$ sudo mkdir /media/box
$ sudo mount -t davfs https://dav.box.com/dav /media/box

* http://www.4shared.com
$ sudo mkdir /media/4shared
$ sudo mount -t davfs https://webdav.4shared.com /media/4shared

아래 처럼, 위 명령으로 마운트한 webdav 서비스들을 볼 수 있다.

참고로, webdav 서비스를 제공하고 있는 클라우드 서비스들은 http://www.sjava.net/?p=469을 참고하면 된다.

* Reference
http://www.handybackup.net/webdav-client-for-web-folder.shtml

Ubuntu에서 Adobe가 배포하는 SourceCodePro, SourceSansPro 폰트 사용하기..

Adobe에서 배포한 SourceCodePro, SourceSansPro 폰트를 우분투에서 사용하는 방법입니다. 최근에 Tweet으로 SourceCodePro가 좋다고 하신 분이 계셔서, Adobe가 Github에서 공개하는 폰트를 찾아보니 SourceSansPro 폰트가 더 있어서, 두 개다 설치하는 방법이다.

아래의 URL에서 2개의 폰트를 다운로드 받는다.
https://github.com/adobe-fonts/source-code-pro
https://github.com/adobe-fonts/source-sans-pro

위 2개의 폰트중에 SourceCodePro 파일을 풀면 아래와 같은 구조를 볼 수 있고, OTF, TTF 둘 다 가지고 있다. OTF와 TTF는 OpenType의 글꼴로, 자세한 내용은 http://en.wikipedia.org/wiki/OpenType에서 볼 수 있다.

drwxr-xr-x  4 mcsong mcsong  4096 Jun 19 10:16 ./
drwxr-xr-x 41 mcsong mcsong 20480 Jun 19 10:16 ../
-rwxr-xr-x  1 mcsong mcsong  4622 Jan 16 13:48 LICENSE.txt*
drwxr-xr-x  2 mcsong mcsong  4096 Jun 19 10:16 OTF/
-rwxr-xr-x  1 mcsong mcsong  4402 Jan 16 13:48 ReadMe.html*
-rwxr-xr-x  1 mcsong mcsong 12328 Jan 16 13:48 SourceCodeProReadMe.html*
drwxr-xr-x  2 mcsong mcsong  4096 Jun 19 10:16 TTF/

각 폰트가 제공하는 2가지 타입중에서, TTF 폰트를 사용하는 방법을 살펴본다. SourceCodePro를 사용하는 예를 살펴보면..

sudo mkdir /usr/share/fonts/truetype/sourcecodepro <– SourceSansPro는 sourcesanspro 폴더를 만든다.
sudo cp *.ttf /usr/share/fonts/truetype/sourcecodepro/ <– 위의 TTF 폴더에서 복사
sudo fc-cache -f -v <– 폰트 캐시 다시 로딩

위의 과정을 SourceSansPro에 대해서도 동일하게 적용한다. 그리고, 폰트 캐시를 리프레시하면 아래의 결과를 볼 수 있다.

/usr/share/fonts/truetype/sourcecodepro: caching, new cache contents: 7 fonts, 0 dirs
/usr/share/fonts/truetype/sourcesanspro: caching, new cache contents: 12 fonts, 0 dirs

위의 과정으로 Adobe에서 배포하는 SourceCodePro와 SourceSansPro 폰트를 사용할 수 있겠다. 개인적으로는 SourceSansPro보다는 SourceCodePro가 코딩할 때 가독성이 좋게 느껴진다.. ^^