'개인메모(진짜재미없음)'에 해당되는 글 74건

  1. 2014.01.06 :: 인터넷 만들기 원고
  2. 2013.11.09 :: 그놈 터미널에서 작업 이력 기록 하기
  3. 2013.09.24 :: 유료 폰트를 김프(GIMP)에 쓰는 법
  4. 2013.08.05 :: 한국 인터넷 역사 (초고. v40)
  5. 2013.07.19 :: cron 에 넣은 스크립트가 제대로 동작을 안할 때 (파이썬의 예시)
  6. 2013.06.19 :: 손으로 그린 그림을 라인 아트로 활용하기
  7. 2013.06.13 :: 구글이 연속 촬영한 사진을 animated GIF 로 바꿔주더군요
  8. 2013.06.12 :: IQxel 매뉴얼
  9. 2013.06.12 :: FLEX(네트워크 라이선스) 서버로그에서 동시 사용자 수를 뽑기
  10. 2013.05.10 :: ANSI/VT-100 터미널 리셋하는 법
  11. 2013.05.09 :: 우분투에서 이클립스를 쓰는데 Quick Fix 툴팁이 보기 싫게 나온다
  12. 2013.05.08 :: Windows 8 에서 입력 언어를 프로그램마다 다르게 지정하기
  13. 2013.05.01 :: 공인인증서 그냥 복사하는 법 (Windows 7)
  14. 2013.04.09 :: vim 에서 성가신 백업 파일 안 생기게 하기
  15. 2013.03.21 :: 엑셀 파일을 UTF-8 인코딩의 CSV 파일로 만드는 법 (2)
  16. 2013.02.04 :: 삼성 갤럭시 스마트 폰에 내장되어 있는 휴대폰 분실 대비 기능
  17. 2013.02.01 :: Tableau 기능 정리
  18. 2013.02.01 :: 우분투에서 한글 안깨지고 패스워드 안 보이게 공유 폴더 마운트 하기
  19. 2013.01.30 :: 문제를 해결하는 법
  20. 2012.04.25 :: xps 파일을 pdf 파일로 왕창 변환하기
  21. 2012.01.31 :: vim 에서 HTML 태그 싹 지워버리기
  22. 2012.01.09 :: 우분투 11.10 에서 Unity 대신 옛날 Gnome 쓰기
  23. 2011.11.28 :: 우분투에서 특정 버전의 프로그램 설치하기
  24. 2011.11.25 :: 불여우 8.0에서 publishsync 강제로 설치하기
  25. 2011.10.13 :: CentOS 에서 방화벽 관리하기
  26. 2010.12.10 :: vim 에서 regular expression의 greedy/non greedy matching
  27. 2010.08.24 :: 안드로이드 폰에서 애드 혹 네트워크 설정하기 (2)
  28. 2010.08.23 :: 안드로이드 개발 환경에서 HTC Desire 인식 시키기
  29. 2010.06.08 :: Empathy에서 Network Error가 날 때
  30. 2010.06.04 :: 리눅스에서 UPnP/Bluetooth 가지고 음악 재생하기 기본 지식

오픈넷 시민학교 배포용 자료 입니다.

20140105_배포용.docx


저작자 표시
신고
posted by 신묘군

리눅스 계열 서버에서 작업을 하다보면 작업 이력을 캡처하고 싶어진다. 예전 같으면 별도의 터미널 에뮬레이터를 많이 썼고 거기에는 대개 캡처 로깅이 메뉴로 있었는데 요즘은 주로 그놈 터미널(gnome-terminal)을 쓰다보니 화면 캡처를 어떻게 하나 궁금했다. 그러다 오늘 대략으로 캡처를 해야 할 일이 생겨서 확인해보니 헉... "전체 선택" 해서 복사 & 붙여 넣기를 하면 스크롤 백 버퍼에 있는 전량이 복사가 된다. 물론 스크롤 백 버퍼의 크기는 줄 수로 지정할 수도 있고 무한대로 할 수도 있다. 별도의 캡처 로깅이 메뉴에 없어서 그런 기능이 없는 줄 알았는데... 있어서 다행이다.

저작자 표시
신고
posted by 신묘군

대부분의 (무료 배포) 폰트는 윈도의 폰트 디렉토리에 복사해 넣어주기만 하면 김프를 포함한 모든 프로그램에서 끌어다 쓸 수 있다. 하지만, (Y모사에서 제공하는) 유료 폰트의 경우 이렇게 파일로 복사할 수 있게 하면 아마 무단 복제를 막기 어렵다고 생각했는지 폰트 파일을 제공하는 것이 아니라 폰트 매니저를 실행하면 해당 폰트를 쓸 수 있도록 윈도에 등록해주는 구조로 되어 있다. 


문제는 김프는 이러한 방식을 제대로 처리하지 못하는 모양이다. 따라서, 다른 윈도 프로그램에서는 추가된 유료 폰트가 보이는데 김프에서는 보이지 않는다. 그런데 뒤져보니 폰트 파일이 별도의 데이터 디렉토리에 들어 있다. 따라서, 이 폰트 디렉토리를 김프가 읽어오도록 해주면 된다. 


김프의 메뉴에서 편집 --> 기본설정 --> 폴더 --> 글꼴 로 들어가서 해당 폴더를 추가해주면 김프에서도 해당 폰트가 보인다. (왜 유료로 폰트를 쓰면서 무료 보다 더 복잡하게 써야 하는지는 이해할 수 없지만...)


저작자 표시
신고
posted by 신묘군


v040.docx


저작자 표시
신고
posted by 신묘군

제일 먼저 알아야 할 것은 "cron 은 shell 과 실행 환경이 다르다"라는 것이다. 즉, shell 환경에서 실행할 때는 잘 되는데 cron에 넣어두면 안된다고 하면 그건 그 둘의 실행 환경이 다르기 때문일 가능성이 크다.

내가 당한 케이스는 파이썬 스크립트에서 print 문으로 한글 메시지를 찍은 경우다. 예를 들어, 

print msg

에서 msg  변수에 한글이 포함되어 있을 수 있다고 하자. 이를 터미널 환경에서 실행하면 대부분의 터미널 환경이 디폴트 인코딩으로 ko_KR.UTF-8 을 쓰고 있으므로 잘 나온다. 

하지만 cron에서는 shell 의 인코딩을 끌고 가는 것이 아니므로 인코딩 에러를 내고 실행이 중단될 수 있다. 이를 피하기 위해서는 파이썬의 기본 입출력 인코딩이 utf8 이라는 것을 명시적으로 지정해줘야 한다. 해당 cron job 을 스케줄링 하는 파일 (예를 들어, /etc/cron.d/anacron) 에서 

PYTHONIOENCODING=utf8 

이라고 맨 앞에 선언해주면 된다.


저작자 표시
신고
posted by 신묘군

파워포인트에 그림을 좀 넣고 싶은데 마우스로 그리기가 쉽지 않다. 그래서 종이에 일단 볼펜으로 그린 다음 사진으로 찍어서 컴퓨터로 옮긴 다음 라인 아트 형식으로 변환하였다. 사용한 도구는 공짜 그래픽 도구인 김프(GIMP).

1. 그림을 흑백으로 변환

하얀 종이에 까만 볼펜으로 그렸지만 일단 사진을 찍으면 어정쩡한 그레이스케일 그림이 된다. 이걸 하얀색과 까만색 딱 두 색만 있는 그림으로 바꾸고 싶다면 이렇게 하면 된다.

메뉴에서 이미지 --> 모드 --> 인덱스 선택하면 창이 뜨는데 여기에서 흑백(1비트)팔레트 사용을 선택해주면 된다.

2. 흑백 그림의 흰색을 투명으로 변환

그림 뒤의 배경과 자연스럽게 어울리려면 흰색 부분은 투명인 것이 좋다. 투명으로 바꾸려면 도구 상자의 맨 윗줄 아이콘 중 요술봉(퍼지 선택 영역 도구)을 선택하고 그림에서 흰색 부분을 클릭한 뒤 DEL 키를 눌러주면 선택된 흰색 영역이 투명으로 바뀐다.

아래는 그렇게 해서 만든 라인아트 샘플을 파워포인트에 넣은 샘플 ^^



신고
posted by 신묘군

구글에 사진 올리면 저절로 animated GIF 가 생긴다더니 정말이었군요. 지난 일요일 경마장에서 연사모드로 찍은 사진을 올려뒀더니 지(G? Google? ㅋㅋ)가 알아서 이렇게 변환을 해놨네요.


신고
posted by 신묘군
2013.06.12 18:13

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.

네트워크 라이선스 서버 로그에서 동시 사용자 수 뽑아내려면 다음과 같은 방식으로 할 수 있다. 이유는 모르겠지만 하나 체크 인/아웃 할 때 로그가 두개씩 생겨서 절반으로 나눠주었다. (로그 뽑는 옵션의 문제인가...)

$ grep -e "IN:\|OUT:" ACAD2010.log | awk -F ' ' 'BEGIN {i = 0} {if ($3 == "OUT:") { ++i } else { --i }; print int(i/2)}'


신고
posted by 신묘군

가끔 터미널 화면에서 (예를 들어,  ssh 접속한 화면에서) 이진 파일을 화면에 표시한다거나 하면서 터미널 상태가 변경되고 글자가 이상하게 나오거나 역상으로 표시되거나 하는 경우가 있다. 이럴 때, 터미널을 디폴트 상태로 복구하려면 이스케이프 키를 보내고 소문자 c 를 보내면 된다. 하지만 그냥 타이핑해서는 되질 않고 이런 식으로 하면 된다.

echo -e \\033c

참고로 그냥 화면만 깨끗하게 지우고 싶으면 CTRL-L 키를 누르면 된다.

신고
posted by 신묘군

이클립스 개발환경에서 Quick Fix 에 나오는 색깔은 윈도 환경의 경우에는 Display settings > Appearance > Advanced: ToolTip 에서 바꿀 수 있다고 하는데 (안해봐서 모름) 우분투는 이렇게 해서는 안되고 gnome-color-chooser 를 사용해야 한다.

gnome-color-chooser 를 실행하고 (없으면 설치해서 실행하고) Specific 탭의 Tooltip 창에서 색을 지정해주면 된다.

신고
posted by 신묘군

예를 들어, 한국어 입력기와 영문 입력기를 번갈아 사용하는 경우 이전 버전까지는 각 응용 프로그램마다 언어 지정이 독립적으로 되는 것이 디폴트였다. 예를 들어, 엑셀과 워드를 동시에 열어놓고 엑셀에서는 영어로 워드에서는 일본어로 타이핑하고 있었다면 두 창을 오갈때마다 그 언어로 계속 입력할 수 있다.

하지만, Windows 8 부터는 시스템 전체가 하나의 언어를 쓰는 것이 디폴트다. 따라서 위의 시나리오에서라면 창을 바꿀 때 마다 언어 변경하는 키를 눌러야 한다. 엄청 성가시다. 이전 버전과 같이 만들어버리려면 제어판에서 해당 기능을 켜 주어야 한다. 다름 그림 처럼 말이다.


신고
posted by 신묘군

공인인증서를 복사하려면 은행 사이트를 접속해서 복사하기 기능을 이용해서 복사해야 한다고 알고 있는 사람들이 많지만 그냥 파일을 복사하면 된다. 물론, 파일의 위치를 알아야 한다. 공인인증서 관련 파일이 있는 곳은 두군데.

C:\Program Files\NPKI

%UserProfile%\AppData\LocalLow\NPKI

이 두 곳을 통째로 복사하면 끝. 휴대폰으로 복사할 때도 마찬가지다. 더 궁금한 점은 "인증서를 복사하는 정직한 방법"이라고 검색해보기 바란다.

신고
posted by 신묘군

vim 을 이용하면 친절하게도 파일이름에 ~ 를 붙여서 자동으로 백업 파일을 만들어준다. 하지만 이 기능이 필요 없는 경우에 (예를 들어, git/svn 같은 버전 관리 시스템을 쓰고 있거나 본인이 알아서 잘 백업한다면) 이 기능이 없는 것이 나을 수 있다. 그럴 때 하는 방법은 두 가지. 둘 다 vim 의 설정 파일인 vimrc 파일을 수정한다. 참... vimrc 파일이 어딨는지 모른다면 이렇게 하면 된다. 일단, vim 을 띄운다음 다음과 같이 하면 해당 파일을 열 수 있다.

:e $HOME/_vimrc

이렇게 해서 vimrc 를 연다면 다음 둘 중 맘에 드는 방식을 하면 된다.

1. 아예 안 생기게 하기

set nobackup
set noswapfile

2. 현재 디렉토리가 아니라 임시 디렉토리에 생기게 하기

set dir=c:\\temp
set backupdir=c:\\temp


신고
posted by 신묘군

엑셀에는 불행히도 CSV 로 저장하면서 UTF-8 인코딩으로 저장하는 기능은 없다. (TXT 파일로는 가능했던가... 그래도 TXT 로 저장하면 필드 구분이 CSV 가 아니라 TSV 로 저장되는 문제도 있고...)

그럼 어떻게 해야 되나?

간단하다. 구글 독스에서 스프레드시트 하나를 만들고 엑셀에서 내용을 복사해서 구글 독스에서 붙여넣기 하고 CSV 로 다운로드 받으면 끝.

신고
posted by 신묘군

휴대폰을 분실했을 때 현재 어디에 있는지 알아내거나 내부의 정보를 싹 지우거나 큰 소리로 벨을 울리게 하거나 하는 기능을 해주는 앱은 여러가지가 있습니다. 물론 이런 앱을 써도 되지만 삼성 갤럭시 스마트폰의 경우에는 삼성 다이브라는 기능이 내장되어 있어 이를 이용해도 됩니다. 우선, 이 기능을 쓰기 위해서는 삼성 계정이 있어야 합니다. (뭐... 돈 드는 것 아니니까...)

휴대폰 쪽에서 해당 기능을 켜주는 절차는 다음과 같습니다.

1. 바탕화면에서 메뉴 버튼을 눌러서 환경 설정 화면으로 들어갑니다.

2. 환경 설정 기능 중 보안  기능을 선택합니다.

3. 보안 기능 중 내 디바이스 찾기 >> 원격 제어를 선택합니다. 그러면 삼성 계정을 입력하라고 나오는데 여기서 삼성 계정을 입력하고 약관에 동의를 해주면 해당 기능이 활성화 됩니다.

그럼 이번에는 휴대폰을 추적하는 과정을 살펴봅시다. 웹 브라우저에서 www.samsungdive.com 으로 접속을 하고 아까 사용했던 삼성 계정으로 로그인하면 자신의 휴대폰이 모두 나타납니다.

여기서 자기가 추적하고 싶은 폰을 선택해주면 다음과 같은 화면이 나오는데 여기서 위치 추적, 폰 잠그기, 소리 울리게 하기, 통화 기록 조회, 폰 안의 모든 정보 싹 지우기 등을 할 수 있습니다.

신고
posted by 신묘군
2013.02.01 11:40

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.

이미 오래전 포스트에서 삼바(samba) 마운트 하는 법은 설명했지만 이번에 Linux Mint Nadia를 새로 깔아서 테스트 하는 과정에서 좀 더 뽀대나게 마운트 하는 방법을 보게 되어 정리해둔다. 이 방법는 남의 사이트에서 배운 것이다.

우선 삼바 파일 시스템을 지원하는데 필요한 패키지를 설치하고 마운트 할 빈 디렉토리를 만든다.

$ sudo apt-get install smbfs
$ sudo mkdir /마운트/할/빈/디렉토리

오래전 포스트에서 명령어로 그냥 마운트 하는 것은 설명했으니 오늘은 fstab 에 넣어서 마운트하는 법을 정리한다. 안전을 위해서 원본을 복사해둔다.

$ sudo cp /etc/fstab /etc/fstab.old

그리고 마운트 할 때 사용할 사용자 이름과 패스워드를 저장해둘 파일을 만든다.

$ sudo vi /root/.smbcredentials

그리고 그 파일에 다음과 같은 방식으로 이름과 패스워드를 넣어준다.

username=사용자 이름
password=패스워드

그리고 이 파일을 남이 보거나 수정할 수 없도록 접근 권한을 설정해준다.

$ sudo chmod 700 /root/.smbcredentials

이제 진짜로 fstab을 수정해서 마운트를 어떻게 할 것인지 지정을 해줘야 한다. 우선 fstab 파일을 열고

$ sudo vi /etc/fstab

이렇게 한 줄을 넣어준다.

//공유/폴더의/경로 [탭] /마운트/할/빈/디렉토리 [탭] cifs [탭] credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0

물론 [탭] 이라고 쓴 자리에는 탭 문자를 넣어야 된다. 그리고 진짜로 마운트를 해본다. 
$ sudo mount -a
또는
$ sudo mount /마운트/할/빈/디렉토리

신고
posted by 신묘군

문제를 해결하는 기본 요령

1. 문제를 정의한다

예) 성적이 나빠서 속상하다

2. 문제를 푼다는 것은 무엇인가?

문제를 해결한다는 것은 현재의 상태와 원하는 상태를 일치시키는 것입니다. 그러므로 현재의 상태와 원하는 상태를 정의합니다.

  • 현재의 상태: 속상하다 (성적이 나빠서는 원인일 뿐 문제 그 자체는 아님에 유의할 것)
  • 원하는 상태: 기분이 좋다

3. 해결책을 접근하는 두 방향

두 상태의 차이를 해소하는데는 근본적으로 두 방향이 있습니다. 주의: 흔히 개선 전략이 유일한 전략이라거나 바람직한 전략이라고 생각하는데 전혀 아닙니다. 많은 경우 무마 전략이 훨씬 더 바람직하고 유효합니다.

  • 현재의 상태를 원하는 상태로 바꾸는 것 (개선 전략) ===> 성적을 올린다
  • 원하는 상태를 현재의 상태로 바꾸는 것 (무마 전략) ===> 행복은 성적 순이 아니다 라고 설득한다

4. 전략의 기본 평가

두 접근 방법에 대하여 다음과 같은 기본 평가를 한다.

  • 해결책은 얼마나 쉬울 것인가? ===> 성적을 올리기가 쉬운가 기대 수준을 낮추기가 쉬운가
  • 해결책을 실현하는데 시간은 얼마나 걸릴 것인가? ===> 성적을 올리는 데 걸리는 시간과 마음을 다스리는데 걸리는 시간 비교
  • 해결책을 실현하는데 돈은 얼마나 들 것인가?

5. 전략의 선택

위의 기본 평가와 아래의 장단점을 고려하여 전략을 선택한다.

5-1. 개선 전략

장점

  • 해결하고나면 그 문제에 관한 한 이전 상태보다 더 좋은 상태가 된다. (더 큰 관점에서도 더 좋다는 보장은 없다. 예를 들어, 간단한 문제를 해결하기 위하여 큰 돈을 쓰는 경우)
  • 개선 방법을 도출하는 과정에서 관련 지식과 능력이 향상되는 기회가 있다.

단점

  • 개선 방법을 알기가 어렵다면 해결에 시간이 많이 걸린다. 심지어는 해결되는 시점에는 요구 사항이 이미 사라져 버린 경우도 있다.
  • 대개는 돈이 많이 든다.

5-2. 무마 전략

장점

  • 바로 해결이 된다. 따라서, 책임성/반응성이 좋다는 평가를 받을 수 있다.
  • 많은 경우에 말 몇 마디로 메일 한 통으로 해결되어 돈과 시간을 절약할 수 있다.

단점

  • 머지 않아 같은 문제가 다른 사람에 의하여 (심지어는 같은 사람에 의하여도) 제기 될 수 있다.
  • 본인이 맡은 업무에 직접 필요한 스킬은 점점 멀어진다.

문제 해결 결과 보고 요령

문제를 해결하고 난 뒤 보고에는 다음의 내용을 반드시 포함하여야 한다.

  • 왜 문제가 발생하였는가? (원인 분석)
  • 어떻게 해결하였는가? (해결책 설명)
  • 해결되었다는 것을 확인하였는가? (유효성 검증)
  • 여러 해결책 중 왜 이 방법을 선택했는가? (해결책 분석 결과)

신고
posted by 신묘군

윈도에서 화면에 보이는 내용을 그대로 PDF 파일로 만들 때는 여러 좋은 툴이 있다. 그런데... 무료 툴 중에서 기업에서 쓸 수 있으면서 윈도 7 64 비트를 지원하는 것은 아직은 없는 듯 하다. 그래서 하는 수 없이 포스트스크립트 파일로 프린트하여 (하는 방법은 여기) GhostScript + GhostView 를 이용하여 변환하거나 또는 XPS 파일로 프린트 하여 GhostPDL 툴의 일종인 GhostXPS (명령어는 gxps)로 변환하는 것이다. 아래는 현재 디렉토리의 모든 XPS 파일을 PDF 파일로 변환하는 예시이다.

** for i in *xps; do gxps  -sDEVICE=pdfwrite -dNOPAUSE -sOutputFile=${i%.*}.pdf $i; done


신고
posted by 신묘군
HTML 소스에서 태그는 싹 지우고 텍스트만 남기고 싶을 때는 이렇게 하면 된다. 먼저 쉬운 것.
:1,$s/<[^>]*>//g
왼쪽 각괄호에서 오른쪽 곽괄호가 아닌 글자를 쭉 매칭하다가 오른쪽 곽괄호가 나오면 매칭을 끝내고 이걸 NULL로 바꿔치기 하는 거다. 이 방법의 단점은 태그가 여러 줄에 걸쳐 있으면 안된다. 그런 경우까지 되는 좀 어려운 것.
:1,$s/<\_.\{-1,}>//g
\_ 는 new line을 포함한 임의의 글자라는 의미. \{-1,}는 at least one 매칭을 하는데 단 non greedy match를 하라는거다. 

신고
posted by 신묘군
Unity 에 도저히 적응이 안되는 사람을 위하여 누군가 친절하게 설명을 해 놓았다.

http://askubuntu.com/questions/58172/how-to-revert-to-gnome-classic
신고
posted by 신묘군
특별한 이유가 없으면 소프트웨어 업데이트는 항상 최신 버전을 깔아준다. 살다보면 최신 버전 말고 구 버전이 필요한 경우가 있다. 내 경우에는 firefox 8.0 에서는 오픈 뱅킹이 되지 않아 7.0 을 깔아야 했다. 그런 경우에는 다음과 같이 하면 된다.

$ sudo apt-get purge firefox
$ sudo apt-get install firefox=7.*

신고
posted by 신묘군
무슨 이유인지 원리까지는 모르겠는데 최신 버전의 publish sync (페이스북에서 글을 쓰면 구글+와 트위터에 동시에 게시되게 하는 기능. 물론 구글+나 트위터에서 쓰면 다른 두 곳에 올라가는 것도 당연히 된다.) 를 불여우 8.0에 설치하면 안된다고 튕긴다. 이런 경우에는 억지로 8.0에 설치될 수 있도록 설치 정보를 조작해주면 된다. 그 절차는 다음과 같다.

1. publish sync를 다운로드 받는다. (보통은 그냥 클릭하면 웹 브라우저에 바로 설치가 되는데 그렇게 하지 말고 마우스 오른쪽 버튼을 클릭하여 파일을 다운로드 받는다.)

2. 다운로드 받은 파일은 **.xpi 인데 이는 실은 zip 파일이다. 확장자를 zip 으로 변경하고 압축 푸는 프로그램으로 풀어준다.

3. 그럼 맨 위의 디렉토리에 install.rdf 라는 파일이 있다. 여기에

<em:maxVersion>???</em:maxVersion>

라고 되어 있는 부분을 찾아서 ??? 부분을 8.0 으로 강제로 바꾸어준다.

4. 전체를 다시 zip 으로 묶고 확장자를 xpi 로 바꾼다.

5. 불여우의 확장기능 화면으로 들어가서 파일로부터 설치 기능으로 xpi 파일을 설치하면 끝.
신고
posted by 신묘군
오랜만에 손수 리눅스 서버를 관리하려니 생소하다. 예전에는 서버 방화벽을 설정하기 위해서는 iptables 명령을 직접 썼는데 이제는 뭐 그럴 필요가 없다.

$ sudo system-config-firewall-tui

이렇게 해주면 멋진 텍스트 사용자 인터페이스를 통해서 관리할 수 있다. 그럼에도 불구하고 iptables 명령을 직접 쓰는 것도 여전히 가능하며 (별로 추천하고 싶지 않다 ㅠㅠ) /etc/systconfig/iptables 파일을 수정하는 방법을 쓸 수도 있다.
신고
posted by 신묘군
* (0 or more) greedy matching
\+ (1 or more) greedy matching
\{-} (0 or more) non-greedy matching
\{-n,} (at least n) non-greedy matching
신고
posted by 신묘군
1. 폰의 루트 권한을 획득한다. (이건 폰 마다 다 다름)

2. 필요한 소프트웨어를 설치한다. 추가로 설치할 소프트웨어는 무선 랜을 설정하는 iwconfig 이며 android-wifi-tether 패키지에 포함된 것을 빼내서 설치하면 된다. (딴 데서도 구할 수 있을 것이다.)

android-wifi-tether 패키지를 다운로드하면 wireless_tether_????.apk 라는 파일로 되어 있는데 apk 파일은 사실 zip 파일이므로 확장자를 zip 으로 바꿔주고 압축을 풀면 raw 디렉토리 아래에 iwconfig 라는 파일이 있을 것이다.

iwconfig 파일을 폰에 넣어야 하는데 이때는 adb 명령을 사용한다. (여기서는 늘 root로 되어 있는 상태를 기준으로한다. 루팅 하는 방법에 따라 조금씩 다른 방법을 사용해야 한다.)
adb push \path\to\iwconfig /data
adb shell
chmod 700 /data/iwconfig
이렇게 하면 /data/iwconfig 파일을 이용해서 무선 랜을 설정할 수 있다.

3. 폰에서 제공하는 기능을 이용하여 무선 랜을 끈다.

4. 네트워크 드라이버 커널 모듈을 다시 로딩하고 네트워크 설정을 해줌으로써 애드 혹 모드로 무선 랜을 다시 설정한다.
adb shell
insmod /system/lib/modules/bcm4329.ko
/data/iwconfig eth0 mode ad-hoc
/data/iwconfig eth0 essid 애드혹_네트워크의_SSID
ifconfig eth0 사용할_IP_주소
사용할_IP_주소 는 아무거나 해도 되지만 외부로 라우팅 되는 것을 막으려면 사설 주소 영역(예, 192.168.xx.yy 등)을 쓰는게 바람직하다.

5. 애드 혹 모드에서 빠져나와 원래 상태로 복구하기 위해서는 다음과 같이 네트워크 드라이버 커널 모듈을 내린다음
adb shell
rmmod bcm4329
시스템 설정에서 WiFi를 켜주면 된다.

(주의: 위의 내용은 넥서스 원과 HTC 디자이어에 CyanogenMod 롬 (CM6 RC2) 을 올린 상태에서 작업한 것입니다. 참고로 HTC 의 stock 롬이나 Modaco 롬 (R8) 에서는 애드 혹 통신이 되지 않았습니다. 넥서스 원의 stock 롬과 Modaco 롬은 아직 테스트 하지 못하였습니다.)
신고
posted by 신묘군
그 동안 쭉 넥서스 원만 갖고 놀다가 HTC 디자이어를 추가로 갖고 놀려니 개발환경(Eclipse, ADB 등)에서 디자이어를 인식을 못한다. 이럴 때 해결책은, 안드로이드 SDK 가 깔려 있는 디렉토리에서 android-sdk-windows/usb_driver/android_winusb.inf 파일을 찾아서 [Google.NTx86] 부분에 다음의 내용을 추가 한다.
;HTC Desire
%SingleAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C87
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C87&MI_01
그런 다음, 디자이어를 컴퓨터에 연결하고 장치 관리자를 들어간 뒤 ADB 장치를 선택하고 드라이버 새로 고침을 선택한 후 방금 수정한 inf 파일이 있는 디렉토리를 지정해주면 된다.

이 글을 작성하기 위해서 이곳저곳의 글을 참조하였다.
신고
posted by 신묘군
아마 MSN을 지원하는 telepathy-butterfly 에 문제가 있는 모양. 일단 Empathy를 종료하고

killall telepathy-butterfly

를 해준뒤 다시 empathy를 시작하면 된다. 어떤 사람의 블로그를 참조하였음.
신고
posted by 신묘군
1. 블루투스

블루투스를 다루려면 bluez 를 이용하면 된다. Bluez를 이용하는 법에 대한 기본 정보는 An Introduction to Bluetooth Programming 참조. 샘플 프로그램은 여기에 있다.

리눅스 커맨드 라인에서 어떤 식으로 블루투스를 다룰 수 있는지에 대하여는 Manually Using Bluetooth 참조.

2. UPnP

UPnP를 다루기 위한 기본 라이브러리는 libupnp 이다. guPnP는 UPnP를 객체지향 스타일로 다룰 수 있게 해주는 프레임워크이다.

UPnP를 다룰 수 있는 기본 도구로서 우분투 리눅스에 설치할 수 있는 것으로는 upnp-tools 라는 패키지가 있으나 AV Control Point 는 무슨 이유에서인지 최근 버전에서 빠져있고 소스를 받아서 build를 해도 필요한 헤더 파일이 없어서 빌드가 되지 않음. (우분투의 버그 리포팅 사이트에 버그로 등재되어 있으니 해결 시한은 알려진 바 없음.)

UPnP를 지원하는 프레임워크로서 Coherence가 있다. 예를 들어, 음악 재생 프로그램인 Rhythmbox의 경우 Coherence Plug-in을 설치하고 enable 시켜주면 원격지의 UPnP 미디어 서버의 음악을 찾아 재생할 수 있다.

UPnP를 지원하는 여러 소프트웨어 패키지, 프로젝트에 대한 소개는 별도의 사이트에 있는데 이 사이트의 샘플 소스인 play-next-pause는 상당히 코드가 짧아서 이해하기 좋다. UPnP-inspector 라는 코드가 제일 좋은 소스인 듯.

추가된 이야기 : 안드로이드 환경에서는 CyberLinkForJava를 사용할 수 있다. 그 외 AndroMoteTwonkyServer mobile 가 있으나 소스가 공개되어있는지는 확인하지 못하였다.

3. Audio control

리눅스에서 오디오를 다루는 제일 좋은 라이브러리는 GStreamer 이며 Python binding이 있어서 간단히 다룰 수 있다. GStreamer는 souce / sink 라는 개념이 잘 정리되어 있다. 다음의 예는 mp3 파일을 재생하는 것을 필요한 source / sink 를 연결해서 하는 방법을 보여준다.

gst-launch-0.10 filesrc location=파일이름.mp3 ! mad ! audioconvert ! alsasink

리눅스에서 오디오 입/출력을 다루는 가장 잘 정리된 도구는 PulseAudio이며 특히 PulseAudio Volume Control 과 PulseAudio Device Chooser는 필수 도구.
신고
posted by 신묘군