커터가 SSH X11 전달을 통해 작동하지 않습니다.

커터가 SSH X11 전달을 통해 작동하지 않습니다.

다양한 Vagrant 박스(VirtualBox 백엔드)를 사용하여 소규모 SRE 랩을 설정했습니다. 저는 보통 Debian이나 Archlinux 컴퓨터에서 작업하고 원격 디버깅을 통해 Windows 컴퓨터에 연결합니다. 내 Linux 컴퓨터에서는 X11 전달이 활성화되어 제대로 작동합니다. AppImage에서 Cutter(공식 GUI)를 실행 하려고 하거나 rizin압축을 푼 후에 다음 오류가 발생합니다.

The X11 connection broke: No error (code 0)
X connection to localhost:10.0 broken (explicit kill or server shutdown).

나는 이전에 이런 것을 본 적이 없으며 다른 응용 프로그램(AppImage이든 아니든)으로 이를 재현할 수 없습니다. Cutter는 로컬에서 잘 실행되고 다른 응용 프로그램은 상자의 X11 전달을 통해 잘 실행됩니다. 이 응용 프로그램만 Debian 및 Arch 상자 모두에서 오류를 발생시킵니다.

디버깅을 시작할 위치에 대한 아이디어를 주시면 감사하겠습니다. :)

답변1

마침내 이 문제를 해결할 수 있었습니다.@eduardotrapani포인터는 qt많은 도움이 됩니다. QT_DEBUG_PLUGINGS=1환경 변수를 통해 Qt 플러그인 디버깅을 활성화하도록 지시했습니다 . 거기에서 일종의 OpenGL 플러그인을 로드한 후 오류가 발생하는 것을 발견했습니다.

Got keys from plugin meta data ("xcb_egl")
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_CutterCuz84C/usr/plugins/xcbglintegrations/libqxcb-glx-integration.so"
Found metadata in lib /tmp/.mount_CutterCuz84C/usr/plugins/xcbglintegrations/libqxcb-glx-integration.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.Xcb.QXcbGlIntegrationFactoryInterface.5.5",
    "MetaData": {
        "Keys": [
            "xcb_glx"
        ]
    },
    "archreq": 0,
    "className": "QXcbGlxIntegrationPlugin",
    "debug": false,
    "version": 331520
}


Got keys from plugin meta data ("xcb_glx")
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_CutterCuz84C/usr/bin/xcbglintegrations" ...
loaded library "/tmp/.mount_CutterCuz84C/usr/plugins/xcbglintegrations/libqxcb-glx-integration.so"
The X11 connection broke: No error (code 0)
X connection to localhost:10.0 broken (explicit kill or server shutdown).

몇 가지 조사 끝에 간접 OpenGL 렌더링을 활성화하게 되었습니다.

export LIBGL_ALWAYS_INDIRECT=1

자세한 내용은 다음을 참조하세요.여기.

답변2

이는 문제가 될 수 있습니다 qt.이것. 간단히 말해서, qtX 서버가 제공할 수 없는 것을 요구하는 것입니다(X 서버는 XInput 2를 지원하지 않습니다.).

-Y스위치를 사용하여 신뢰할 수 있는 X11 전달을 활성화하고 작동하는지 확인할 수 있습니다 .

ssh -Y user@host

-X-Yvs에서 더 많은 정보(및 경고)를 찾을 수 있습니다.이 답변.

관련 정보