Qt で QProcess を介して vncviewer を使用してリモート画面にアクセスするアプリケーションを設計しています。(リモートデスクトップでvino-serverを使用しています)リモート画面に(全画面モードで)ログインした後、リモート共有を切断してローカル画面に戻したいです。
それを行うQtの方法はありますか?
Linuxコマンドラインでこれを達成する方法??
Linux OS (ubuntu) を使用しています。
任意のアイデア/提案をいただければ幸いです。
Qt で QProcess を介して vncviewer を使用してリモート画面にアクセスするアプリケーションを設計しています。(リモートデスクトップでvino-serverを使用しています)リモート画面に(全画面モードで)ログインした後、リモート共有を切断してローカル画面に戻したいです。
それを行うQtの方法はありますか?
Linuxコマンドラインでこれを達成する方法??
Linux OS (ubuntu) を使用しています。
任意のアイデア/提案をいただければ幸いです。
この問題を解決する方法を見つけました。
システムがリモートアクセス下にあることを考慮します。リモートユーザーから切断するには、vncサーバーを停止し、必要に応じて再起動するか、タイマーを使用して数秒後に再起動します。これにより、リモートユーザーがサーバーから切断されます。
コマンドラインを使用すると、次のように実行できます。
VNCサーバーを停止するには、ターミナルを開き、次のコマンドを入力します。
$ gconftool-2 -s -t bool /desktop/gnome/remote_access/enabled false
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 -> Preferences -> 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を使用して非常に簡単に実現できます。