linux:如何断开远程用户访问?

时间:2012-11-02 09:33:15

标签: c++ linux qt remote-access

我正在设计一个应用程序,通过Qt中的QProcess使用vncviewer访问远程屏幕。 (我在远程桌面使用vino-server) 登录远程屏幕后(全屏模式),我想断开远程共享并切换回本地屏幕。

有没有Qt方法可以做到这一点?

如何通过linux命令行实现这一点?

我正在使用Linux Os(ubuntu)。

任何想法/建议都表示赞赏。

1 个答案:

答案 0 :(得分: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
    
  3. 通过创建两个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 -&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,滚动到底部,然后输入以下两行:

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

    现在,当您通过SSH连接到您的盒子(或打开命令行)时,您只需键入

    即可
        $ startvnc
    

    [启用远程桌面]或

        $ stopvnc
    

    [禁用远程桌面]。

    现在,在Qt中,使用QProcess可以很容易地实现它。