2017-12-15 14 views
1

私はクロスプラットフォームのQtアプリケーションを開発しています。そして今、GUIフォームの読み込みを行うリモートホスト上で実行する必要があります。
私はそれを行うには、2つの方法を知っている:それはssh -Xまたは-Yで行うように、リモートのXセッションとssh QtCreatorを使ってグラフィックアプリケーションを遠隔からデバッグする方法は?

  • 実行経由QtCreatorに接続されたコンソールを使用して、リモートディスプレイ(仮想でもよい)に

    • 開いているアプリケーションを。

    私はssh -Yでリモートホストに接続して、私のアプリを実行すると、それは

    QXcbConnection: Could not connect to display 
    

    を言うリモートデバイス上のQtCreatorを介してアプリケーションを実行すると、それは私には

    QXcbConnection: Could not connect to display localhost:10.0 
    Aborted 
    

    を語りますローカルホストとVNCを介してリモートホスト上のアプリケーションは正常に動作します。

    ssh -Y [email protected] xclockも正常に動作します。ローカルディスプレイにそのフォームが開きます。

    ホストシステムは、Ubuntuの16.04 LTS x64の、ターゲット・システムのUbuntu 16.04 LTS x86の32ビットです。 Qtバージョン5.9.1

    私はそれを働かせるように助けてください。最悪の場合、私はデバッグコンソールを見ることに同意し、gdbはQtCreatorに接続されていますが、GUIは依然としてリモートディスプレイに置くことができます。


    アップデート:ここで はform.qt.ioに関連する質問です。いくつかの研究の後

  • 答えて

    0

    とQtCreatorコミュニティからの助け私は
    方法は簡単ですが見つかりました:Xフォワーディングを使用して、リモートホストへ

    1. オープンSSHセッションはssh -X [email protected]を可能にしました。そして変数DISPLAYを知ってください。たとえば、echo $DISPLAYとなります。それはlocalhost:10.0のようになります。
    2. QtCreatorで環境変数DISPLAYを設定 - >Projects - > YourConfiguration - > Run - > RunEnvironmentを(1)から既知の値に設定します。
    3. 実行し、ローカルマシンのGUIを使用してリモートデバッグをお楽しみください。

    注:sshセッションを閉じると、転送された表示はアクセス不可能で無効になります。

    関連する問題