我正在设计一个应用程序来通过 Qt 中的 QProcess 使用 vncviewer 访问远程屏幕。(我在远程桌面上使用vino-server)登录到远程屏幕(全屏模式)后,我想断开远程共享并切换回本地屏幕。
有什么Qt方法可以做到吗?
如何通过linux命令行实现这一点?
我正在使用 Linux 操作系统(ubuntu)。
任何想法/建议表示赞赏。
我正在设计一个应用程序来通过 Qt 中的 QProcess 使用 vncviewer 访问远程屏幕。(我在远程桌面上使用vino-server)登录到远程屏幕(全屏模式)后,我想断开远程共享并切换回本地屏幕。
有什么Qt方法可以做到吗?
如何通过linux命令行实现这一点?
我正在使用 Linux 操作系统(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
通过创建两个 bash shell 脚本可以更加简化:
启动vnc.sh
#!/bin/bash
#
# This script starts enables System -> Preferences -> Remote Desktop
gconftool-2 -s -t bool /desktop/gnome/remote_access/enabled true</pre>
停止vnc.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,滚动到底部,然后输入以下两行:
alias startvnc=/path/to/your/startvnc.sh
alias stopvnc=/path/to/your/stopvnc.sh</pre>
现在,当您 SSH 进入您的盒子(或打开命令行)时,您只需键入
$ startvnc
[启用远程桌面],或
$ stopvnc
[禁用远程桌面]。
现在,在 Qt 中,使用 QProcess 可以很容易地实现。