我正在设计一个应用程序,通过Qt中的QProcess使用vncviewer访问远程屏幕。 (我在远程桌面使用vino-server) 登录远程屏幕后(全屏模式),我想断开远程共享并切换回本地屏幕。
有没有Qt方法可以做到这一点?
如何通过linux命令行实现这一点?
我正在使用Linux Os(ubuntu)。
任何想法/建议都表示赞赏。
答案 0 :(得分:0)
我找到了解决此问题的方法。
考虑到系统处于远程访问状态。要将其与远程用户断开连接,只需停止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脚本可以更简化:
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,滚动到底部,然后输入以下两行:
alias startvnc=/path/to/your/startvnc.sh
alias stopvnc=/path/to/your/stopvnc.sh</pre>
现在,当您通过SSH连接到您的盒子(或打开命令行)时,您只需键入
即可 $ startvnc
[启用远程桌面]或
$ stopvnc
[禁用远程桌面]。
现在,在Qt中,使用QProcess可以很容易地实现它。