시스템 전체 터미널에서 xserver에 연결하는 방법은 무엇입니까?

시스템 전체 터미널에서 xserver에 연결하는 방법은 무엇입니까?

현재 Robot OS를 이용하여 자율드론을 만들어보려고 합니다.활성산소종). 이를 위해 나는 설치했다라즈베리 파이 라이트(제시)안에라즈베리 파이 3현재 사용 중ROS 역학위에. 이 때문에라즈베리 파이 라이트, 창 관리자나 데스크탑 환경 없이 설치됩니다. 나는 가기로 결정했다Openbox 창 관리자편의를 위해 터미널이 설치되어 있습니다. 그냥 전화 sudo startx하면 창 관리자가 열리고 액세스할 수 있습니다 Ctrl + alt + F2. 시스템 전체의 터미널이기 때문에 저도 설치했습니다.멀티플렉서편의상. 특정 포드에서 xserver를 실행하고 다른 포드에서 ROS 작업을 수행하고 있습니다.

이제 시스템 전체 터미널에서 GUI 응용 프로그램을 호출하는 명령을 실행하려고 하면 오류가 발생합니다.

QxcbConnection: Could not connect to display
Aborted

이제 이 문제를 해결하는 두 가지 방법이 있습니다.

  1. 내 창 관리자에 터미널이 설치되어 있으므로 ROS가 이를 처리하도록 해야 합니까? 그런데 창 관리자 내에서 터미널 에뮬레이터의 환경을 시스템 전체 터미널의 환경과 동일하게 변경하는 방법을 모르겠습니다. 쉘을 바꾸는 것만 큼 간단합니까?

  2. 실제로 현재 명령을 실행 중인 tmux 창으로 GUI 응용 프로그램을 보내는 방법을 찾았습니다 sudo startx. 프로세스의 상위 프로세스를 다른 프로세스의 상위 프로세스로 전환하는 방법은 무엇입니까?


노트:나는 두 번째 솔루션이 내 작업 흐름에 더 우아하고 효율적이기 때문에 확실히 선호합니다.

답변1

GUI 환경의 터미널에서 다음을 입력합니다.

xhost +

GUI가 아닌 환경에서는 다음을 입력합니다.

export DISPLAY="localhost:0"

GUI가 아닌 환경에서 시작된 그래픽 응용 프로그램은 GUI 환경에 나타납니다.

더 읽어보실 수 있습니다man xhost

다음 답변도 참조하세요.이 명령은 xhost …무엇을 합니까 ?

관련 정보