0

Qt で QProcess を介して vncviewer を使用してリモート画面にアクセスするアプリケーションを設計しています。(リモートデスクトップでvino-serverを使用しています)リモート画面に(全画面モードで)ログインした後、リモート共有を切断してローカル画面に戻したいです。

それを行うQtの方法はありますか?

Linuxコマンドラインでこれを達成する方法??

Linux OS (ubuntu) を使用しています。

任意のアイデア/提案をいただければ幸いです。

4

1 に答える 1

0

この問題を解決する方法を見つけました。

システムがリモートアクセス下にあることを考慮します。リモートユーザーから切断するには、vncサーバーを停止し、必要に応じて再起動するか、タイマーを使用して数秒後に再起動します。これにより、リモートユーザーがサーバーから切断されます。

コマンドラインを使用すると、次のように実行できます。

  1. VNCサーバーを停止するには、ターミナルを開き、次のコマンドを入力します。

     $ gconftool-2 -s -t bool /desktop/gnome/remote_access/enabled false
    
  2. VNCサーバーを起動するには、ターミナルを開き、次のコマンドを入力します。

     $ gconftool-2 -s -t bool /desktop/gnome/remote_access/enabled true
    

2つのbashシェルスクリプトを作成することで、より単純化できます。

startvnc.sh

    #!/bin/bash
    #
    # This script starts enables System -> Preferences -> Remote Desktop

    gconftool-2 -s -t bool /desktop/gnome/remote_access/enabled true</pre>

stopvnc.sh

    #!/bin/bash
    #
    # This script starts enables System -&gt; Preferences -&gt; Remote Desktop

    gconftool-2 -s -t bool /desktop/gnome/remote_access/enabled false</pre>

これらのスクリプトを作成したら、次のコマンドで実行可能にします。

    $ chmod +x startvnc.sh
    $ chmod +x stopvnc.sh

必要に応じて、それらのエイリアスを作成します。テキストエディタで〜/ .bashrcを開き、一番下までスクロールして、次の2行を入力します。

    alias startvnc=/path/to/your/startvnc.sh
    alias stopvnc=/path/to/your/stopvnc.sh</pre>

これで、ボックスにSSHで接続する(またはコマンドラインを開く)と、次のように入力できます。

    $ startvnc

[リモートデスクトップを有効にする]、または

    $ stopvnc

[リモートデスクトップを無効にする]。

現在、Qtでは、QProcessを使用して非常に簡単に実現できます。

于 2012-11-07T08:59:00.597 に答える