애플리케이션 실행 시 공유 라이브러리에 대한 검색 경로를 정의합니다.

애플리케이션 실행 시 공유 라이브러리에 대한 검색 경로를 정의합니다.

최종 목표:

VirtualBox/VM Ware/Docker를 사용하지 않고 독립형 환경에서 GUI 애플리케이션을 개발하는 방법을 찾고 있습니다.

내가 뭘 한거지:

내 애플리케이션을 개발할 수 있는 chroot 환경을 만들었습니다. 코드를 편집하고 컴파일할 수 있습니다.

질문:

chroot에서 GUI 애플리케이션을 실행하는 것은 X-Server를 설치 및 구성해야 하고... 호스트 X-Server에 연결해야 하기 때문에 어렵습니다(내가 아는 한).

아이디어: 내 호스트의 chroot 외부에서 간단히 애플리케이션을 실행할 수 있습니다.

질문:

/물론, 실행된 애플리케이션의 모든 종속성 은 가 아닌 에 있기 때문에 손실됩니다 /home/user/mychroot/.

질문:

모든 공유 프로젝트/객체(예: 라이브러리 등)가 서로 다른 경로에 있음을 알리면서 애플리케이션을 실행할 수 있습니까?

주요 문제에 대한 다른 해결책을 환영합니다.

왜 docker/vm이 없나요?

둘 다 매우 느립니다. 특히 외장 하드 드라이브에서 실행할 때 더욱 그렇습니다. 저는 가상 머신에서 개발을 했지만 약 50%의 시간은 가상 머신 자체의 문제를 해결하는 데만 집중했습니다. 예: VM 정지: 다시 시작(각각 10분씩 약 5회 시도 소요), VM 업데이트 필요: 다음 1~3시간 동안 사용 중입니다.

답변1

잠시 동안 노력한 후 "일반적인 접근 방식"을 사용하기로 결정했습니다.

  • chroot(게스트) 내에서:
    • 유형export DISPLAY=:0.0
  • 호스트 머신에서:
    • 터미널에서 다음을 작성하십시오. xhost +("chroot에서 x 서버 연결 허용")

xhost -호스트에서 유형을 사용한 후.

원천

답변2

다음 설정을 시도해 볼 수 있습니다 LD_LIBRARY_PATH.

LD_LIBRARY_PATH=/home/user/mychroot/usr/lib /home/user/mychroot/yourapp

관련 정보