이번에 xilinx vitis를 사용해야 하는데 랩장님이, 현재 서버의 vitis는 자신의 home 디렉토리에 설정이 많이 맞춰져 있어서 docker에 따로 깔으라 하셨다(...)
docker자체도 어렵긴 하지만 뭐 금방 익숙해 지긴 했는데 (그냥 가볍고 귀찮은 가상머신이라 생각하면 될듯?) 문제는 xwindow가 안됬다.
대부분 인터넷에 나온 방법은 docker가 host(현재 사용하고 있는 컴퓨터)에서 사용하기 때문일 것이다.
하지만 여기서는 host가 아니라 랩 내 서버이고, 그 상에서 docker를 사용하니 제대로 전달이 안되는데 해결방법은 다음과 같다.
docker를 생성할때 다음과 같이 생성한다.
docker run
-it
--net=host
-v /tmp/.X11-unix:/tmp/.X11-unix
-v $HOME/.Xauthority:/root/.Xauthority:rw
-e DISPLAY=$DISPLAY
--name wintiger_vitis
ubuntu:18.04
--net=host는 도커를 bridge 모드가 아니라 host 모드로 만들어 준다. 이래야지 잘 되는것 같다.
-v 옵션은 .X11-unix 폴더와 .Xauthority 폴더를 공유한다
-e는 DISPLAY 환경변수를 공유한다.
이렇게 docker를 생성하면 대충 잘 작동한다.
문제점 1. 외부서버에 ssh를 이용해서 접속했을때, DISPLAY 환경변수가 서버에서 매번 다르게 지정해 주기에, docker에 먼저 들어가기 전에 echo $DISPLAY로 환경변수 값을 먼저 확인하고 docker에 들어가서 export DISPLAY="변수"를 이용해 DISPLAY 변수를 수동으로 지정해 줘야한다. 사실 이러면 -e DISPLAY=$DISPLAY가 뭔 의미가 있나 싶긴 한데...
문제점 2. 가끔 Xauthority 파일 문제로 안되는 경우가 있다, 이경우에는 걍 docker 외부에서 docker 내부로 docker cp를 이용해 직접 .Xauthority파일을 복사해 주면 된다.
'잡담 > 대학원' 카테고리의 다른 글
요즘 대학원에서 하고 있는것 (0) | 2022.04.10 |
---|---|
FPGA의 연산에 DSP를 안 쓰는 방법 (0) | 2022.03.22 |
Vitis 버전별 비교 (0) | 2022.03.10 |
Xilinx Vitis 컴파일 오래 걸림, profile 옵션 실패 (0) | 2022.02.26 |
PipeCNN 최적화 (0) | 2022.02.17 |
댓글