반응형

QualNet은 라이센스 서버에 접근해서 일종의 토큰 같은 것을 얻어서 시뮬레이션을 수행하고, 시뮬레이션이 끝나면 반환하는 방식으로 동작한다. 라이센스 서버에서는 QualNet을 실행하기 위해서 접근하는 client들의 IP주소를 확인해서, 자기 라이센스의 범위에 해당되는지 (IP 주소의 범위가 143.248.55.* 와 같이 subnet으로 지정됨) 확인해 보고 할당되지 않은 토큰을 넘겨 준다.


QualNet 프로그램에서는 [QUALNET_HOME 디렉토리]/license_dir/ 하위에 있는 .lic 파일을 읽어서 라이센스 서버에 접속하는데, (lic 파일 이름과 내용이 모두 라이센스 서버의 IP 주소로 되어 있음) 이 때 아래와 같은 에러가 발생할 수도 있다.


usera@usera-Linux:~/qualnet/5.0/scenarios/default$ qualnet default.config 

QualNet Version 5.0

QUALNET_HOME = /home/usera/qualnet/5.0

Attempting license checkout (should take less than 2 seconds) ...

Error code:    -8

               Invalid (inconsistent) license key. The license-key and data for

Error message: the feature do no match. This usually happens when a license

               file has been altered

               Follow the instructions posted on the online scalable-

Solution:      networks.com knowledge-base:


               http://www.scalable-networks.com/kb/questions.php?questionid=2


Detailed Report::

checkout failed: Invalid (inconsistent) license key.

 The license key and data for the feature do not match.

 This usually happens when a license file has been altered.

Feature:       qualnet-full

License path:  /home/usera/qualnet/5.0/license_dir/client-143.248.55.121.lic:

FLEXnet Licensing error:-8,544

For further information, refer to the FLEXnet Licensing End User Guide,

available at "www.macrovision.com".


QualNet의 포럼에 올라와 있는 글을 보면 여러 가지 이유로 발생할 수 있다고 나온다.

http://www.scalable-networks.com/snt-support/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=19


그 중에 내가 겪은 문제는 7. Other Common Causes에 해당되는 것으로, /etc/hosts 파일 세팅 문제이다. 추측하기로는, 라이센스 서버와의 문제는 아니지만, QualNet 시뮬레이션을 시작하려고 하는 시점에서 hostname과 IP 주소를 올바로 매칭하지 못해서 라이센스 요건을 충족하지 못하는 것으로 판단하는 것이 아닐까 생각한다.


이 경우 아래와 같이 /etc/hosts 파일을 수정하면 해결된다.

127.0.0.1    localhost.localdomain localhost

ip-address   [my-full-DNS-name] [my-hostname]


참고로 기존의 /etc/hosts 파일에

"127.0.1.1  [my-hostname]"

위와 같은 라인이 있으면 안된다. 해당 라인이 있다면 반드시 삭제할 것.

(저 라인을 남겨둔 채 왜 시키는 대로 했는데도 해결이 안되냐며 한시간 넘게 고민했다 ㅠㅠ)

즉, 호스트네임이 localhost 주소로 매핑되지 않도록 해야 한다.


반응형
블로그 이미지

Bryan_

,
반응형

QualNet 5.0 이상 버전을 컴파일하려면 [QUALNET_HOME 디렉토리]/main/make 명령을 입력하면 된다.

그런데 64bit Ubuntu desktop에서 별다른 설정을 하지 않고 Qualnet을 컴파일하려고 하면, make의 거의 마지막 과정에서 아래와 같은 에러가 발생한다.

 ld: cannnot find -lexpat


이 때는 아래와 같이 libexpat 패키지를 설치하면 해결된다.

$ sudo apt-get install libexpat1-dev


끝.

반응형
블로그 이미지

Bryan_

,
반응형

*테스트한 클라이언트 OS: Ubuntu 12.04 desktop (64bit)

*시너지 버전: synergyc 1.3.8, protocol version 1.3

*서버 OS: Windows 7 (64bit)


시너지를 이용해서 윈도우와 우분투 머신 연결에는 성공했으나, ~/.bashrc를 이용한 자동 실행만 가지고는 로그인 화면에서 원격 키보드로 입력할 수가 없어서 불편함이 있었다. 이를 해결하기 위해서 우분투가 로그인 화면을 띄울 때 시너지 서버나 클라이언트를 자동실행 시키는 방법이 아래 링크에 잘 설명되어 있다.

https://help.ubuntu.com/community/SynergyHowto


우분투 12.04의 경우 나중에 따로 설치하거나 설정을 바꾸지 않는다면 LightDM으로 로그인을 하는데,

이 경우에는 /etc/lightdm/lightdm.conf 파일을 열어서, 맨 마지막 줄에 아래 내용만 추가하면 된다.

greeter-setup-script=/usr/bin/synergyc --name [리눅스_클라이언트_이름] [synergy_server_IP]:[synergy_server_PORT]


물론 로그인 이후 시너지를 자동 실행시키는 스크립트는 그대로 유지해야 한다.

이렇게 하면 부팅중일 때를 제외하면 항상 원격 키보드/마우스 입력으로 접근할 수 있다.

반응형
블로그 이미지

Bryan_

,
반응형

~/.config/user-dirs.dirs 파일을 연다.


"XDG_"로 시작하는 줄에 적혀 있는 한국어 폴더 이름을 영어로 바꿔 준다. 예를 들어서,

XDG_DESKTOP_DIR="$HOME/Desktop"

XDG_DOWNLOAD_DIR="$HOME/Download"

XDG_TEMPLATES_DIR="$HOME/Templates"

XDG_PUBLICSHARE_DIR="$HOME/Public"

XDG_DOCUMENTS_DIR="$HOME/Documents"

XDG_MUSIC_DIR="$HOME/Music"

XDG_PICTURES_DIR="$HOME/Pictures"

XDG_VIDEOS_DIR="$HOME/Videos"


변경된 내용을 저장하고 나서, 홈 디렉토리에 있는 한국어 기본 디렉토리들의 이름을 위에 입력했던 영어 이름으로 바꿔 준다. (e.g. 바탕화면 --> Desktop)

재부팅하고 나면 영어 디렉토리로 적용된다.


참고로 본인은 Ubuntu 12.04를 쓰지만 Unity 대신 Gnome-session을 쓰고 있다.

이 때는 위와 같이 변경하고 나면 왼쪽 상단의 "위치" 메뉴에 있던 기본폴더 링크가 보이지 않게 된다.

다시 "위치" 메뉴에 있는 폴더들의 링크가 보이게 하려면 ~/.gtk-bookmarks 파일을 열고,

file:///home/[사용자 계정]/%EB%AC%B8%EC%84%9C

file:///home/[사용자 계정]/%EC%9D%8C%EC%95%85

file:///home/[사용자 계정]/%EC%82%AC%EC%A7%84

file:///home/[사용자 계정]/%EB%B9%84%EB%94%94%EC%98%A4

file:///home/[사용자 계정]/%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C


위와 같이 사용자 계정명 뒤에 적힌 글자를 앞서 바꾼 영어 이름으로 바꿔 준다. 예를 들어,

file:///home/usera/Download

file:///home/usera/Documents

file:///home/usera/Music

file:///home/usera/Pictures

file:///home/usera/VIdeos


위의 한국어 이름과 순서가 맞지는 않을 것 같고, 내가 임의로 지우고 썼다. -_-;

반응형
블로그 이미지

Bryan_

,
반응형
Nexus S (넥서스S)에서 카메라 모듈을 쓰려고 할 때 startPreview 에러가 발생할 때가 있는데, 이 때는 카메라의 preview size를 명시적으로 지정하되, 사이즈를 주의해서 지정해 주어야 하는 것 같다.

참고(reference): http://soledadpenades.com/2011/04/05/native-startpreview-failed-on-nexus-s-check-your-preview-size/

위의 사이트에서는 preview size를 8x16으로 해서 됐다고 하는데, 시스템에서 지원하는 size를 얻어 오는 것으로도 에러 없이 실행이 되는 것 같다.
Camera camera = Camera.open();
Camera.Parameters parameters = camera.getParameters();

// get the first preview size supported by the device
Camera.Size s = parameters.getSupportedPreviewSizes().get(0);

parameters.setPreviewSize(s.width, s.height);
camera.setParameters(parameters);

삼성 안드로이드 기기의 문제인지 넥서스S만의 문제인지는 모르지만, 다른 기기들에서 정상적으로 돌아가는 코드가 가끔 실행이 안될 때가 있어서 간단히 기록해 두었다.

반응형
블로그 이미지

Bryan_

,