Mac의 마이크 소리를 스피커나 이어폰으로 듣기 위해서 예전에 LineIn 이라는 앱을 사용했었다.


단순히 토글해주면 되는 편한 앱이었는데... 현재는 개발사가 오디오와 관련된 각종 유료 프로그램들을 판매하고 20분 데모버전으로만 제공하는 상황.

예전 앱도 32bit로 컴파일되어 있어서 최신버전의 Mac에서는 작동하지 않는다.


그래서 방법을 찾다가 발견한 간단한 방법.

brew 에서 sox 라는걸 깔고 커맨드라인에서 간단하게

sox -d -d

라고 입력해주면 된다.


SoX 는 오디오 파일을 컨버팅해주는 커맨드라인 툴인데, -d -d 는 입력(-d, 시스템 기본 입력 장치: 마이크)을 출력(-d, 시스템 기본 출력 장치)로 보낸다는 의미로 마이크 소리를 그대로 출력할 수 있게 해준다.


다만 약간의 딜레이는 있는데... 난 잠깐 테스트 목적으로 딜레이가 있어도 상관없으니 만족하고 끝.

'Mac, iOS' 카테고리의 다른 글

NoSleep - 맥북 덮어도 잠자지 않게 하기  (1) 2014.10.27
[Mac] .rsrc 추출  (0) 2013.12.15
homebrew 설치 / 다운그레이드  (0) 2013.11.19
VirtualBox에서 부트캠프 파티션 사용하기  (4) 2013.11.15
Mac openVPN 서버 설치  (0) 2013.11.14



잊을만 하면 돌아오는, 유입경로에 답하기 시간입니다!!

와아아!!!



맥북은 덮어버리면 잠자기에 들어간다.

외부모니터를 연결한 상태에서도, 내 맥북은 덮어버리면 잠자기에 들어가버리더라..ㅡㅡ;;

전원 어댑터를 연결하면 덮어도 되지만...


그 문제에 대한 해결책!


NoSleep 라는 커널 확장프로그램이 있다.

https://code.google.com/p/macosx-nosleep-extension/

이 주소에서 다운 가능!


설치하면 아마 재부팅이 필요할텐데..





실행하면 상태바에 아이콘이 하나 생기고 설정은 대충 저러하다.





이 프로그램이 필요한 이유라면.... 뭐 사람마다 다르겠지만


1. 맥북의 외장배터리화

 - 덮은 상태에선 USB 선을 꼽아도 충전이 되지 않지만, 한번 화면을 열어서 충전이 시작되고 나면

덮어도 잘 된다. 그런데 맥북의 배터리 잔량이 50% 미만이 되면 이마저도 안되는데.. 그런 상황에서??


2. 노래 재생

 - 잘 쓸일 없겠지만.. 이어폰을 꼽던 뭘 하던 덮으면 재생이 정지된다. 이런 경우...


3. 위에서 말한 외부모니터

 - 뭐.. 필요한가 싶다만은.


4. 내가 필요했던 이유

- 결론적으론 안쓰게 됐지만,

필기용으론 젬병이기도 하고.. 뭐 이런저런 생각에,

노트북을 덮어놓고, 작은 외부 모니터나 아이패드를 이용하여 노트북 화면을 보는 환경을 구상한 적이 있다.

그걸 위해 찾았었는데... 별로라서 걍 안씀




상태바에 켜두면 한번씩 유용하다. 난 외장배터리 용도, 노래 재생 순으로 드물게 한번씩 쓰는 듯.

맥에 있는 기본 앱들을 열어보면, 있어야 할 리소스 대신


이런 파일만 있다..

iOS 에 .artwork 처럼 리소스들을 압축(?)해 놓은 파일이다.


검색을 해본 결과 Resedit, ThemePark 등의 앱이 나왔지만,, 현재 OSX 에는 없거나 호환이 되지 않는다.


http://iconverticons.com/online/


에서 웹으로 파일을 올린 후 내려받는 식으로 할 수도 있지만,

무료인 웹서비스는 제대로 되지도 않고 용량제한도 있다..

iConvert 앱으로도 제공하나, 얘는 유료.



그래서 결론은,,

http://stackoverflow.com/questions/5069705/how-to-get-images-from-itunes-rsrc-using-derez


이 글.

뭔가 제대로된 해결책이 아닌 것 같아서 검색 초창기에 봤음에도 지나갔는데, 저게 정답이였다.

(확장자만 제대로 썼어도...ㅡ_ㅡ)


우선 DeRez 는 xcode 개발툴에 있다. 만약 없으면,, xcode 를 설치하고.. 그래도 없으면 command line tool 도 설치.


$ DeRez -useDF -only 'PNG' iTunes.rsrc > iTunes.txt


(PNG 대문자 구분한다... 이거땜에 또 좀 고생..ㅠㅠ)

이렇게 하면 바이너리 값이 잘 정리된(?) 파일이 튀어나온다.




대충 이런형태....

딱봐도 저부분만 빼내면 png 파일이 나오는건데,,, 


이걸 저 stackoverflow 의 답변자가 파이썬으로 만들어 놨다.


for l in file('iTunes.txt'):

    if not l[0] == '\t':

        if l.startswith('data '):

            res_id = l[l.rindex('(') + 1:l.rindex(')')]

            out = file('extract/' + res_id + '.png', 'wb')

        continue

    out.write(l[l.index('"') + 1:l.index('" ')].replace(' ', '').decode('hex'))


안에 인자들을 자신에 맞게 적당히 바꿔준다음

python 을 돌려주면 이미지가 다 튀어나온다.



설치

간단하다.


$ ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go)


검색하면 나오긴 하지만

클론 / 빌드 가 먼저 나와서 걍 적어둠..


아 그리고 설치가 끝나면

You should run `brew doctor' *before* you install anything.


이렇게 말하니 잊지말고

$ brew doctor

도 해주자.



다운그레이드

iOS 의 dpkg 가 구버젼이라 다운그레이드가 필요했다.

(결론적으로 이걸로 해결되진 않았지만 여튼...ㅋㅋ)


내 과정을 대충 넣어놨으니 알아서....


$ brew unlink dpkg

Unlinking /usr/local/Cellar/dpkg/1.17.1... 103 links removed


$ cd `brew --prefix`

$ brew versions dpkg

1.17.1   git checkout 9650e37 /usr/local/Library/Formula/dpkg.rb

1.15.8.13 git checkout 5ddd40b /usr/local/Library/Formula/dpkg.rb

1.15.8.12 git checkout f585036 /usr/local/Library/Formula/dpkg.rb

1.15.8.11 git checkout 2dd97d1 /usr/local/Library/Formula/dpkg.rb


git checkout 5ddd40b /usr/local/Library/Formula/dpkg.rb

$ brew install

Error: This formula cannot be built with any available compilers.

To install this formula, you may need to:

  brew install apple-gcc42

brew install apple-gcc42

$ brew install dpkg


참고로 이 과정 후에는

$ brew switch formula version

로 왔다갔다가 가능하다.

수능치고 친구랑 바람의나라(..)정도 할려고 윈도우를 설치하였다.

무료 가상머신인 VirtualBox 가 꽤나 쓸만하대서 얘로 진행.

부트캠프는 쓸 생각이 없었어나 가상머신에선 실행이 안되는 핵쉴드 때문에

결국 붓캠으로 재설치하였다ㅠㅠㅠㅠ


패러렐즈와 달리 VirtualBox 는 부트캠프 파티션을 가져오는 기능을 기본으로 지원하지 않는다.

하지만 검색해보면 방법은 있고, 클리앙 팁게에 용자군 님이

[맥] 버추얼박스(Virtualbox)에서 부트캠프 파티션 쓰기(Windows7)


라는 글을 써주셨다.


저 글을 보고 하긴 했는데,, 2011년 글이라 그런지 저대로하면 안된다..ㅋㅋ

언제부턴진 모르겠지만 disk0s3 은 복구파티션이 사용하기 때문..


그래서 새로 정리해 봤다.

(당연한 소리지만 $ 는 쉘 종류를 나타내는 기호로 저것까지 복&붙하면 안된다..)


1. BOOTCAMP 파티션 추출

파인더에서 우클릭 -> 추출을 선택하거나

$ sudo umount /Volumes/BOOTCAMP/


2. BOOTCAMP 파티션 ID 확인

$ diskutil list

/dev/disk0

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:      GUID_partition_scheme                        *121.3 GB   disk0

   1:                        EFI EFI                     209.7 MB   disk0s1

   2:                  Apple_HFS Macintosh HD            100.5 GB   disk0s2

   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

   4:       Microsoft Basic Data BOOTCAMP                20.0 GB    disk0s4


나의 경우 disk0s4 가 BOOTCAMP 파티션이다.


3. 권한 조정

$ sudo chmod 777 /dev/disk0s4


4. vmdk 파일 생성

vmdk 파일을 생성해야 하는데,

난 ~/VMDisk 라는 디렉토리를 만들고 여기에 생성했다.

$ cd ~/VMDisk


명령어 젤 끝의 숫자를 자신이 확인한 BOOTCAMP 의 id 에 따라 수정해준다.

disk0s4 라면 4번 파티션이다.

sudo VBoxManage internalcommands createrawvmdk -rawdisk /dev/disk0 -filename bootcamp.vmdk -partitions 4



5. 다시 한번 권한..

$ sudo chown 사용자이름 bootcamp.vmdk bootcamp-pt.vmdk

$ sudo chmod a+rw bootcamp.vmdk



6. VirtualBox 새로만들기

(1) 가상 하드디스크: 기존 하드디스크 사용하기 -> bootcamp.vmdk 지정

(2) 생성된 가상머신 설정 -> 저장소 -> IDE 컨트롤러 -> 종류:ICH6


7. 부팅 & VirtualBox 게스트에디션 설치

게스트에디션은 페러렐즈 툴 같이 원활한 가상머신을 위한 프로그램으로, 부팅 상태에서 메뉴에 잘 찾아보면 있다.

클릭하면 CD 로 마운트되고, 설치하면 된다.



재부팅 이 후에 BOOTCAMP 파티션이 자동으로 마운트되는데,

VirtualBox 사용전엔 꼭 언마운트 해줘야 한다.

또한 언마운트 후에 권한 조정도 해줘야 정상적인 사용이 가능하다..


즉, 재부팅할 때 마다

$ sudo umount /Volumes/BOOTCAMP/

$ sudo chmod 777 /dev/disk0s4


를 해줘야 한다..


재부팅시마다 자동으로 하는 방법이 있긴 하지만 일단 난 귀찮으니 패쓰~


그리고 부트캠프 파티션을 추출해버리면 시스템 환경설정 - 시동디스크에 BOOTCAMP 가 나타나지 않는다.

재부팅시 option 을 누르는 방식으로 진입해야 함..

'Mac, iOS' 카테고리의 다른 글

[Mac] .rsrc 추출  (0) 2013.12.15
homebrew 설치 / 다운그레이드  (0) 2013.11.19
Mac openVPN 서버 설치  (0) 2013.11.14
Mac 내장 웹서버 활성화 하기 (웹 공유)  (1) 2013.09.05
[AppStore, 순정] OpenVPN on iOS  (0) 2013.08.14

설정 conf, key 만들기 등은

http://blog.iolate.kr/121

이 글 참고.


사실 난 우분투에서 만들었던 키 들을 그대로 가져왔기 때문에 잘 모르겠지만

크게 다르진 않을거다.

easy-rsa 의 경우도 구글링 해볼 것.



일단 설치는 간단하다.

brew install openvpn


mac ports 로도 되는 것 같지만 brew 가 훨씬 편하니 난 저것만 쓰겠음.


설치하고 나면 daemon 관련 작업을 하라고 하는데

sudo cp -fv /usr/local/opt/openvpn/*.plist /Library/LaunchDaemons

이것만 하고 그 뒤에 launchctl load 부분은 일단 스킵.


설정 파일가 위치할 폴더는 /usr/local/etc/openvpn/ 이다.

(사실 어디에 있든 상관은 없다.)


위에 링크한, 우분투에 openVPN 설치 글을 참고하여 키와 설정파일 들을 만들자.


그러고 나서 아까 brew 설치 후 시키는 대로 복사한 파일을 수정하자.

루트 권한이니 그냥 터미널로 수정을 추천. 잘 모르겠으면 복사해서 수정 후 다시 집어넣어 주면 된다.


<array>

    <string>/usr/local/opt/openvpn/sbin/openvpn</string>

    <string>--config</string>

    <string>/usr/local/etc/openvpn/openvpn.conf</string>

  </array>

빨간색으로 표시한 부분을 자신의 설정파일에 맞게 바꿔주자.

나의 경우엔 server.conf


만약 디렉토리 자체를 다른 곳에서 시작한 경우 앞부분 경로를 맞게 수정해주고

밑에 WatchPaths 와 WorkingDirectory의 경로도 바꿔주면 된다.


그리고 저장.


데몬을 로드하기 전에 문제가 있나 확인하기 위해 직접 실행해 본다.

나의 경우 설정 파일 경로 부터 key 권한 문제까지 여러 문제가 많았거든..;;ㅋㅋ


자신의 설정파일이 위치한 폴더로 이동 후( cd /usr/local/etc/openvpn/ )

sudo /usr/local/opt/openvpn/sbin/openvpn --config /usr/local/etc/openvpn/openvpn.conf


위에서 설정한 환경에 따라 당연히 인자는 적절히 수정해 줄 것.

실행 후 

Initialization Sequence Completed

라는 메세지가 나오면 성공이다.


인터럽트 걸고 나온 후에

sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.openvpn.plist 

를 실행해 주자.



이 후 연결해보면 연결은 잘 될텐데 클라이언트에서 인터넷이 안된다.

우분투에서의 iptables 같은 작업이 필요한 것.


그건 이렇게 하면 된다.


sudo sysctl -w net.inet.ip.fw.enable=1

sudo sysctl -w net.inet.ip.forwarding=1

sudo natd -interface en0

sudo ipfw add divert natd ip from any to any via en0


얘도 재부팅마다 해줘야 하는데,


https://forums.openvpn.net/topic11401.html


여기 들어가보면 저 스크립트를 데몬화 해주는 방법이 있다.

예전엔 시스템 환경설정 - 공유 에 웹 공유가 있었는데,

Lion 부터인지 Mountain Lion 부터인지 없어졌다.


사용자 계정에 Sites 폴더는 그대로인데 말야..



활성화 방법은 간단,

sudo apachectl start


중지는

sudo apachectl stop 

이다.


활성화만 복잡해졌지 그 외 나머지는 이전과 같음.

활성화를 편하게해주는 앱도 있는 듯...?



================

2016.05.02


El capitan 이후 바뀐 설정으로 인해 데몬이 실행이 안된다.


com.apple.xpc.launchd[1]: (org.apache.httpd[23641]) Service exited with abnormal code: 1

콘솔을 보면 이렇게 뜨고,

$ sudo apachectl

이라고만 입력해보면 
AH00526: Syntax error on line 20 of /private/etc/apache2/extra/httpd-mpm.conf:
Invalid command 'LockFile', perhaps misspelled or defined by a module not included in the server configuration

이렇게 configtest 결과가 나온다.

/etc/apache2/extra 경로에서,


$ sudo mv httpd-mpm.conf httpd-mpm.conf~elcapitan

$ sudo mv httpd-mpm.conf~orig httpd-mpm.conf


요렇게 해주면 됨.


참고:

https://discussions.apple.com/thread/6602475?tstart=0

http://apple.stackexchange.com/questions/211015/el-capitan-apache-error-message-ah00526

PPTP, L2TP는 공유기 설정에 따라 사용이 불가능하거나 일부러 막아놓은 경우도 있다.


이런 저런 불편함이 있어서 OpenVPN 이란게 있는데,

자세한 내막은 모르겠지만 이 녀석을 기본 내장하는 기기는 하나도 없음.

클라이언트 설정 파일 자체가 워낙 복잡해서 그런것 같기도 하다.


여튼,

안드로이드, iOS 도 원래 OpenVPN 이 사용이 불가했다.

루팅 혹은 탈옥을 하고난 후면 사용이 됬지만.


그러다 안드로이드는 4.0 부터인가? OpenVPN 일부를 서드파티 앱의 형태로 사용가능하게 되었고

iOS 도 언제부터인지 모르겠지만 서드파티 vpn plugin 을 제공하기 시작한 것 같다.


여튼 지금 글 쓰려는건 iOS 용 OpenVPN.

(뭐 그래봤자 딱히 쓸 내용도 없고 간략한 소개 정도..)





올해(2013년) 1월달에 나왔으며 iOS 5.0 이상을 지원한다.




(443 포트로 OpenVPN 을 열면 왠만한 차단은 다 뚫을 수 있단걸 내게 가르쳐준) Private Tunnel 사의 서비스는 기본으로 지원하고,

그 외엔 클라이언트 파일을 서버로 부터 받거나,

iTunes 로 넣거나, 메일로 받으면 된다고 설명하고 있다.


web, 메일 등에서의 외부 파일 연결은 zip 등 압축은 지원하지 않고 .ovpn 만 지원한다.

iTunes 로 넣을 경우 키 파일등을 따로 넣어도 ovpn 파일 내용을 토대로 알아서 가져오는데,

web에서 가져오거나 메일로 받을때는 어떻게 되는지 모르겠다.


나 같으면 key 들을 모두 .ovpn 에 쑤셔넣었다.



Web 으로 .ovpn 설정 파일을 받을때 OpenVPN 으로 연결이 안나오고

그냥 내용물이 출력된다면 더보기 클릭!



아이튠즈로 넣든, 메일로 받든, OpenVPN 앱에서 설정 파일을 추가할건지 묻고 추가하면 이제 사용가능!





연결 잘~된다 ㅎㅎ

443 포트와 같이 원래 서드파티 앱에서 사용불가능한 포트들도 사용가능!!






앱에서 사용한 설정이 설정 앱의 VPN 메뉴에서도 볼 수 있는데,

안타깝게도 다른 설정이나 연결은 안되고 각종 설정은 앱에서 하라는 메세지가 나온다.(심지어 여기서 삭제도 안됨)

연결 중일때 해제는 가능하다.


아이튠즈에서 설정파일을 넣고, 추가하고 나면 앱의 샌드박스 내 어디에도 설정 파일을 찾아볼 수 없는 것으로 보아

VPN 설정 추가시 설정, 키들을 iOS 키체인으로 집어 넣는 듯 하다.





참고로 OpenVPN 앱 내 말고, 설정 앱 안에 OpenVPN 설정 메뉴가 생기면서 다른 설정들도 가능하다.




탈옥을 하지 않고 순정에서도 할 수 있는 작업이 점점 늘어나는건 확실히 기분좋은 일인 것 같다~

개발자용 기기는 탈옥에 맞먹는 자율성을 부여해주면 좋을텐데...ㅠㅠ

brew 를 설치하면서 macports 를 옮겼는데

예상치 못한 문제가 생겨났다..ㅠㅠ


레포지토리를 만들때 필요한 dpkg-scanpackages 가 제대로 작동이 안되는 것..

dpkg-scanpackages 는 perl 스크립트 인데 이 스크립트에서 필요한 Dpkg 모듈이 제대로 로드가 안되는 문제였다.


brew 로 설치된 dpkg 의 원본 디렉토리 하위에 보면 Dpkg.pm 파일이 있고 이 경로를

Perl 의 include 폴더에 포함시켜 주면서 일단은 해결.

여기까지도 상당한 시간이 걸렸는데, 

짜증나게 그다음 sha256sum 이 실행이 안되는 문제 발생.


macports 가 설치한 sha256sum 을 찾아보니(/opt/local/libexec/gnubin/)

자기 자신을 링크하는 파일일 뿐, 원본을 찾을 수 없었다...ㅠ



결국 일단 우분투에서 시도.

dpkg 만 설치해서는 안되고 dpkg-dev 패키지를 설치해야 한다.

설치 후 시도해보면 정상 작동!!


이것만 2시간 넘게 삽질한 것 같다..ㅠㅠ

Shift+Space 나 오른쪽 Alt 로 한영전환 하는 프로그램/방법은 많지만 Cmd+Space 로 하는 방법은 찾을수 없어

한참을 헤매다가 AutoHot Key 로 만들었음.


하는김에 복사, 붙여넣기 등의 기능들도 Command 키에 매핑해놓고 쓰는중.

윈도우7에서 아주 잘 작동한다~ㅋ


CommandKeys.exe


무설치 버젼.

사용시 트레이에 아이콘이 뜨며 따로 로그인시 시작기능은 안넣어 놨으니 시작프로그램에 넣어놓고 쓰면 된다.


매핑해논 기능들은

1. Cmd+Space -> 한영전환

2. Cmd+(w,z,x,c,v,n,t,f,a,s,o,h,p) -> Control+~~~

3. Cmd+q -> Alt + F4



그리고 이건 AutoHot Key Script 파일.



CommandKeys.ahk


파일 다운받기 싫으면 밑에 더보기...



+ Recent posts