it-swarm.cn

从命令行启用远程VNC?

我有一台运行Ubuntu 10.04的计算机正在运行 Vino ,默认的VNC服务器。

我有第二个Windows框,它运行VNC客户端,但没有任何X11功能。我从Windows主机ssh进入Ubuntu主机,但我忘了在Ubuntu主机上启用VNC访问。

在Ubuntu主机上,有没有办法从Ubuntu命令行启用VNC连接?

更新:

正如@koanhead在下面所说,没有vino的手册页(例如man -k vinoinfo vino不返回任何内容),而vino --help没有显示任何帮助)。

66
Stefan Lasiewski

刚刚跑步

/usr/lib/vino/vino-server

应该做的工作。

一旦您有权访问您的服务器,我建议您将其添加到Autostarted Apps,以便始终启动它。

您可能希望更改一些设置:

vino-preferences

在远程计算机上运行vino-preference时要非常小心,如果取消选中“允许其他用户控制桌面”,则无法检查它。

或编辑:

~/.gconf/desktop/gnome/remote_access/%gconf.xml

这是一个示例文件:

<?xml version="1.0"?>
<gconf>
    <entry name="vnc_password" mtime="1289267042" type="string">
        <stringvalue>cXdlcnR5</stringvalue>
    </entry>
    <entry name="view_only" mtime="1289262982" type="bool" value="false"/>
    <entry name="Prompt_enabled" mtime="1254965869" type="bool" value="false"/>
    <entry name="authentication_methods" mtime="1289267034" type="list" ltype="string">
        <li type="string">
            <stringvalue>vnc</stringvalue>
        </li>
    </entry>
    <entry name="enabled" mtime="1289263574" type="bool" value="true"/>
</gconf>

注意,密码是base64编码的。对于此文件,密码为qwerty。我在一些论坛上看到人们已经成功地改变了它,但我遇到了问题。

这是一个在线base64编码器:

http://www.motobit.com/util/base64-decoder-encoder.asp

25
Guillaume Coté

简答:

gconftool-2 --set --type=bool /desktop/gnome/remote_access/enabled true

如接受的答案所示,如果vino未在远程计算机上启动,请使用

/usr/lib/vino/vino-server

长答案和更多信息:

如上所述,可以从vino-preferences看到当前内置远程访问服务器(vino)的设置子集。使用gconf-editor命令可以看到完整的gconf标志列表,该命令列在/ desktop/gnome/remote_access下。您还可以使用此命令(或其中的变体)查看其他remote_access键:

gconftool-2 -a /desktop/gnome/remote_access

(无论出于何种原因,-R也会起作用。)

您还可以通过--long-docs arg获取架构密钥文档。

例如,对于alternative_port键:

gconftool-2 --long-docs /desktop/gnome/remote_access/alternative_port

       The port which the server will listen to if the
       'use_alternative_port' key is set to true.
       Valid values are in the range from 5000 to 50000.

因此,例如,以下是如何通过命令行更改默认端口:

gconftool-2 --set --type=bool /desktop/gnome/remote_access/use_alternative_port true
gconftool-2 --set --type=int /desktop/gnome/remote_access/alternative_port 5999

gconftool将为您提供给定目录下的密钥。这是'remote_access'部分:

gconftool-2 -a /desktop/gnome/remote_access
 use_upnp = false
 vnc_password = 
 authentication_methods = [vnc]
 network_interface = 
 require_encryption = false
 disable_background = false
 enabled = true
 use_alternative_port = false
 mailto = 
 disable_xdamage = false
 lock_screen_on_disconnect = false
 icon_visibility = always
 view_only = false
 Prompt_enabled = true
 alternative_port = 5900

以下是如何列出/ desk/gnome/remote/access下的所有模式文档(通过命令行/ bin/bash):

for key in ` gconftool-2 -a /desktop/gnome/remote_access | awk '{print $1}'  ` ; do echo $key ; gconftool-2 --long-docs /desktop/gnome/remote_access/$key ; done
28
belacqua

我还想用命令行启用vino而不进入vino-preferences。

当我启动/usr/lib/vino/vino-server时,它表示我没有启用桌面共享服务。

使用Unity gconftool不再可用。我们必须通过gsettings来完成。

首先,启用vino:

gsettings set org.gnome.Vino enabled true

然后开始vino:

/usr/lib/vino/vino-server

现在,您可以远程访问您的计算机。

如果你想看到Vino可用的所有配置:

gsettings list-keys org.gnome.Vino
24
ouzmoutous

在Ubuntu 14.04上,我发现以下变体对我有用:

export DISPLAY=:0
gsettings set org.gnome.Vino enabled true
gsettings set org.gnome.Vino Prompt-enabled false
gsettings set org.gnome.Vino require-encryption false
/usr/lib/vino/vino-server

如果这不起作用,你的X会话可能正在:0以外的其他东西上运行,所以快速的ps aux | grep X应该显示:1:2

19
Taeram

为什么,对于在这个艰难世界中所有善的人的爱,是否没有人进入vino或vino-server或dpkg -L vino输出中列出的任何命令?就此而言,为什么要这样做 任何包装都没有 是否安装在Ubuntu系统上,至少省略了相关命令的手册页?好吧,咆哮。我到目前为止找到的最佳答案是: http://ubuntuforums.org/archive/index.php/t-266981.html

我真的希望这会有所帮助,我希望将来Ubuntu社区能够记录所有这些孤立的命令。 “易于使用”并不意味着放弃命令行,它当然并不意味着放弃易于访问的文档。 </叽>

13
koanhead

由于显示器的错误等原因,这似乎无法通过ssh远程工作。这是我做的:

export DISPLAY=:0.0 && /usr/lib/vino/vino-server

现在大部分都在工作!

9
Will Bradley

我能够使用以下脚本从远程ssh连接设置新的Ubuntu 16.04安装:

#!/ bin/bash 
 export DISPLAY =:0 
 read -e -p“VNC Password:” -  i“ubuntu”password 
 dconf write/org/gnome/desktop/remote-access/enabled true 
 dconf write/org/gnome/desktop/remote-access/Prompt-enabled false 
 dconf write/org/gnome/desktop/remote- access/authentication-methods“['vnc']”
 dconf write/org/gnome/desktop/remote-access/require-encryption false 
 dconf write/org/gnome/desktop/remote- access/vnc-password \“\'$(echo -n $ password | base64)\'\”
 dconf dump /org/gnome/desktop/remote-access/
Sudo service lightdm restart 

引用对于任何字符串设置(引号内的单个刻度)都很重要。要使dconf能够写入,它需要访问XWindows,这就是为什么需要导出DISPLAY部分的原因。我认为你仍然需要登录到实际的Ubuntu机器上的桌面以便在此之后与VNC连接。 dump命令就是为了确认所有设置都已成立,你真的不需要它。

如果您希望始终保持显示,可以选择执行此操作:

 dconf write/org/gnome/desktop/screensaver/lock-enabled false 
 dconf write/org/gnome/desktop/screensaver/ubuntu-lock-on-suspend false 
 dconf write/org/gnome/desktop/session/idle-delay“uint32 0”
4
Integrator

对于使用Linux Mint 15的任何人,我通过执行以下操作将这一切都用于我的MintBox2。我现在可以完全无头地运行MintBox 2:ssh + vino + Tight VNC。

通过ssh连接到LinuxMint MintBox2机器输入PuTTY:

Sudo su
[enter your root password]
echo $DISPLAY
export DISPLAY=:0.0
startx &   }This loads up LinuxMint on screen as "root" user
[press the return key again to get back to BASH Prompt]

现在,如果你喜欢(这不是必需的话)在LinuxMint终端上(即不在PuTTY上)输入:

echo $DISPLAY

=> 得到输出:1 [即这让我很难弄明白,这不是0:0 !!!!!!!!!!]

现在,返回PuTTY并输入:

echo $DISPLAY
export DISPLAY=:1
/usr/lib/vino/vino-server

=>现在加载&你可以使用窗口7紧VNC查看器来访问Linux Mint等

我希望这有助于那里的一些......

1
CMP

在18.04升级之后我和xubuntu有同样的问题。首先安装vino。矿山在升级时被删除,没有任何通知。即使在安装vino之后,命令vino-preferences也不起作用。

这是一个简单的解决方法:

  • 安装dconf-editor

    Sudo apt install dconf-editor 
    
  • 然后打开它并转到/org/gnome/desktop/remote访问和turn off encryption

您还可以在dconf-editor中设置其他几个远程选项。但是,在安装vino之前,远程访问不会显示在dconf-editor中。

我希望有人可以解释发生偏好的情况。

1
Carol McAnulty