'분류 전체보기'에 해당되는 글 254건

  1. 2017.01.05 Ubuntu 12.04 64bits에서 로지텍 K811을 블루투스 동글에 연결하여 사용 2
  2. 2017.01.04 SVN 커밋 로그 검사
  3. 2017.01.02 Android 서비스에서 동적 BroadcastReceiver 사용하기
  4. 2016.12.06 2013년 여름 태국 카오락
  5. 2016.05.27 Ubuntu에서 Nexus 5 Factory 이미지 올리기 및 루팅(Rooting)
  6. 2016.04.18 New Zealand. Proven Here. 산악자전거
  7. 2016.03.10 안드로이드에서 실행가능한 명령어 컴파일 후 실행 시 PIE 에러 대응
  8. 2016.03.10 루팅된 android에서 /system rw 리마운트
  9. 2015.11.03 VMware의 Guest로 CentOS 6 부팅 시 kernel panic 발생 해결
  10. 2015.10.30 Ubuntu 12.04 64bits 하드디스크 상태 체크
  11. 2015.10.23 Android Studio 1.5에서 Gradle 에러 발생
  12. 2015.08.04 진주 평거동 풍하횟집 물회
  13. 2015.07.01 Ubuntu 12.04 x64 Kensington Slimblade Trackball 버튼 재설정
  14. 2015.06.04 왜? 라는 질문을 남발하지 마라.
  15. 2015.05.30 아파트 분양권 매매 절차 정리 1
  16. 2015.05.25 함부로 인연을 맺지 마라.
  17. 2014.12.09 vi 내부명령어
  18. 2014.11.01 진주 평거동 맛집 풍하횟집 3
  19. 2014.10.30 Ubuntu 12.04 64bits에 PostgreSQL 9.3을 apt-get으로 설치하는 방법
  20. 2014.10.13 YARA 3.1.0 Ubuntu 12.04 x86_64 설치
  21. 2014.06.22 남해 볼락 낚시
  22. 2014.06.01 Jason Mraz - I Won't Give Up (Lyric Video)
  23. 2014.04.15 Oracle Linux 6.3 설치 후 eth0 설정
  24. 2014.03.13 Ubuntu 12.04에서 ADT의 AVD 생성 시 No system images installed for this target 표시 해결방법
  25. 2014.03.13 Ubuntu 12.04 lightdm 손님 세션 제거
  26. 2014.03.12 Ubuntu 12.04에서 이클립스 사용 시 Content Assist의 단축키 Ctrl+Space 동작하지 않을 때
  27. 2014.03.10 Ubuntu 12.04 64bits에서 저장소(repository) 변경
  28. 2014.03.10 Ubuntu 12.04 64bits에서 adb 실행 시 에러 대처
  29. 2014.03.08 Ubuntu 12.04 64bits환경에서 ASUS P8H77-V의 Atheros AR8161 Ethernet controller 설치
  30. 2014.03.06 Nexus 5 remount /system

로지텍 K811을 급 직구를 하여 사용하게 되었다.


텐키레스 키보드를 사용하여 일하는 환경을 만들고 싶었으나 기계식 키보드를 사용한다고만 마음 먹고 사지를 않았었다.


맥북프로에 연결할 목적이었으나 사용하다 보니 갤럭시 7엣지에도 연결하게 되고,

우분투를 사용하는 데스크탑에도 연결하게 되었다.


맥북프로 레티나 및 부트캠프까지 연결할 목적이다보니 K810보다는 K811을 선택하였다.

윈도우에서는 맥(MAC)의 커맨드 키가 윈도우키로 매칭이 되다보니 K810의 배치보다는 K811이 맥과 윈도우에 동시사용에 적합하다고 생각되었다.

이미 맥북프로의 키로 부트캠프 사용에 익숙해져서 인지도 모르겠다.


다만 단점으로는 Setpoint 프로그램(Logitech Options)이 맥용 밖에 제공되지 않는다.

그리고 Setpoint에서의 펑션키 설정은 K811의 전원 스위치를 껏다 키면 설정이 날아가 버린다.


K811이 3대까지 멀티 페어링이 되기 때문에 맥북프로에 맥과 부트캠프 연결은 하나의 페어링으로 무리없이 연결되었다.

갤럭시 S7 엣지도 하나의 페어링으로 연결하여 사용하였다.

페어링이 하나 남아서 usb 키보드를 사용하고 있는 우분투에도 연결하려고 하니 데스크탑에는 블루투스 모듈이 없다.


그래서 급 블루투스 동글을 구입하였다.

K811 및 K810은 csr 블루투스 칩을 사용한 동글은 연결이 되지 않는다는 정보를 입수하여 브로드컴 칩을 사용하는 BU-4096을 구입하였다.

fusionfnc 제품으로 골랐는데, inote도 같은 브랜드이고, 이번에 도착한 것을 보니 vpluse 이름으로 왔다.

모두 동일제품이었다.


 블루투스 동글 도착 후 데스크탑에 연결하니 장치 인식은 아무런 설정없이 인식되었다.


$ lsusb

......

Bus 002 Device 007: ID 0a5c:21e8 Broadcom Corp.


그렇다면 이제 블루투스 동글과 K811을 페어링해야 되는데 어떻게 해야하나?

잠깐 검색 결과 우분투 "시스템 설정"의 "블루투스"에서 연결을 시도하였다.


먼저 블루투스 서비스가 실행되고 있는지 확인 결과 실행이 되고 있었다.

$ service bluetooth status

bluetooth start/running, process 1194


"프로그램" -> "시스템 도구" -> "시스템 설정" -> "블루투스"에서 왼쪽 하단 "+" 버튼을 누르면 페어링을 위한 창이 뜬다.

"계속"을 눌러 다음 창에서 장치를 검색하는데, K811이 검색되면 K811을 선택 후 "다음"을 누른다.

이후 화면에서 출력된 6자리 핀코드를 K811에서 입력 후 엔터를 누르라는데 왠걸 장치 인식은 성공하였으나 연결은 계속 실패한다.


추가 검색결과 아래의 블로그에서 설명하는 대로 따라한 결과 페어링을 성공하였다.

http://logon.tistory.com/217

http://blog.chschmid.com/?p=1537


절차를 정리하면 다음과 같다.


1. 다음 명령어로 블루투스 동글이 연결되었는지 확인 및 연결한다.

    아마도 아래 명령어를 실행하지 않아도 블루투스 동글을 usb에 연결하면 자동으로 인식할 것이다.

$ hciconfig 

hci0: Type: BR/EDR  Bus: USB

BD Address: XX:XX:XX:XX:XX:XX  ACL MTU: 1021:8  SCO MTU: 64:1

UP RUNNING PSCAN 

RX bytes:227223 acl:11202 sco:0 events:2363 errors:0

TX bytes:16647 acl:192 sco:0 commands:2140 errors:0


$ sudo hciconfig hci0 up

$ hcitool dev

Devices:

hci0 XX:XX:XX:XX:XX:XX


2. 터미널에서 다음 패키지를 설치한다.

    링크에서는 blueman을 같이 설치하라고 하는데, 기본 블루투스 관리자와 중복이 되므로 설치할 필요가 없다.

    그리고 빠른 실행 창(?)에 블루투스 관리자가 2개이므로 두 개의 블루투스 아이콘이 보이게 된다.

$ sudo apt-get install bluez-hcidump bluez-utils

3. 블루투스 동글을 usb 포트에 연결한다.

4. "프로그램" -> "시스템 도구" -> "시스템 설정" -> "블루투스"를 실행한다.

5. K811의 페어링 대기모드 설정을 한다. 펑션키의 F1, F2, F3에서 설정하고자 하는 키를 눌러 연결을 시도하도록 한다.

6. 터미널에서 다음 명령을 실행하여 K811의 MAC 주소를 찾는다.

$ hcitool scan

Scanning ...

             XX:XX:XX:XX:XX:XX      Logitech K811

7. MAC 주소인 XX:XX:XX:XX:XX:XX를 복사한다.

8. 터미널에서 다음 명령을 실행하여 K811을 연결한다.

$ sudo bluez-simple-agent hci0 XX:XX:XX:XX:XX:XX

출력되는 화면에서 6자리 핀코드가 보일 것이다. 이 핀코드를 K811에서 입력 후에 엔터를 입력하면 연결이 성공적으로 되었다고 표시가 될 것이다.

9. 4번에서 실행한 "블루투스"에서 K811이 검색된 후 K811을 선택하고 "다음"을 누른 후 출력되는  6자리 핀을 입력하지 말고,

    8번에서 실행한 결과에서 나오는 6자리 핀코드를 누른다.


    만약 링크에서 참고한 blueman을 설치하여 사용한다면

     "프로그램" -> "시스템 도구" -> "기본 설정" -> "블루투스 관리자"를 사용하여 아래 절차대로 설정한다.

    9-1. K811을 선택하고 오른쪽 마우스 키를 누른 후 표시되는 팝업에서 "Trust"를 누른다.

    9-2. 다시 "블루투스 관리자"에서 K811을 선택하고 오른쪽 마우스 키를 누른 후 표시되는 팝업에서 "Setup"을 누른 후

            "Bluetooth Assistant" 창에서 연결대상의 "입력 서비스"를 선택 후 "앞으로" 버튼을 누른다.


연결이 한 번에 안된다면, 몇 번 시도하면 연결이 되더라.


왜 핀코드가 우분투의 "프로그램" -> "시스템 도구" -> "시스템 설정" -> "블루투스" 연결 화면에 보여지는 것과

bluez-simple-agent 및 hcidump 명령어를 사용하여 출력한 것과 다른 것인지 의문이다.

이로써 총 4대의 장치를 연결하게 되었다.

키보드 사이즈가 작다보니 업무용 책상의 환경이 보다 넓어져서 만족한다.


1. 기본 펑션키를 사용하도록 맥에서 Logitech Options에서 설정을 해놓았을 때 키보드 전원을 껏다 키면 설정이 날아가 버린다.

    그러므로 키보드 전원을 끄지 않도록 한다. 전원을 끄지 않더라도 배터리는 상당히 오래간다.

    K810은 리눅스와 윈도우에서 설정을 하도록 간단한 프로그램과 스크립트가 있던데, K811은 찾지 못했다.

    시간날 때 도전!

2. 키보드 배터리를 절약하기 위해 백라이트를 끄고 싶다면 빛조절 센서부(F13 위쪽인듯) 부분을 어둡게 하여 백라이트가 동작하도록 한다음 빛줄임키(F6)로 꺼버린다.

    회사에서만 사용하다보니 주변이 어두울 때가 없더라~

3. Mac OS에서 한글 입력모드일 때 Alt 키를 누른상태에서 키보드를 치면 영어입력이 가능하다. 반대는 안됨. Alt+Shift를 같이 누른상태에서는 대문자 입력도 가능.

4. 충전 중 사용가능.

Posted by dcmru
,

유지보수 관리를 위해 SVN의 커밋 로그 포맷을 정하여 사용 중이었다.

모두 잘지켜주었으면 좋겠지만 개발에 열정을 모두 쏟아 부은 결과(?) 커밋 로그를 대충 써버리는 사태에 당도하였다.

물론 약속을 잘지키면 이런 수고를 덜할 수 있겠으나 그러하지 못하였다.

그래서 대책을 강구하던 중에 hook 기능이 있다는 것을 알았다.


svn 저장소를 생성하게 되면 저장소의 디렉토리 구조는 다음과 같다.

$ ls

README.txt  conf  dav  db  format  hooks  locks


hooks에 들어가게 되면 상황에 맞는 템플릿 파일들이 있다.

$ cd hooks

$ ls

post-commit  post-commit.tmpl  post-lock.tmpl  post-revprop-change.tmpl  post-unlock.tmpl  pre-commit.tmpl  pre-lock.tmpl  pre-revprop-change.tmpl

pre-unlock.tmpl  start-commit.tmpl


커밋을 하고자 할 때 로그를 검사해야하므로 pre-commit.tmpl을 사용하도록 하겠다.


$ cp -rp pre-commit-tmpl pre-commit

$ vi pre-commit

#!/bin/sh


REPOS="$1"

TXN="$2"


# Make sure that the log message contains some text.

SVNLOOKOK=1

SVNLOOK=/usr/bin/svnlook

$SVNLOOK log -t "$TXN" "$REPOS" | \

grep "[a-zA-Z0-9]" > /dev/null || SVNLOOKOK=0

if [ $SVNLOOKOK = 0 ]; then

    echo "Empty log messages are not allowed. Please provide a proper log message." >&2

    exit 1

fi


# Comments should have more than 7 "[" characters.

LOGMSG=$($SVNLOOK log -t "$TXN" "$REPOS" | grep "\[" | wc -l)

if [ "$LOGMSG" -lt 7 ]; then

    echo -e "Please provide a meaningful comment when committing changes." 1>&2

    exit 1

fi


# Comments should have more than 7 "]" characters.

LOGMSG=$($SVNLOOK log -t "$TXN" "$REPOS" | grep "\]" | wc -l)

if [ "$LOGMSG" -lt 7 ]; then

    echo -e "Please provide a meaningful comment when committing changes." 1>&2

    exit 1

fi


# All checks passed, so allow the commit.

exit 0


저장하고 나온 후 실행퍼미션을 부여해준다.

$ chmod +x pre-commit


부연 설명을 하자면 첫번 째 검사는 로그메세지를 포함하는지 검사하는 것이고,

두 번째와 세 번째 검사는 "[", "]"를 포함하는 라인의 개수가 7개보다 작으면 커밋을 실패하도록 한 것이다.

한글 단어를 포함하는지 검사 하고자 하였으나 인코딩이 기본 UTF-8이 아니기 때문에 에러가 발생한다.

svn 버전 1.8부터 conf에서 파일의 환경설정을 하도록 하는 기능이 있다고 하나 사용중인 버전이 낮기 때문에 이정도에서 적용하였다.


쉘이외에도 파이썬, php 등 여러가지 언어를 지원하므로 상황에 맞게 사용하면 된다.

'형상관리 > VCS' 카테고리의 다른 글

Git 사용중 Not a git repository 에러  (0) 2017.01.09
Posted by dcmru
,

개발한 앱 중에 잘동작되던 BroadcastReceiver가 다른사람이 소스를 수정 후 1회만 작동하고 동작이 되지 않는 현상이 나타났다.

사용한 형태는 Service에서 registerReceiver()와 unregisterReceiver()를 사용한 동적 리시버 형태이다.

 

원인을 파악한 결과 다음과 같았다.

 

다른 소스에서 해당 서비스를 적당한 인자를 넣은 intent를 포함시켜 startService()로 호출하여

onStartCommand()에서 전달된 intent의 구분자에 따라 registerReceiver() 및 unregisterReceiver()를 하도록한 형태로

서비스내에서 지속적으로 리시버가 동작하지 않고, onStartCommand를 통해 1회만 동작하고 정지되어 버렸다.

 

또한 dumpsys를 통해 해당 앱의 서비스에 등록된 리시버를 분석한 결과 등록한 리시버가 적당한 때에 해제되지 않아 메모리 누수로 이어지는 것을 확인하였다.

 

연구결과 동적 리시버는 서비스(Service) 또는 액티비티(Activity)의 생명주기(Lifecycle)를 같이 하도록 사용하는 것이 좋다는 결론이다.

즉, onCreate()에서 해당 리시버의 registerReceiver()를 호출하여 등록을 하고,

onDestroy()에서 unregisterReceiver()를 호출하여 리시버를 등록해제 하는 것이다.

 

다만 서비스가 강제 종료되면 동적 리시버가 동작하지 않게 되므로 적당한 서비스 감시 또는 재시작 루틴이 필요할 것이다.

아니면 정적 리시버 사용을 고려해야 한다.

Posted by dcmru
,

EBS 세계테마기행 달력이벤트

http://ebstheme.blog.me/220874078934

 

카오락 JW 메리어트 리조트 내

 

리조트 앞 해변

 

EBS 세계테마기행 2017 달력 당첨!!! 엽서로도 활용할 수 있는 200부 한정 레어템입니다~

 

'취미 > 여행' 카테고리의 다른 글

카오락  (0) 2013.08.03
Posted by dcmru
,

우분투 12.04 64bits에서 Nexus 5의 Factory 이미지를 안드로이드 버전별로 변경하고 루팅(Rooting) 할 경우가 있어 정리를 한다.

안드로이드 SDK 환경설정이 되어있고, 안드로이드 개발환경을 이해하고 있는 상태라는 가정하에 글을 작성한다.

그리고 Nexus 5는 부트로드가 언락(Unlock)된 상태이어야 한다.



1. 이미지 변경



1) link 에서 Nexus 5에 올리고 싶은 이미지를 다운로드 한다.

나의 경우 6.0.1에서 5.1.1로 다운그레이드 하기 위해 5.1.1 (LMY48M) 이미지를 다운로드 받았다.

정상적으로 다운로드 되었는지 각 이미지별 MD5 및 SHA-1의 Checksum 값과 비교해본다.

Checksum 값이 같으면 이상이 없는 것으로 압축을 해제하고, 터미널에서 풀린 디렉터리로 이동한다.


$ tar xvfz hammerhead-lmy48m-factory-bf3c82fd.tgz


$ cd hammerhead-lmy48m



2) Nexus 5 부트로드 모드로 진입한다.

Nexus 5의 경우 부트로드 모드로 진입하는 방법은 전원을 끈 후 "볼륨 업" + "볼룸 다운" + "전원 버튼"을 동시에 눌르면 되지만

adb 명령어를 사용하면 간편하게 명령으로 부트로드 모드로 재부팅할 수 있다.

adb 명령 및 루팅에도 사용하기 위해 "개발자 옵션"에서 "USB 디버깅"을 On하고,

"USB 디버깅에 대한 엑세스 권한" 요청 다이얼로그가 뜨면 "확인"을 누른다.

다시 USB 디버깅에 대한 허용을 다시 묻지 않기 위해서는 "이 컴퓨터에서 항상 허용"에 체크를 한다.


$ adb devices

List of devices attached 

[장치명] device


$ adb reboot-bootloader



3) 부트로더에 진입을 한 후 아래 스크립트를 실행하여 이미지를 Nexus 5에 쓴다.

flash-all.sh 스크립트 내부에서는 fastboot 명령어를 사용하는데 이 때 root 권한이 필요하다.

그러므로 sudo를 사용하거나 su를 사용하여 root 권한을 얻은 후 사용한다.


$ sudo ./flash-all.sh



4) 실행이 완료된 후 Nexus 5가 정상적으로 부팅되면, 원하는 버전의 이미지로 쓰기가 완료된 것이다.



2. 루팅(Rooting)

루팅은 커스텀 리커버리(CWM or TWRP)와 SuperSU가 필요하다.

나의 경우 CWM 6.0.4.5를 사용하였으며 오피시얼 사이트가 접속이 되지 않아 다운받아둔 이미지를 사용했다.

SuperSU는 link에 가서 STABLE 버전인 SuperSU v2.65를 다운로드 한다.



1) 부트로드가 언락된 상태에서 위(1.->2)에 설명한 대로 Nexus 5 부트로드로 진입한다.



2) CWM 커스텀 리커버리를 fastboot 명령어를 사용하여 Nexus 5에 쓴다.


$ sudo fastboot flash recovery recovery-clockwork-touch-6.0.4.5-hammerhead.img



3) CWM 커스텀 리커버리 쓰기를 완료한 후 부트로드에서 복구모드(Recovery mode)로 부팅을 한다.



4) 다운로드 받았던 UPDATE-SuperSU-v2.65-20151226141550.zip를 adb 명령어를 사용하여 Nexus 5의 /sdcard로 복사한다.


$ adb push UPDATE-SuperSU-v2.65-20151226141550.zip /sdcard/UPDATE-SuperSU-v2.65-20151226141550.zip



5) install zip -> choose zip from /sdcard -> 0/ -> UPDATE-SuperSU-v2.65-20151226141550.zip을 선택하여 설치한다.



6) 설치가 완료 되면 +++++Go Back+++++을 눌러 최상위 메뉴로 이동하여 reboot system now을 눌러 Nexus 5를 재부팅한다.



7) SuperSU 앱이 설치되어 있는 것을 확인하거나 adb shell을 실행하여 su 되는지 확인해본다.



8) 필요한 경우 Play Store에서 BusyBox를 설치하여 사용한다.


PS. Android 6.0.1 (Build M4B30Z) Root for Nexus 5: https://gist.github.com/deloz/6a9663ca7052fc4acf9c 

Posted by dcmru
,

 

 

뉴질랜드에서 자전거 타는 영상 1080p로 봐보시길...

재생버튼을 누른 후 화면 하단 오른쪽에 화질을 조정할 수 있습니다.

 

출처: http://www.pinkbike.com/video/441925

Posted by dcmru
,

안드로이드에서 실행가능한 명령어를 컴파일하여 실행 시 다음과 같은 에러가 발생한다.

error: only position independent executables (PIE) are supported.


다음 옵션을 gcc에 붙여준 후 컴파일 한다.

CFLAGS="-fPIE"
CPPLAGS="$CPPFLAGS -fPIE"
CXXLAGS="$CXXFLAGS -fPIE"
LDFLAGS="-fPIE -pie"

Posted by dcmru
,

다음 명령어로 안드로이드 쉘에 접속한다.

$ adb shell


접속된 안드로이드 쉘에서 다음 명령을 실행하면 /system을 rw로 마운트 할 수 있다.

$ su -

# /system/bin/mount -o remount,rw /system

 

다시 read only로 바꾸려면 다음과 같은 명령어를 실행한다.

# /system/bin/mount -o remount,ro /system

Posted by dcmru
,

VMware workstation 9를 사용 중에 Guest OS로 CentOS 6.3 x86을 사용 중이었다.

 

재부팅을 하자 부팅 중에 아래와 같은 에러가 발생하면서 부팅이 되지 않는다.

 

Kernel panic - not syncing

 

원인을 찾아본 결과 RAMDISK 관련하여 /boot/initramfs-2.6.32-279.el6.i686.img 파일이 깨진듯했다.

중간의 커널 버전은 자신의 커널버전에 따라 다르다.

 

해결방법은 아래 참고의 VMware의 기술사이트의 내용을 따라하면 해결할 수 있다.

내용을 설명하자면 CentOS 시디 이미지로 복구모드로 부팅하여 initramfs.img 파일을 새로 생성하는 것이다.

나의 경우 i686 이미지이지만 x86_64 시디 이미지로 부팅하여 i686 이미지를 생성할 수 있었다.

즉 내용 중에 `uname -r` 부분을 자신의 커널버전과 CPU 타입을 직접 적어주면 된다.

 

참고

http://forum.blackmagicdesign.com/viewtopic.php?f=12&t=9703

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2086520

Posted by dcmru
,

우분투 12.04 64bits를 사용하면서 설치된 하드디스크의 상태를 체크할 수 있는 방법을 찾아 보았다.


쉘에서 아래 패키지를 설치한다.

$ sudo apt-get install smartmontools smart-notifier gsmartcontrol ssmtp


smartmontools는 커맨드 라인에서 하드디스크의 SMART 정보를 볼 수 있는 명령어이다.

smart-notifier는 메일을 통해 하드디스크 상태를 알려주는 기능을 한다.

gsmartcontrol는 GUI 툴이다.

ssmtp는 외부 메일로 릴레이는 해주는 패키지이다. 데스크탑에서 사용하기 때문에 외부 메일을 통해 메일을 보낸다.


/etc/default/smartmontools 파일을 열어 다음 내용에 해당하는 라인의 주석을 제거한다.
start_smartd=yes


/etc/smartd.conf 파일을 열어 다음 내용에 해당하는 라인을 아래 내용과 같이 수정한다. "-M test"는 테스트를 위한 옵션이다.

DEVICESCAN -d removable -n standby -m foo@var.com -M test -M exec /usr/share/smartmontools/smartd-runner


/etc/ssmtp/ssmtp.conf 파일을 열어 다음과 같이 내용을 수정한다.

AuthUser=foo@var.com               <= 받을 메일 주소
AuthPass=Your-Mail-Password        <= 메일 주소의 비밀번호
FromLineOverride=YES
mailhub=mail.var.com:587           <= 메일 서버 주소 및 포트, 기본 포트일 경우 ":587" 삭제
UseSTARTTLS=YES


/usr/sbin/sendmail 명령어를 ls -al로 링크를 확인하여 링크가 ssmtp로 되어 있지 않으면 /usr/sbin/sendmail는 백업을 하고 다음 명령을 실행하여 링크를 걸어준다.

$ sudo ln -s /usr/local/ssmtp/sbin/ssmtp /usr/sbin/sendmail


다음 명령을 실행하여 smartmontools를 재시작 한다.

$ /etc/init.d/smartmontools restart


foo@var.com으로 하드디스크의 체크 테스트 메일이 왔는지 확인한다.

메일이 정상적으로 왔으면 /etc/smartd.conf 파일을 열어 아래와 같이 테스트를 위한 내용인 "-M test"를 제거한다.

DEVICESCAN -d removable -n standby -m foo@var.com -M exec /usr/share/smartmontools/smartd-runner


다음 명령을 실행하여 smartmontools를 재시작 한다.

$ /etc/init.d/smartmontools restart


smartmontools 툴을 이용하여 하드디스크의 여러가지 에러정보와 상태를 알 수 있으며, gsmartcontrol 툴은 GUI를 제공해준다.


참고

http://my-debian-linux.blogspot.kr/2013/11/smartmontools-smart-notifier.html

https://www.maketecheasier.com/monitor-hard-disk-health-linux/

https://www.howtoforge.com/tutorial/monitor-harddisk-with-smartmon-on-ubuntu/

http://www.cyberciti.biz/tips/linux-use-gmail-as-a-smarthost.html

Posted by dcmru
,

Android Studio 1.5에서 안드로이드 프로젝트 오픈 시 아래 에러가 발생하였다.


Unable to load class org.gradle.api.publication.maven.internal.DefaultMavenFactory


Caused by: java.lang.NoClassDefFoundError: org/gradle/api/publication/maven/internal/DefaultMavenFactory


Android Studio 1.5는 Gradle 2.4를 기본으로 사용하고, Gradle 2.4는 android-maven-gradle-plugin를 1.3 버전을 사용해야 한다.


root build.gradle 파일을 열어서  아래 내용으로 classpath 선언해 준다.


buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
    }
}


참고: https://github.com/dcendents/android-maven-gradle-plugin

Posted by dcmru
,

고향을 갔다가 여름이라 평거동에 숨겨진 맛집이라 생각되는 풍하횟집에 물회를 먹으러 갔다.

 

여름엔 시원한 물회가 제격이다. 가격은 한 그릇에 만원~

 

 

밑반찬도 깔끔하니 잘나온다.

 

 

 

사리를 넣고 비벼서 한 그릇 뚝딱했다.

 

쫄깃한 식감의 회와 살얼음에 가슴까지 시원하다~ 세콤달콤!

 

 

워낙 면을 좋아해서 뭐 말이 필요없다~ 밥말아 드셔도 되요~

 

한 번 가보시길 추천~

'취미 > 맛집' 카테고리의 다른 글

대전 전민동 곰아빠  (0) 2019.06.08
진주 평거동 맛집 풍하횟집  (3) 2014.11.01
Posted by dcmru
,

우분투에 켄싱턴 슬림블레이드를 물려 사용중인데 공식적인 리눅스용 유틸을 제공하지 않아 마우스 버튼을 리맵할 수 없어 그냥 사용 중이었다.


고민 끝에 방법이 없는지 찾아 보니 버튼을 xinput 명령어로 재설정하여 사용할 수 있었다.


아래 사이트를 참고하여 각 버튼의 ID를 참고한다.

http://wiki.mbirth.de/know-how/software/linux/remapping-mouse-buttons.html


아래 사이트를 참고하여 xinput 명령어를 사용하여 버튼에 대한 ID를 재설정한다.

http://askubuntu.com/questions/492744/how-do-i-automatically-remap-buttons-on-my-mouse-at-startup


나의 경우 켄싱턴 슬림블레이드의 4개의 버튼을 다음과 같이 설정하였다.

왼손으로 사용할 경우 왼쪽 클릭, 오른쪽 클릭의 위치를 바꿀 수도 있다.


상단 왼쪽 버튼: 앞으로

상단 오른쪽 버튼: 뒤로

하단 왼쪽 버튼: 왼쪽 클릭

하단 오른쪽 버튼: 오른쪽 클릭


아래 명령어로 입력 장치의 모델 명과 ID를 찾는다.

$ xinput list


그리고 다음 명령어로 장치의 ID로 장치에 대한 버튼 map을 알아본다. 아래 그림에서 보면 Kensington에 id=9로 되어 있는 것을 볼 수 있다.

$ xinput get-button-map 9

또는

$ xinput get-button-map "Kensington Kensington Slimblade Trackball"


버튼 map을 확인하였으면 다시 버튼에 대한 map을 설정한다.

$ xinput set-button-map 9 1 9  3 4 5 6 7 8 2 10 11 12

또는

$ xinput set-button-map "Kensington Kensington Slimblade Trackball" 1 9  3 4 5 6 7 8 2 10 11 12


트랙볼의 상단 버튼이 "앞으로", "뒤로" 로 설정이 되었다.

자주 사용하는 프로그램이 이클립스와 파이어폭스인데 "앞으로", "뒤로" 버튼을 사용할 수 있게 되니 프로그램의 사용도가 상당히 쾌적해지고 빠르게 접근 가능해졌다.





PC를 재부팅하면 다시 원래의 상태로 돌아오기 때문에 시작 시 xinput 명령어가 자동으로 실행이 되도록 로그인한 사용자의 홈 디렉터리의 ".xsessionrc" 파일에 다음과 같이 설정한다.

파일이 없다면 파일을 생성하고 아래의 내용을 추가해준다.


kensington_mouse_id=$(xinput | grep "Kensington Kensington Slimblade Trackball" | awk '{print substr($7,4,2)}')
xinput set-button-map $kensington_mouse_id 1 9 3 4 5 6 7 8 2 10 11 12


Posted by dcmru
,

어디서 본 글이다.

 

왜? 라는 질문을 너무 자신에게 남발하면 인생이 피곤함을 넘어 괴로워진다는 것이다.

 

타인의 행동에 있어 그 이유를 알려고 하기보단 그냥 그렇다고 여기는 것이 도움이 될 것이다.


저 사람이 나한테 왜 저럴까? 라는 생각을 하며 자신을 들들 볶는데,


그런 사람의 정신 상태에 대해서는 전문가에게 맡기고,


자기가 생각한다고 해서 괴로움만 있을 뿐 답이 나올리 없다는 것이다.

 

왜? 라는 질문을 자신의 문제에 적절히 하는 것은 성숙해질 수 있을 것이다.

 

자기 자신에 대해서는 본인이 더 잘 알기 때문이다.

 

타인에 대해서 왜? 라는 질문에 집착하면 점점 자신의 모습을 잃고 상대방의 눈치만 보는 사람으로 변한다.

 

그냥 넘어가도 되는 일은 자연스럽게 넘어가는 지혜를 터득하라는 것이다.

'혼잣소리 > 일기' 카테고리의 다른 글

함부로 인연을 맺지 마라.  (0) 2015.05.25
Jason Mraz - I Won't Give Up (Lyric Video)  (0) 2014.06.01
개발자의 관점에서 좋은 관리자가 되기 위한 지침  (0) 2009.12.19
행복의 조건  (2) 2009.09.04
I've Learned  (0) 2009.09.02
Posted by dcmru
,

아파트 분양권 매매에 관심이 있고, 해본적이 없기 때문에 방법을 찾아보면서 정리를 해보려고 한다.

 

1. 아파트 분양권 계약서 작성

  먼저 아파트 분양권 매매 계약서를 작성한다. 계약서 포맷은 인터넷에서 찾아보면 쉽게 구할 수 있다.

  부동산을 통하거나 세무회계사무소 또는 법무사를 통해서 해도되며 수수료가 들 것이다.

 

- 매매물건의 표시

  아파트 공급계약서를 참고하여 아파트의 주소, 분양면적, 옵션, 전용면적, 대지권 등의 면적을 적는다.

  다음으로 옵션을 제외한 순수 분양금액, 납부한 금액으로 납부한 계약금 + 중도금 금액, 앞으로 납부할 금액으로 중도금 + 잔금을 적는다.

 

- 계약내용

  프리미엄 금액을 적고, 계약금과 중도금, 잔금으로 나눠서 적는다.

 

- 특약사항

  특약사항으로 가능한 자세하게 적는다.

  발코니 확장의 경우 "매매물건의 표시" 부분에 금액을 명시를 하지 않았기 때문에 이를 표시한다.

  예) 발코니 확장비용 XXX만원은 매수인이 승계하며, 잔금 지급 시 해당일 기준 하에 발코니 확장 목적으로 납부한 계약금 XXX만원을 매도인에게 지불하도록 한다.

  중도금 대출에 관한 내용을 적는다. 직접 대출을 하였을 경우 이자에 대한 부분을 적는다.

  예) 중도금은 은행대출을 받아 지불하고 있다. 중도금 대출을 매수인이 동일한 조건으로 승계하기로 한다.

  분양계약금 XXX만원은 잔금 지급 시 매도인에게 지불하도록 한다.

 

- 인적사항

  매도인과 매수인의 인적사항을 적는다. 부동산을 통해 매매할 경우 중개업자의 정보를 적는다.

  계약서 작성 날짜와 인감도장을 찍어 본인이 작성하였음을 명시한다.

 

- 필요한 준비물

  매도인: 아파트 공급계약서, 발코니확장계약서, 유상 옵션 계약서, 계약금과 중도금 납입에 대한 영수증, 신분증, 인감도장, 인감 증명서

  매수인: 인감도장, 신분증

 

2. 지자체에 방문하여 부동산거래계약 신고서를 작성하여 부동산실거래가 신고를 하여 부동산거래계약신고필증을 받는다.

  인터넷으로도 가능하다고 하며, 부동산을 통해 할 경우 부동산에서 신고를 해준다.

  직접하고자 한다면, 지자체(구청, 시청 등) 관련부서를 방문하여 신고를 한 후 부동산거래계약신고필증을 받는다.

 

- 필요한 준비물

  매도인 또는 매수인이 가서 신고할 수 있다.

  준비물: 아파트 공급계약서, 분양권 매매 계약서, 신분증

 

3. 중도금 대출 승계

  매도자가 은행에서 중도금을 대출하였을 경우 해당 은행에 매도인과 매수인이 같이 방문하여 중도금 대출 승계를 하여 대출채무승계동의서를 발급 받는다.

 

- 필요한 준비물

  매도인: 아파트 공급계약서, 발코니확장계약서, 부동산실거래계약신고필증, 인감증명서, 주민등록등본, 신분증, 인감도장, 아파트 분양권 계약서

  매수인: 인감증명서, 주민등록등본, 주민등록초본, 가족관계증명서, 신분증, 인감도장, 소득확인 및 재산증명용 서류(재직증명서, 근로소득원천징수영수증), 인지세별도

             매수인의 경우 주민등록등본, 주민등록초본, 인감증명서 등 두 부씩 필요

 

4. 시행사에서 아파트 공급계약서 명의변경

  시행사 또는 시공사의 사무실에 방문하여 명의변경을 한다. 모델하우스에 사무실이 있기도 하며, 특정요일에만 전매업무를 할 수 있으므로 미리 알아둔다.

 

- 필요한 준비물

  매도인: 아파트 공급계약서, 발코니확장계약서, 부동산실거래계약신고필증, 신분증, 인감도장, 아파트 분양권 계약서, 매도용 인감 증명서(매수인에 대한 인적사항 명시), 주민등록등본

  매수인: 인간증명서, 주민등록등본, 신분증, 인감도장, 소득확인 및 재산증명용 서류(재직증명서, 근로소득원천징수영수증)

 

5. 매도인의 경우 프리미엄에 대한 양도소득세 신고

  매도인의 경우 매도일로 부터 60일 이내에 주소지 관할 세무소에서 양도가액에 대한 양도소득세를 신고한다.

  양도소득세율은 분양권 보유기간 1년 미만 단기 거래 50%, 2년 미만40%, 2년 이상 과세표준에 따라 6~38% 차등 적용된다.

  만약 분양권을 전매로 취득 후 다시 재전매할 경우는 보유기간이 최초 전매로 취득한 날부터 계산되므로 주의한다. 

  과세표준은 개인당 1년에 한 번 기본공제 250만원이 적용된다. 그리고 부동산중개료도 공제 된다.

 

  양도소득세 신고는 홈택스를 통해 신고 및 납부를 하고, 양도소득세에 따른 지방세는 위택스를 통해 신고 및 납부를 한다.

 

각 단계에서 필요한 준비물은 조금씩 틀릴 수 있으므로 사전에 자세한 정보를 알아두면 좋겠다.

Posted by dcmru
,

함부로 인연을 맺지마라.


진정한 인연과 스쳐가는 인연은 구분해서 인연을 맺어야 한다..

 

진정한 인연이라면
 최선을 다해서
  좋은 인연을 맺도록 노력하고..

 

스쳐가는 인연이라면
 무심코 지나쳐 버려야 한다..

 

그것을 구분하지 못하고
 만나는 모든 사람들과 헤프게 인연을 맺어 놓으면
  쓸만한 인연을 만나지 못하는 대신에
   어설픈 인연만 만나게 되어
    그들에 의해 삶이 침해되는 고통을 받아야 한다..

 

인연을 맺음에 너무 헤퍼서는 안된다..
 옷 깃을 한 번 스친 사람들까지
  인연을 맺으려 하는 것은 불필요한 소모적인 일이다..

 

수많은 사람들과 접촉하고 살아가고 있는 우리지만
 인간적인 필요에서 접촉하고 살아가는 사람들은
  주위에 몇몇 사람들에 불과하고
   그들만이라도 진실한 인연을 맺어 놓으면
    좋은 삶을 마련하는 데는 부족함이 없다..

 

진실은 진실된 사람에게만 투자해야 한다..
 그래야 그것이 좋은 일로 결실을 맺는다..
  아무에게나 진실을 투자하는 건 위험한 일이다..
   그것은 상대방에게 내가 쥔 화투 패를
    일방적으로 보여주는 것과 다름없는 어리석음이다.

 

우리는 인연을 맺음으로써 도움을 받기도 하지만
 그에 못지 않게 피해도 많이 당하는데
  대부분 피해는
   진실 없는 사람에게
    진실을 쏟아 부은 댓가로 받는 벌이다..

 

-고 법정스님-

 

살면서 진정한 인연은 어떻게 알아볼까? 그리고 진정한 인연이라면 어떤모습을 보여줄까?

Posted by dcmru
,

vi 또는 vim에서


삭제 명령어

:1,1000d -> 1행부터 1000행까지 삭제

:dG -> 커서를 포함하는 행부터 파일 끝까지 삭제

:dgg -> 커서를 포함하는 행부터 파일 처음까지 삭제


치환

:%s/search-string/replace-string/g -> 파일 전체 치환

:g/search-string/s//replace-string/gc -> 각 발생 탐색 후 확인하고 대체

:1,.s/search-string/replace-string/ -> 1부터 현재 행의 search-string을 replace-string로 전부 대체


16진수 보기

:%xxd

원래대로

:%!xxd

Posted by dcmru
,

고향집을 갔다가 깔끔하고 괜찮은 맛집으로 횟집이 진주 평거동에 새로 생겨서 소개해본다.

 

평거동 한스마트 바로 옆에 새로 생긴 풍하횟집이다.

 

전체적으로 깔끔하고 맛이 있었다.

인테리어도 과하지 않게 깔끔해 가족들이나 친구들 또는 소중한분 대접 특히 회식으로 가도 괜찮을 것 같다.

넓은 홀과 4개의 방으로 되어 있어 자리 특성에 맞게 앉으면 되었다.

주차장은 가게 앞에 여러대 주차 가능했다.

 

 

식사 전 나온 죽이다. 따뜻하게 데워서 나와 입맛을 돋워준다.

특히 회를 먹을 때 고추냉이를 중요하게 생각하는데 싱싱한 생고추냉이와 간장이 맛있었다.

 

 

기본 반찬들이다. 깔끔한 그릇에 여러종류의 반찬들이 나왔다.

 

 

문어 숙회와 와사비 양념이 가미된 낚지가 일품이었다.

반찬 하나하나에 신경을 쓴 모양이다.

 

 

 

 

 

메인으로 나온 2인용 4만원짜리 모듬회이다.

들어가기 전에 수족관을 보니 이름모를 물고기들이 여럿있었다.

생긴지 얼마되지 않아서 싱싱한 놈들로 채워져 있었다.

쌈에 회와 고추, 마늘을 올리고, 경상도에서는 초장 대신 양념된 쌈장을 올려먹으면 캬~~~

차를 가져가서 소주를 못먹었다는 것이 한이 된다!

 

 

 

 

지금까지 나온 회와 반찬들만으로도 충분이 배가 불렀지만 마무리로 밥도 먹어줘야해서 시킨 매운탕과 공기밥이다.

매운탕이 시원해 공기밥 한그릇을 뚝딱해치웠다.

 

 

마지막으로 나온 후식으로 감과 매실차가 나왔다.

꼭 챙겨 드시길~

 

 

벽에 있던 가격표~

 

 

 

 

위치는 다음과 같다.

기회되면 가보시길 추천한다.

 

주소: 경남 진주시 평거동 744-6번지

전화번호: 055-748-8829

 

 

'취미 > 맛집' 카테고리의 다른 글

대전 전민동 곰아빠  (0) 2019.06.08
진주 평거동 풍하횟집 물회  (0) 2015.08.04
Posted by dcmru
,

우분투 12.04 x86_64에 PgAdmin을 설치하려고 보니 소스로 설치하려면 번거로운 점이 많아 패키지 형태로 설치하는 방법을 정리해본다.


1. /etc/apt/sources.list.d/pgdg.list 파일을 만들고, 다음 라인을 추가한다.

deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main


2. 다음 명령어로 signing key를 import한다.

$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
  sudo apt-key add -


3. 다음 명령어로 패키지 리스트를 업데이트 한다.

$ sudo apt-get update


4. 다음 명령어로 PostgreSQL 9.3과 PgAdmin3을 설치한다.

$ apt-get install postgresql-9.3 pgadmin3


참고: http://www.postgresql.org/download/linux/ubuntu/

Posted by dcmru
,

아래 링크에서 YARA 최신 버전을 다운로드 받는다. Google Code에서 GitHub로 옮긴 것으로 보인다.

https://github.com/plusvic/yara/releases/tag/v3.1.0


아래 링크에서 YARA 설치 방법을 참고한다.

http://yara.readthedocs.org/en/latest/gettingstarted.html#compiling-and-installing-yara


기존 설치 문서를 참고한 결과 아래 패키지를 먼저 설치하였다.

v3에서도 필요한지는 체크하지 못하였다.

# apt-get install libpcre3-dev
# apt-get install g++


다운로드 받은 소스를 압축 해제 한다.

# tar xvfz yara-3.1.0.tar.gz
# cd yara-3.1.0/


README를 살펴본 결과 기본적으로 bootstrap.sh를 실행하면 configure 파일이 생성이 되는데 에러가 발생한다.

의존 되는 패키지가 설치되어 있지 않아 에러가 발생한 것이다.


발생한 에러는 다음과 같다.

# ./bootstrap.sh
== bootstraping yara
libtoolize...
Did not find a supported libtoolize


다음과 같이 libtool을 설치하였다.

# apt-get install libtool


다음과 같은 에러가 또 발생하였다.

# ./bootstrap.sh 

== bootstraping yara
libtoolize...
libtoolize: putting auxiliary files in `.'.
libtoolize: linking file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: linking file `m4/libtool.m4'
libtoolize: linking file `m4/ltoptions.m4'
libtoolize: linking file `m4/ltsugar.m4'
libtoolize: linking file `m4/ltversion.m4'
libtoolize: linking file `m4/lt~obsolete.m4'
aclocal...
Did not find a supported aclocal


automake가 설치되어 있지 않아 발생한 것으로 아래 명령어로 설치 여부를 판단한다.

# dpkg --get-selections | grep automake


아래 명령어로 automake를 설치한다.
# apt-get install automake


다시 bootstrap.sh를 실행한 결과 정상 실행되었다.

# ./bootstrap.sh

== bootstraping yara
libtoolize...
libtoolize: putting auxiliary files in `.'.
libtoolize: linking file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: linking file `m4/libtool.m4'
libtoolize: linking file `m4/ltoptions.m4'
libtoolize: linking file `m4/ltsugar.m4'
libtoolize: linking file `m4/ltversion.m4'
libtoolize: linking file `m4/lt~obsolete.m4'
aclocal...
autoheader...
automake...
configure.ac:13: installing `./ar-lib'
configure.ac:19: installing `./config.guess'
configure.ac:19: installing `./config.sub'
configure.ac:5: installing `./install-sh'
configure.ac:5: installing `./missing'
libyara/Makefile.am: installing `./depcomp'
configure.ac: installing `./ylwrap'
autoconf...


다음과 같이 configure와 make, make install을 실행한다.

# ./configure
# make
# make install


정상 설치 여부를 판단하기 위해 버전 정보를 출력해본다.

# yara -version

yara 3.1


참고: https://github.com/plusvic/yara/issues/98


Posted by dcmru
,

남해 볼락 낚시

취미/낚시 2014. 6. 22. 22:05

진주에서 삼천포로 가는 빠른 도로가 생기는 바람에 남해 창선대교로 남해로 가기가 아주 가까워졌다.

 

5월에 근로자의날, 어린이날, 석가탄신일로 인해 연휴아닌 연휴로 고향집에 갔다가 아버지와 낚시를 다녀왔다.

 

볼락하고 농어 새끼인 깔따구(?)를 꽤 잡았다.

 

볼락을 잡을 때는 미끼로 병아리(?)를 사용한다.

 

아침에는 포인터를 옮겨 학꽁치를 잡았다.

 

그리고 이름모를 방파제에서 새벽에 조업을 끝내고 들어오는 어선에서 큰 한치를 사서 아버지께서 회를 떠주셨는데 정말 맛있게 먹었다.

 

잠도 잘 못자고 운전을 도맡아 하게되어 힘들었지만 즐거운 시간을 보내고 왔다.

 

 

 

 

 

 

 

 

 

 

 

 

'취미 > 낚시' 카테고리의 다른 글

금오도  (0) 2005.06.27
2003년도에 갔었던 남해 홍도(일명 갈매기섬)  (0) 2005.06.16
Posted by dcmru
,

'혼잣소리 > 일기' 카테고리의 다른 글

왜? 라는 질문을 남발하지 마라.  (0) 2015.06.04
함부로 인연을 맺지 마라.  (0) 2015.05.25
개발자의 관점에서 좋은 관리자가 되기 위한 지침  (0) 2009.12.19
행복의 조건  (2) 2009.09.04
I've Learned  (0) 2009.09.02
Posted by dcmru
,

Oracle Linux 6.3 x86_64를 설치할 일이 있어서 설치를 해보았다.

 

기본 커널 버전은 다음과 같다.

 

[root@OracleLinux6]# uname -r
2.6.39-200.24.1.el6uek.x86_64
[root@OracleLinux6]# cat /etc/oracle-release
Oracle Linux Server release 6.3

 

Redhat 계열의 리눅스여서 네트워크 설정을 위해 setup을 실행한 후 IP정보를 설정하였다.

 

설정 후 ifconfig를 실행해보니 eth0이 보이지가 않는다.

 

이유를 찾아본 결과 부팅 시에 자동으로 장치가 올라오도록 설정이 되어 있지 않았다.

 

다음 파일을 열어 아래와 같은 항목을 수정해준다.

# vi /etc/sysconfig/networking/devices/ifcfg-eth0

ONBOOT=yes

 

아래 명령을 실행하여 재부팅해준 결과 eth0이 리스트업 되었다.

# reboot

 

참고: http://www.ozmoroz.com/2012/10/troubleshooting-eth0-in-oracle-linux.html

 

PS. 설치 시 수동 네트워크 설정에서 IP설정과 부팅 시 enable 되도록 설정하는 것이 번거롭지 않다.

Posted by dcmru
,

우분투 12.04 64bits에 ADT를 설치 후 사용을 하다가 Android Virtual Device Manager에서 AVD 생성 시


"No system images installed for this target"가 표시되며 AVD를 생성할 수 없었다.


해당 API 버전에 ARM EABI v7a System Image는 당연히 설치한 상태이다.



다음 그림에서와 같이 "CPU/ABI"에서 처럼 시스템 이미지를 선택할 수가 없다.



원인은 터미널에서 아래 명령과 같이 Android SDK Manager와 Android Virtual Device Manager를 실행할 수가 있는데, 이 때 경로가 꼬이는 것으로 보인다.

$ android

$ android avd



즉 sdk/system-images/android-19/armeabi-v7a와 같은 경로에 system image가 있어야 하는데


sdk/system-images/android-16/default/armeabi-v7a와 같이 경로 중간에 default가 추가로 들어있다.


해결 방법은 중간의 default를 없애주는 것이다. 아래의 경로가 되도록 디렉터리를 옮겨준다.


sdk/system-images/android-16/default/armeabi-v7a -> sdk/system-images/android-16/armeabi-v7a


아래 그림과 같이 "CPU/ABI"에서 system image를 선택할 수 있게된다.



Posted by dcmru
,

우분투 12.04를 설치하면 X-window 로그인 화면에 사용하는 계정 이외에 손님 세션이 하나 더 있다.


이를 제거하기 위해서는 아래와 같이 설정한다.


vi 명령어로 lightdm.conf를 열어 맨 아래줄에 내용을 추가한다.

$ sudo vi /etc/lightdm/lightdm.conf

allow-guest=false


재부팅한 후 로그인 창에 손님 세션이 사라졌는지 확인한다.



우분투 16.04.1 LTS를 설치한 결과 LightDM 설정파일 디렉터리 구조가 바뀌었다.

Ctrl+Alt+T로 터미널을 실행 한 후

$ sudo mkdir /etc/lightdm/lightdm.conf.d

$ sudo sh -c 'printf "[SeatDefaults]\nallow-guest=false\n" > /etc/lightdm/lightdm.conf.d/50-no-guest.conf'


실행 한 후 재부팅한다.

손님 세션 복원은 50-no-guest.conf 파일을 삭제하고 재부팅 해주면 된다.


guest 계정의 원격로그인의 제어는 다음과 같이 실행하면 된다.

$ sudo sh -c 'printf "[SeatDefaults]\ngreeter-show-remote-login=false\n" >/etc/lightdm/lightdm.conf.d/50-no-remote-login.conf'


복원은 50-no-remote-login.conf 파일을 삭제하고 재부팅 해주면 된다.

Posted by dcmru
,

우분투 12.04 64bits에서 이클립스를 설치 후 Content Assist의 단축키로 자주 사용하는 Ctrl+Space가 동작하지 않았다.


"이클립스->Window->Preferences->General->Keys->Content Assist"의 기본 단축키가 Alt+/로 설정이 되어 있었다.


이를 Ctrl+Space로 변경을 해주었지만 우분투의 한글 입력기의 한영 변환 기본키로 Ctrl+Space로 설정이 되어 있어 이를 또 변경해 주어야 한다.


입력기의 정보를 살펴본 결과 IBus 1.4.1를 사용하고 있었다.


"IBus->기본 설정->일반->키보드 바로 가기"에서 단축키 중의 하나인 Ctrl+Space를 제거하자 이클립스에서 정상적으로 동작이 되었다.


참고: http://blog.outsider.ne.kr/432

Posted by dcmru
,

우분투에서 저장소를 국내 서버로 변경하면 다운로드 속도가 향상이 된다.


자주 사용하는 국내의 저장소 주소는 다음과 같다.

- www.neowiz.com

- ftp.daum.net


$ sudo cp -rp /etc/apt/sources.list /etc/apt/sources.list.kr

$ sudo vi /etc/apt/sources.list


vi에서 치환명령어를 사용하여 저장소 주소를 바꿔준다.


:%s/kr\.archive\.ubuntu\.com/www\.neowiz\.com/g

또는

:%s/kr\.archive\.ubuntu\.com/ftp\.daum\.net/g


저장하고 나온다.


저장소 정보를 업데이트 해준다.

$ sudo apt-get update


만약 사용 중에 apt-get update 시에 404 에러가 발생하거나 패키지 설치가 안된다면 각 저장소 주소를 변경해 사용한다.

가끔 파일이 없어 에러가 발생하는 경우가 있기 때문이다.

Posted by dcmru
,

우분투 12.04 64bits에서 adt를 x86_64버전으로 받은 후 아래 에러가 발생하였다.


다운로드 받은 adt가 깨졌는지 md5sum으로 Hash 값을 체크를 해봐도 이상이 없었다.


- adt에서 발생하는 에러

[2014-03-10 15:24:57 - adb] Unexpected exception 'Cannot run program "/home/dckim/android/adt-bundle-linux-x86_64-20131030/sdk/platform-tools/adb": java.io.IOException: error=2, 그런 파일이나 디렉터리가 없습니다' while attempting to get adb version from '/home/dckim/android/adt-bundle-linux-x86_64-20131030/sdk/platform-tools/adb'


- 커맨드 라인에서 발생하는 에러

adt-bundle-linux-x86_64-20131030/sdk/platform-tools/adb: 그런 파일이나 디렉터리가 없습니다


- is32-libs를 설치해주면 해결이 된다.

$ sudo apt-get install ia32-libs

Posted by dcmru
,

ASUS P8H77-V 메인보드를 사용하는 시스템에 우분투 12.04 64bits를 설치하였으나 LAN 드라이버가 없어서 인터넷 연결이 되지 않아 해결방법을 정리하고자 한다.

 

우분투 설치 후 lspci -knn 또는 lshw 명령어를 실행한 결과 장치를 인식은 하고 있으나 atl1c 모듈이 않맞는지 랜이 연결되지 않았다.

설상가상으로 같은 허브에 물려있는 다른 PC의 네트워크도 마비를 시키는 현상을 보았다.

 

그리고 아래명령을 실행하면 장치가 인식되어 인터넷이 연결되는 듯 하였으나 재부팅 후 다시 실행해줘야하고 문제가 100% 해결이 되지는 않았다.

# modprobe atl1c

# echo "1969 1091" > /sys/bus/pci/drivers/atl1c/new_id

 

관련 정보들을 찾아본 결과 Atheros 드라이버 모듈은 아래의 소스 또는 패키지에 alx 모듈인 것을 확인하였다.

 

아래 링크를 보면 The project compat-wireless has been renamed to compat-drivers, and latter to backports 라고 설명을 하고 있으니 관련된 소스를 받으면 될것이다.

http://wireless.kernel.org/en/users/Download#Download_latest_Linux_wireless_drivers

 

다른 PC에서 아래 소스를 받아 USB 메모리를 사용하여 우분투로 옮긴다.

http://www.orbit-lab.org/kernel/compat-wireless-3-stable/v3.5/compat-wireless-3.5.4-1-snpc.tar.bz2 

 

root 사용자로 다음 명령순서대로 실행한다.

# tar xvfj compat-wireless-3.5.4-1-snpc.tar.bz2

# cd compat-wireless-3.5.4-1-snpc

# ./scripts/driver-select alx
# make
# make install

# modprobe alx

 

명령어 실행 후 자동으로 랜이 잡히는 것을 볼 수 있었다.

 

참고: http://askubuntu.com/questions/217361/how-do-i-install-drivers-for-the-atheros-ar8161-ethernet-controller-on-64-bit-12

Posted by dcmru
,

Nexus 5의 remount는 다음과 같이 명령을 실행한다.

 

rooting한 후 adb shell에서 su명령어로 root 권한을 얻은 후에 다음과 같이 실행한다.

 

# mount -o remount rw /system

 

mount 명령어로/system에 ro에서 rw로 바뀌었는지 확인해본다. 

Posted by dcmru
,