0

我正在远程工作,不得不重新启动。我可以启动一个 vnc 会话并登录。但是由于某种原因,我尝试使用的程序在我尝试启动它时会出现 GLX 错误。(我正在使用 xfce4)。

我过去通过在我的显示器中使用 x11vnc 会话来规避这个问题:0。为此,我打开一个常规的 vnc 会话,然后在终端中输入

x11vnc --display :0 --forever

然后我关闭 vnc 会话,并登录到 x11vnc 会话。

但这现在不起作用,因为由于我不得不重新启动,我认为我并没有真正运行 display :0 因为我没有登录到现场的桌面会话。

问题是:有什么方法可以有效地远程登录桌面会话,所以就好像我已经在现场登录了我的计算机,然后可以使用我上面描述的 x11vnc。

(警告:我不是所有这些事情的专家,所以我可能使用了一些不正确的术语。但我认为问题很清楚)。

谢谢!

============== 添加================

也许澄清如下。我可以欺骗计算机认为我就坐在它前面吗?我可以远程启动会话,这样当我下次坐在电脑前时,它会显示我已经登录吗?我确信这会解决我的问题。VNCing 的其他组合似乎都不起作用。

============== 更多 ======================

我刚刚(远程)重新启动,ssh'd,然后输入

x11vnc --display :0

这就是我得到的

** If NO ONE is logged into an X session yet, but there is a greeter login
   program like "gdm", "kdm", "xdm", or "dtlogin" running, you will need
   to find and use the raw display manager MIT-MAGIC-COOKIE file.
   Some examples for various display managers:

     gdm:     -auth /var/gdm/:0.Xauth
              -auth /var/lib/gdm/:0.Xauth
     kdm:     -auth /var/lib/kdm/A:0-crWk72
              -auth /var/run/xauth/A:0-crWk72
     xdm:     -auth /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
     dtlogin: -auth /var/dt/A:0-UgaaXa

但这些选项都没有奏效。我还尝试了其他建议,例如使用-auth guess.

4

2 回答 2

3

Display :0 一直在运行,假设您有一个 X 会话正在运行并且您的计算机已经启动。该命令x11vnc --display :0 --forever 在您的机器上打开一个 VNC 侦听端口,您可以使用 VNC 客户端连接到该端口。

如果您使用 SSH(远程 shell),则运行 x11vnc 命令的初始 vnc 连接并不是真正需要的。如果您安装 SSHD 并通过连接,ssh username@hostname您可以从那里运行命令x11vnc --display :0 --forever,从而无需初始 VNC 连接。

如果您没有运行 sshd,除非正在运行某种屏幕共享,否则您可能会不走运。要查看是否有任何方法可以远程访问您的计算机,请使用NMAP运行端口扫描。

于 2012-11-09T03:14:56.607 回答
0

使用tightvncserver. 如果你有apt,你可以跑去sudo apt-get install tightvncserver获取它。

要运行服务器:tightvncserver,它将提示输入用于验证 VNC 连接的密码。

您应该会看到一条消息New 'X' desktop is HOSTNAME:1。您现在有两个 X 显示器正在运行。您可以在端口 5901 上连接到 VNC 服务器,因为tightvncserver 默认从端口 5900 递增。

第二个 X 显示 (:1) 与显示 :0 是分开的,因此对于站在远程计算机旁的人来说,他们只会看到登录屏幕。这将持续到下一次重新启动,尽管有一些方法可以在启动时执行此命令。

请记住,虽然tightvncserver 会提示输入密码,并将使用该密码进行身份验证,但已知VNC 存在漏洞。因此,如果您的计算机的安全性是一个问题,那么通过 ssh 和防火墙端口 5901 从除localhost.

于 2012-11-16T01:59:44.520 回答