2014-01-05

현재 등록된 update-rc.d 시작 프로그램의 리스트를 확인하기

명령어를 친다.

ls /etc/rc?.d

 

다음과 같이 나온다.

Screen Shot 2014 01 05 at 5 20 36

 

나는 시작프로그램은 jong-blahblah 와 같은 형식으로 만들었다.

 

grep 검색어로 지정해서 찾는다. 

ls /etc/rc?.d | grep jong-

 

Screen Shot 2014 01 05 at 5 21 00

 

ls /etc/rc0.d 로 확인해 보는 게 더 깔끔하겠다.

 

다음과 같이 나온다.

2013-12-23

compiling leapmotion.pd_linux on Ubuntu 12.04 (32 bit)

LeapMotion용 Pure Data Object는 Chikashi Miyama가 제작하였다. 맥과 리눅스를 지원한다. 맥용은 컴파일 된 파일이 있지만, 리눅스용으로 컴파일을 안 해놔서 직접 해야만 한다. 매우 번거롭긴 한데, 리눅서들은 뭐 그러려니 하고 만다. 자 험난한 길을 가보자.


 393268 leap motion controller


간략화된 순서는 다음과 같다.
1. Flext 설치. 이 것은 Pd 오브젝트를 만드는 것을 도와주는 프로그램이다.
2. LeapMotion SDK 설치. 이 것은 립모션 API가 들어있다. 제조사에서 공개해 준 것이라 믿을만 하다.
3. Pd_leapmotion 컴파일 하기. 위의 두 프로그램을 사용해 .pd_linux 파일을 만드는 것이다.


그렇게 쉽지는 않고 약간 복잡하다. 본격적으로 시작해 보자.


1. Pd_leapmotion 다운받기:
https://github.com/chikashimiyama/Pd_leapmotion

Pd_leapmotion을 다운받고 압축을 푼다. ~/Download 에다 받는다. https://github.com/chikashimiyama/Pd_leapmotion
해당 폴더는 여기에 있을 것이다. ~/Download/Pd_leapmotion-master


2. Flext 설치와 컴파일: 가서 설명을 보고 다운을 받는다:
http://grrrr.org/research/software/flext/

설치를 하자. 아마 svn이 없다고 나올 수도 있다 그러면 svn을 설치하자. sudo apt-get install subversion로 가능.
$ svn co https://svn.grrrr.org/ext/trunk/flext flext

컴파일러 확인. flext를 컴파일 하기 위해서 g++ 버젼을 확인하자. 3.3 이상이면 OK. 그 이하면 곤란하다.
$ g++ --version

다운받은 해당 디렉토리로 가서 컴파일 한다. 만일 에러가 나면 sudo로 해본다.
$ cd ~/Download/flext
$ bash build.sh pd gcc
$ bash build.sh pd gcc install

처음에 받은 Pd_leapmotion 폴더로 가서 익스터널을 컴파일 한다. 중요! flext와 Pd_leapmotion이 둘 다 ~/Download폴더에 있어야 한다.
$ cd ~/Download/Pd_leapmotion-master
$ bash ../flext/build.sh pd gcc
(생략) $ bash ../flext/build.sh pd gcc install
$ bash ../flext/build.sh pd gcc clean

다시 flext 폴더로 가서 설정을 한다.
$ cd ~/Download/flext
$ ./bootstrap.sh

bootstrap.sh가 안되면 Bootstrapping failed 메세지
$ sudo apt-get install libtool

도움말을 한번 본다. 상황에 따라 다르기 때문에 꼭 이것을 참고해야 한다.
$ ./configure --help

Pd source를 다운받고 압축을 푼다. ~/Download 폴더에 푼다. http://msp.ucsd.edu/software.html

소스 폴더를 잘 알아 놓는다. 내 경우엔 이렇다. /home/사용자/Downloads/pd-0.45-3/src

다시 flext 폴더로 가서 마무리 한다. 매뉴얼엔 sysdir이라고 나와 있는데, 도움말에는 sdkdir로 하라고 나와있다. 이거 틀리면 안된다. 겨우 알아냈다.
$ ./configure --enable-system=pd --with-sdkdir=/home/jong/Downloads/pd-0.45-3/src

flext 설치를 마무리 한다.
$ make $ sudo make install


3. LeapMotion SDK for Linux 설치. 가서 다운받고 압축을 푼다. ~/Download에 푼다:
https://developer.leapmotion.com/downloads

중요한 파일은 libLeap.so 이 파일이다. 경로는 ~/Downloads/LeapDeveloperKit/LeapSDK/lib/x86/ 혹은 /x64 에 있다. 자신의 OS에 맞는 것을 쓴다. Pd 유저라면 대부분 32비트 버젼일 것이다.


4. 설치를 도와줄 package.txt 파일 만들기. 중요한 파일인데 안 들어있다. 직접 만들어야 한다.
$ cd ~/Download/Pd_leapmotion-master
$ touch package.txt
$ nano package.txt

문서 편집기가 열리면 다음과 같이 적고 저장한다. INCPATH+와 LDFLAGS를 적어주어야 한다. 만약 안 되면 LDFLAGS를 빼고 해보자.
NAME=leapmotion
SRCDIR=.
SRCS=main.cpp Dispatcher.cpp
INCPATH+= -I/해당/경로/LeapDeveloperKit/LeapSDK/include
LDFLAGS='-L/해당/경로/LeapDeveloperKit/LeapSDK/lib/x86 -lLeap'



5. flext를 이용해서 Pd_leapmotion 컴파일 하기. 로그를 잘 보고 만약 에러가 나면 sudo로 다시 시도.
$ cd ~/Download/Pd_leapmotion
$ bash ../flext/build.sh pd gcc
$ (sudo) bash ../flext/build.sh pd gcc install    (여기서 에러가 났던 걸로 기억한다. 그러면 sudo를 쓰자.)

에러가 날 때 대처법: sudo로 실행해 본다. 나는 gcc install 할 때 에러가 났다. 그래서 sudo bash ../flext/build.sh pd gcc install 로 해결.
컴파일이 완료 되었다. 우리가 원하던 그 파일은 ~/Download/Pd_leapmotion-master/pd-linux/release-single 에 있다.
파일이름은 Pd_leapmotion.pd_linux 이다.


6. Pd에서 그냥 로드하면 에러가 난다. sudo와 LD_PRELOAD=를 안 붙이면, Pd로 오브젝트를 불러 올 때 다음과 같은 에러가 난다.
undefined symbol: _ZTIN4Leap9InterfaceE
leapmotion
... couldn't create


7. 실행할 때 Pd에 옵션을 붙여줘야 이 오브젝트를 제대로 로드할 수 있다. 아니면 에러가 난다. 실행 시 유의사항: sudo 로 해야한다. LD_PRELOAD=를 붙여준다. 이 것은 아까 언급한 SDK의 libLeap.so를 필요로 한다.

libLeap.so를 복사한다. 이름을 libLeap-x86.so로 바꾸었다. 64비트인지 32비트인지 정확히 알아야 한다.
$ cp ~/Download/LeapDeveloperKit/LeapSDK/lib/x86 ~/Download/Pd_leapmotion-master/pd-linux/release-single/libLeap-x86.so pd

다음과 같이 Pd를 실행하고, Pd_leapmotion-help.pd를 열어본다.
$ LD_PRELOAD=/home/jong/Downloads/leapmotion-linux-compile/Pd_leapmotion-master/pd-linux/release-single/libLeap-x86.so pd


끝이다. 지금까지 잘 따라 왔다면 다음과 같은 화면을 볼 것이다.



만들어진 Pd_leapmotion.pd_linux File link를 첨부한다. 잘 안되면 그냥 이것을 써도 무방함.
https://drive.google.com/folderview?id=0B42bn7ncw918RUVWWFFtZVZpVEE&usp=sharing

추가: master source의 main.cpp에 추가하면 Gyroscope처럼 쓸 수가 있다. (대박)
추가소스
//jong-pry
float pitch = hand.direction().pitch();
float yaw = hand.direction().yaw();
float roll = hand.palmNormal().roll();
//
t_atom handInfo[5];
//jong-pry
if (hands_gyro_flag) {
// gyro
SETFLOAT(&handInfo[0], i);
SETSYMBOL(&handInfo[1], gensym("gyro"));
SETFLOAT(&handInfo[2], pitch);
SETFLOAT(&handInfo[3], yaw);
SETFLOAT(&handInfo[4], roll);
ToOutAnything(1, gensym("hand"), 5, handInfo);
}
//
고쳐진 소스 첨부 (내가 고친거)
https://docs.google.com/file/d/0B42bn7ncw918X3VvLTB1dVR1YlU/edit

참고 Computing the Hand Orientation:
https://developer.leapmotion.com/documentation/Languages/C++/Guides/Leap_Tracking.html


참고 일반:
http://puredatajapan.info/?page_id=1514
http://musa.poperbu.net/index.php/tecnologia-seccions-30/-puredata-seccions-45/129-installing-leapmotion-puredata-external-on-linux
https://github.com/chikashimiyama/Pd_leapmotion/issues/1

2013-12-07

라즈베리파이를 프린터 서버(samba)로 만들기

라즈베리파이를 프린터 서버로 만들어 WiFi를 통해 선 연결 없이 프린터를 써보자! USB 프린터가 있어야 한다.

 

이 작업을 위해서는 root 계정이 필요하다. 계정은 있겠지만 비밀번호 설정을 해야 한다. 없다면 이번 기회에 하나 만들자.

sudo passwd root

비밀번호를 설정해 준다. 절대 잊어먹지 말아야 한다! 적어두거나 하자.

 

소스저장소를 업데이트 하고 필요한 프로그램을 설치한다. 필요한 프로그램은 cups 와 samba다. 나머지는 들러리다. samba가 있으면 안 깔아도 된다. (cups는 애플에서 만든 오픈소스 프린팅 지원 GUI다. 애플에서 기특하게 이런 것도 만들었다.)

sudo apt-get update

sudo apt-get install mc cups samba samba-common-bin

 

삼바에서 프린터 설정을 한다.

sudo nano /etc/samba/smb.conf

 

[printers] 항목을 다음과 같이 고친다.

[printers]
comment = All Printers
browseable = yes
path = /tmp
printable = yes
public = no
writable = no
create mode = 0700

 

삼바를 재시작한다.

sudo service samba restart

 

CUPS는 애플에서 만든 프린터 공유 프로토콜이다. 설정을 한다.

sudo nano /etc/cups/cupsd.conf

 

이것을 찾는다.

# Only listen for connections from the local machine

Listen localhost:631

 

“Listen localhost:631″을 코멘트처리하고 뒤에 Port 631을 붙여준다. 로컬이 아닌 네트워크로 사용하기 위함이다. 631포트를 사용해 원격으로 접속 가능하다.

# Only listen for connections from the local machine
# Listen localhost:631
Port 631

 

다음과 같이 Allow @local을 추가해 준다. 굵은 글씨를 추가하면 된다.

< Location / >
# Restrict access to the server...
Order allow,deny
Allow @local
< /Location >

< Location /admin >
# Restrict access to the admin pages...
Order allow,deny
Allow @local
< /Location >

< Location /admin/conf >
AuthType Default
Require user @SYSTEM

# Restrict access to the configuration files...
Order allow,deny
Allow @local
< /Location >

 

고쳐진 파일 스샷

Screen Shot 2013 12 07 at 12 35 29 AM

 

 

CUPS를 재시작한다.

sudo service cups restart

 

CUPS 세팅을 하자. 파이가 아닌 다른컴퓨터에서 원격으로 다음 주소로 접속한다.

http://[the Pi's IP or hostname]:631

내 경우엔  파이 IP가 192.168.0.3 이다. 그러므로 다음과 같다. 631은 아까 정해 놨던 포트 번호다.

http://192.168.0.3:631

 

다음과 같은 창이 뜰 것이다. 프린터 추가하기를 누른다.

Screen Shot 2013 12 07 at 12 40 05 AM

창이 뜨면 아이디에 root를 입력하고 처음에 설정한 루트 비번을 친다.

Screen Shot 2013 12 07 at 12 41 20 AM

다음으로 넘어가면 자동으로 프린터가 잡혀있고 Sharing 옵션만 설정해 주면 끝이다.

 

맥에서는 봉쥬르 쉐어로 잡힌다. 다른 컴에서는 삼바나 smb로 잡힐 것 같다. 프린팅을 해 보니 USB로 직접 뽑는 것 보다 처음에 3초 정도 딜레이가 있다. 뭐 그래도 선을 연결하는 것 보단 낫다.

Screen Shot 2013 12 07 at 12 44 16 AM

끝

 

참고:

http://mardou.dyndns.org/Privat/raspberry.nsf/id/JUND-95VRCY

http://www.debianadmin.com/setup-cups-common-unix-printing-system-server-and-client-in-debian.html

http://www.howtogeek.com/169679/how-to-add-a-printer-to-your-raspberry-pi-or-other-linux-computer/

2013-11-25

맥에서 비트코인 채굴하기

돈을 벌어 보자! 최근 화제가 되고 있는 비트코인이다.

1. 비트코인 지갑을 만든다.

https://multibit.org/

프로그램을 다운 받는다. 그러면 지갑이 생성될 것이다. 지갑 번호를 잘 간직한다. 이게 없어지면 돈도 날라간다.

2. 마이닝 길드에 가입한다.

https://www.btcguild.com/

현재 가장 성과가 좋은 Alydian 팀에 가입하였다.

지갑주소와 밑에 창에 0.01을 입력한다. 0.01은 최소 단위라고 한다. 팀원들에 대한 예의? 같은 거라고 본 것 같은데 나도 뭔지 잘 모르겠다.

3. 채굴프로그램 설치

http://www.asteroidapp.com/

GUIMiner가 있지만, 실험해 보니 안 돼서 아스테로이드로 해 보았더니 잘 되었다. 서버이름과 일꾼(worker)이름을 입력한다. 비밀번호는 아무거나 치면 된다.

일꾼 이름은 자신의 계정명에 뒤에 _1이 붙는다. 예를 들면 이렇다. accountname_1

서버이름은 길드에 들어가서 Support를 누르면 나온다. 나는 유럽서버다.

4. 채굴시작

돈을 벌어보자. 단점은 컴퓨터가 느려진다.

끝.

참고:

2013-11-20

Raspberry Pi as Remote Torrent Machine

라즈베리파이를 리모트 토렌트 머신으로 만들기

 

Screen Shot 2013 11 20 at 11 51 58 AM

 

토렌트를 자주 쓰는데, 불편했던 것은 컴퓨터를 항상 켜놔야 한다는 것이다. 라즈베리파이 서버가 있으니 토렌트 다운로드 머신으로 써 보자.

 

1. 라즈베리파이에 토렌트를 설치하자. 데몬과 클라이언트를 설치하자.

sudo apt-get install transmission transmission-daemon transmission-cli

 

2. 셋업 파일을 수정하기 전에 토렌트 데몬을 중지해야 한다. 중지 안하고 하면, 나중에 다시 롤백된다. 주의하자.

sudo service transmission-daemon stop

 

다시 서버를 시작하는 것은 stop을 start이나 restart로 바꾸면 된다.

sudo service transmission-daemon start

 

3. 설정파일을 수정한다. json 파일을 수정하게 된다. 제이슨 파일은 처음 보았는데 뭐 별거 없다.

sudo nano /var/lib/transmission-daemon/info/settings.json

 

다음의 파일을 필요에 맞게 수정한다.

"rpc-username": "사용자이름",

"rpc-password": "비밀번호",

"download-dir": "다운로드위치",

"incomplete-dir": "다운로드가 완료되지 않은 파일 임시 저장소",

"incomplete-dir-enabled": true,

 

나는 어느 컴퓨터에서도 다운로드를 원격으로 하기 위해 whitelist를 사용하지 않겠다. 사용한다면(true) 정해진 ip에서만 다운 명령을 내릴 수 있다.

"rpc-whitelist-enabled": false,

 

3.1. 블락리스트를 설정한다. 경찰에게 잡혀가지 않을 확률을 올려주는 중요한 작업이다. 아버지가 대통령이거나 벌금 낼 돈이 많다면 3번은 패스해도 좋다. 이렇게 수정한다.

"blocklist-enabled": true,

"blocklist-url": "http://www.bluetack.co.uk/config/level1.gz",

 

블락리스트를 info 폴더에 다운로드 한다. 루트권한이 필요하다. (왜 루트권한이 필요한 진 모르겠지만, 루트가 아니면 저 폴더에 못 들어간다.)

 

해당 폴더로 간다.(루트권한필요)

sudo su

cd /var/lib/transmission-daemon/info/blocklists/

 

파일을 다운받는다. 해당 파일이 폴더에 생길 것이다.

wget http://www.bluetack.co.uk/config/level1.gz

 

압축을 푼다.

gunzip level1.gz

 

트랜스미션을 재시작한다.

sudo service transmission-daemon reload

 

ls로 폴더를 보면 level1.bin 파일이 생성되었을 것이다.

 

3.2 블락리스트 업데이트를 매주 한번씩 해주는 자동 스크립트 만들기. 이것 역시 경찰에 잡혀갈 확률을 줄여준다.

폴더로 가서 파일을 만든다.

cd /var/lib/transmission-daemon/info/blocklists/

sudo nano update-transmission-blocklist

 

새 파일이 생기면 이렇게 적는다.

#!/bin/bash

# blocklist directory
BLOCKLISTDIR=/var/lib/transmission-daemon/info/blocklists

cd ${BLOCKLISTDIR}
if [ $? -eq 0 ]; then
if [ -f level1 ]; then
rm level1
fi
# if no blocklist file exist update blocklist
if [ ! -f level1 ]; then
echo "*** updating Blocklist for Transmission...”

wget -q -O level1.gz http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz

# if download successful unzip it
if [ -f level1.gz ]; then
gunzip level1.gz
# if file extracted successfully reload transmission
if [ $? -eq 0 ]; then
chmod go+r level1
/etc/init.d/transmission-daemon reload
else
rm -f level1*
fi
fi
fi
cd - 2>&1 >/dev/null
fi

 

완성된 파일 스크린샷

Screen Shot 2013 11 20 at 12 27 56 PM

 

저장하고 나온다.

 

파일을 실행 가능하게 만들어 준다.

chmod a+x update-transmission-blocklist

 

파일을 자동실행폴더로 넣어야 한다. cron.weekly에 넣으면 자동으로 실행이 된다고 한다. (아직 일주일이 안 지나서 모르겠지만 되겠지 뭐…)

mv update-transmission-blocklist /etc/cron.weekly/

 

자동으로 매주 한번씩 블락리스트를 업데이트 해준다. 경찰관을 만날 확률이 줄어들었다! 하지만 여전히 불안감은 있다. 뭐 어쩌겠나...

 

4. 다운로드위치 설정하기. 나는 외장 USB하드를 NAS로 연결해서 쓰고 있다. 해당 하드에다 폴더를 만들어 준다.

sudo mkdir /mnt/NAS-1T-EXT4/Torrent

 

완료되지 않은 폴더도 만들어준다.

sudo mkdir /mnt/NAS-1T-EXT4/Torrent/Incomplete

 

중요한 설정이 남았다. 나는 퍼미션 이슈가 발생했는데, 이 방법으로 이슈를 피할 수 있었다.

sudo chown -R debian-transmission /mnt/NAS-1T-EXT4/Torrent

 

트랜스미션을 재시작 한다.

sudo service transmission-daemon reload

sudo service transmission-daemon restart

 

퍼미션 세팅을 좀 해야한다. debian-transmission을 pi그룹으로 추가하자. 퍼미션 에러를 줄이기 위한 방법이다.

sudo usermod -a -G debian-transmission pi

 

그룹 오너쉽을 정해주자. 유저가 아니라 그룹이다.

sudo chgrp debian-transmission /mnt/NAS-1T-EXT4/Torrent/Incomplete

sudo chgrp debian-transmission /mnt/NAS-1T-EXT4/Torrent

 

권한을 모든 권한을 허용하자. 사용자와 그룹이 모두 접근할 수 있다. 단 비등록 사용자(게스트)는 불가능.

sudo chmod -R 770 /mnt/NAS-1T-EXT4/Torrent

sudo chmod -R 770 /mnt/NAS-1T-EXT4/Torrent/Incomplete

 

트랜스미션을 정지한다.

sudo service transmission-daemon stop

 

세팅을 고친다.

sudo nano /etc/transmission-daemon/settings.json

 

이렇게 고친다. 숫자를 바꾸면 된다. 18을 2로 바꾼다. 기본값이 18인데, 원격접속한 사용자가 실행과 삭제를 하질 못한다. 2로 바꾸자. 2는 775를 의미한다.

"umask": 18

이것을

 "umask": 2

으로 고친다.

 

그림으로 보자. 이걸 고치면 된다.

Screen Shot 2013 12 22 at 3 12 38 PM

 

컴퓨터를 재 부팅한 뒤 다시 재시작 해 보자. (작업내용을 꼭 저장한다. 재부팅 하면 다 날라간다)

sudo reboot

sudo service transmission-daemon reload

sudo service transmission-daemon restart

 

퍼미션 설정은 어떻게 했는지 잘 기억이 안 나는데, 아무튼 이정도로 했더니 되더라… 이유는 나도 잘 모르겠다 ㅠㅠ 퍼미션은 항상 어렵다.

 

 

5. 수정된 설정파일 종합

 

설정 파일 수정에 대한 모든 정보는 여기에 있다.

https://trac.transmissionbt.com/wiki/EditConfigFiles

 

완성된 내 설정파일이다. 볼드된 텍스트를 수정한 것이다.

pi@sulli /mnt/NAS-1T-EXT4/Torrent/Incomplete $ sudo cat /var/lib/transmission-daemon/info/settings.json
{
"alt-speed-down": 50,
"alt-speed-enabled": false,
"alt-speed-time-begin": 540,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": false,
"alt-speed-time-end": 1020,
"alt-speed-up": 50,
"bind-address-ipv4": "0.0.0.0",
"bind-address-ipv6": "::",
"blocklist-enabled": true,
"blocklist-url": "http://www.bluetack.co.uk/config/level1.gz",
"cache-size-mb": 4,
"dht-enabled": true,
"download-dir": "/mnt/NAS-1T-EXT4/Torrent",
"download-limit": 100,
"download-limit-enabled": 0,
"download-queue-enabled": true,
"download-queue-size": 5,
"encryption": 1,
"idle-seeding-limit": 30,
"idle-seeding-limit-enabled": false,
"incomplete-dir": "/mnt/NAS-1T-EXT4/Torrent/Incomplete",
"incomplete-dir-enabled": true,
"lpd-enabled": false,
"max-peers-global": 200,
"message-level": 2,
"peer-congestion-algorithm": "",
"peer-limit-global": 240,
"peer-limit-per-torrent": 60,
"peer-port": 51413,
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": false,
"peer-socket-tos": "default",
"pex-enabled": true,
"port-forwarding-enabled": false,
"preallocation": 1,
"prefetch-enabled": 1,
"queue-stalled-enabled": true,
"queue-stalled-minutes": 30,
"ratio-limit": 2,
"ratio-limit-enabled": false,
"rename-partial-files": true,
"rpc-authentication-required": true,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-password": "비밀번호가 암호화 되어 나타날 것이다",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "pi", 
"rpc-whitelist": "127.0.0.1",
"rpc-whitelist-enabled": false, 
"scrape-paused-torrents-enabled": true,
"script-torrent-done-enabled": false,
"script-torrent-done-filename": "",
"seed-queue-enabled": false,
"seed-queue-size": 10,
"speed-limit-down": 100,
"speed-limit-down-enabled": false,
"speed-limit-up": 100,
"speed-limit-up-enabled": false,
"start-added-torrents": true,
"trash-original-torrent-files": false,
"umask": 18,
"upload-limit": 100,
"upload-limit-enabled": 0,
"upload-slots-per-torrent": 14,
"utp-enabled": true
}



6. 다른 컴퓨터에서 원격으로 접속해 본다.

Transmission Remote GUI 같은 앱을 써도 되지만, 크롬이나 사파리에서 웹환경으로 접속하는 것이 편하다.

주소창에 앞서 설정한 주소를 적고, 포트번호를 적으면 된다.

http://192.168.0.3:9091/

혹은

192.168.0.3:9091

으로 접속할 수 있다.


Screen Shot 2013 11 20 at 12 37 14 PM


7. 모든 설정파일 삭제하기. 뭔가 잘못 되었다거나 다시 해보려면 다음과 같이 프로그램과 설정 파일을 지운다.

sudo apt-get remove --purge transmission transmission-daemon transmission-cli

 

끝

 

참고:

http://blog.spiralofhope.com/3148-transmission-on-the-raspberry-pi.html

http://cumulativeparadigms.wordpress.com/2012/08/13/tutorial-1-setting-up-rpi-as-a-torrent-server/

http://blog.shvetsov.com/2010/09/automatically-update-transmission-block.html

https://forum.transmissionbt.com/viewtopic.php?f=4&p=50358

 퍼미션이슈:

http://raspberrypi.stackexchange.com/questions/4378/transmission-permission-denied-on-usb-disk

https://forum.transmissionbt.com/viewtopic.php?f=2&t=10456

http://askubuntu.com/questions/221081/permission-denied-when-downloading-with-transmission-deamon

2013-11-08

vnstat 네트워크 사용량 체크하기

설치하기

sudo apt-get install vnstat

 

실행하면 다음과 같은 요약화면이 나온다.

vnstat

Screen Shot 2013 11 08 at 2 15 20 PM

 

옵션은 다음과 같다.

-q, --query query database
-h, --hours show hours
-d, --days show days
-m, --months show months
-w, --weeks show weeks
-t, --top10 show top10
-s, --short use short output
-u, --update update database
-i, --iface select interface (default: eth0)
-?, --help short help
-v, --version show version
-tr, --traffic calculate traffic
-ru, --rateunit swap configured rate unit
-l, --live show transfer rate in real time

 

실시간 확인하기 기본디바이스는 랜카드의 eth0을 잡는다.

vnstat -l

 

USB 테더링 사용량 확인

vnstat -i usb0

 

내가 쓰는 사용법 (usb0사용량, 단위변경, 실시간체크)

vnstat -i usb0 -ru -l

Screen Shot 2013 11 08 at 2 20 17 PM

 

끝

2013-11-03

Pd Tips: line~ in Milliseconds, not Samples!

Playing sound file in Pd, you may need [line~] object.

 

Sadly, it's always annoying me, that it needs different measurement units. (samp, msec) 

 

The two things that [line~] needs, are the playing range in Samples, and the duration in Milliseconds.

 

The Form is like that:

start-point in Samples, end-point in Samples, duration in Milliseconds

 

For example, start-point is 0 sample, end-point is 44100 sample, duration is 1 sec.

[0, 44100 1000(

 

It's difficult thing for me, when I play soundfile, always I have to calculate twice in Samples and Milliseconds.

 

So, I make it simple. 

 

All parameter in Milliseconds.(msec)

 

Screen Shot 2013 11 03 at 8 33 08 AM

 

[*~ X] is the key. X is the SR(samplerate) of sound file. 44.1kHz, 48kHz or 22.05kHz, what you want.

 

EOF