리눅스의 실행프로세스의 환경변수는 /proc 파일시스템을 통해서 알 수 있다. 예를 들어 pid 1000번의 환경변수는 cat /proc/1000/environ 로 확인 할 수 있다. 하지만, 이 결과는 변수간 구분이 잘 확인이 안된다. 변수간 구분을 '\0'으로 분리시켜 놓았기 때문이다. 실제 프로세스 메모리에서도 '\0'으로 구분되어 있고 이를 그대로 화면에 출력하는 것이다. 다음을 보자. cat /proc/1000/environ | xargs -0 -n 1 echo xargs 는 표준 입력을 명령의 argument로 전달해 실행해주는 함수인데, 이때 기본값은 공백을 사용하여 표준입력을 분리한다. 하지만 위와 같이 '-0' (zero) 옵션을 주면 구분자를 '\0'으로 하라는 뜻이며, '-n 1' 을..
구글 번역기의 읽기 버튼을 조금 활용하여, 간단한 TTS를 해주는 스크립트 입니다. 구글 번역기는 번역된 글을 mp3로 만들어주는 훌륭한 기능을 제공하지요. 따라서, 리눅스에 mpg321 패키지가 제공하는 mpg123 유틸이나, Mac의 afplay를 이용하여 명령행으로 전달되는 문자열을 읽어주게 됩니다. ./play_tts.sh "안녕하세요? 쿨엔!"만약 영어로 하려면, TTSLANG=en ./play_tts.sh "How are you? Coolen?"이런식으로 사용하면 되지요. 이 기능은 소스 커밋하면 목소리로 알려주기 기능의 연장선상에서 진행되었습니다.
소스 컴파일이 되지 않는 바이너리 혹은 스크립트 수준의 패키지를 위한 rpm build utility 입니다. 만들어 쓰던것을 공유해보고자 http://code.google.com/p/rpmwand/위에 둥지를 하나 틀어, rpmwand 라는 이름으로 올렸습니다.사용방법은 간단합니다.초기화$ rpmwand init sample* Created skeleton directory: 'sample-skel'* Created file list: sample-files.txt Please edit sample-files.txt* Created spec input file: sample.spec.in Please edit sample.spec.in Fix TODO valuesrpmwand 는 크게 두가지 명령으로 ..
요즘 프로그램 배포시 코드 사인을 하는 문제에 대해서 공부하고 있습니다. "사용자 소프트웨어의 안전한 배포를 위한 Code Signing 기술 연구" 라는 좋은 글이 있군요. MS-Windows 용으로 알아보니, signtool.exe 라는 프로그램이 signcode.exe를 대치하여 만들어진것까지 확인하였습니다. Microsoft SDK 를 설치하니 하위 디렉토리에 존재하더군요. Linux에서도 윈도우용 프로그램에 대해 서명할 수 있는 툴이 아래와 같이 존재합니다. http://sourceforge.net/projects/osslsigncode/ 재밌는 세상입니다.
참고: http://www.google.com/search?q=proc_usb_info.txt&btnI= http://www.linux-usb.org/usb2.html http://www.usb.org/developers/docs/EH_MR_rev1.pdf http://www.os2warp.be/index2.php?name=usbreview/proc/bus/usb/devices 라는 파일은 현재 꽂혀있는 USB 관련 장치들을 보여주는 파일이다. (/proc 은 가상의 파일 시스템이고 bus 는 말단의 장비들을 꽂을 수 있는 도로와 같은 것이다)내가 가지고 있는 2002년 정도에 지급받은 PC에서 위 파일 내용을 살펴보면,$ cat /proc/bus/usb/devices T: Bus=02 Lev=00 Pr..
이른바 유틸리티라는 프로그램들이 있다. 이것들은 간단한 기능만을 하는 프로그램들을 말하는데, 전통적인 Unix에는 정말이지 잡다한 유틸리티들이 있다. 예를 들면, "y" 라는 프로그램은 단지 화면에 y를 한 줄에 하나씩만 출력할 따름이며, "true" 라는 프로그램은 항상 정상종료만하는 프로그램, "false"라는 프로그램은 항상 오류 종료만하는 프로그램이다. 이런 유틸리티는 처음 나올때부터 조금씩 진화에 진화를 거듭하게 되고, 때에 따라 개발자가 중도 포기하면, 다른 사람이 이어가거나 아니면 아예 명령어 구문만 같은 다른 프로그램을 만들기도 한다. 따라서, 다양한 버전의 같은 일을 하는 유틸리티가 존재하는데, 그 중 GNU에서 다시 만들어 배포하는 유틸리티들에 대한 얘기를 해보고자 한다. GNU에서 배..
- Total
- Today
- Yesterday
- url
- Linux
- MySQL
- 디버깅
- 구근
- OpenID
- Subversion
- 커피
- 수선화
- tattertools
- SVN
- nodejs
- 대화
- VIM
- Tattertools plugin
- BlogAPI
- TCP/IP
- 오픈소스
- 퀴즈
- writely
- 식물
- 벤자민
- SSO
- 클레로덴드럼
- JavaScript
- 킹벤자민
- macosx
- perl
- 덴드롱
- ssh
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |