非常感谢您的帮助!
我有 20 多年的编程经验,但我不是真正的 Linux 专家。我正在尝试使用 vino-server(Ubuntu 默认设置)从 Ubuntu(16.04)远程桌面到 Lubuntu(16.04)。
远程服务器位于 Google 计算引擎上。我可以成功通过 SSH 进入远程机器。
在过去 10 天里,我花了大约 60 个小时(工作之余)尝试实现这一点;但是,我没有成功,而且这是我第一次接触论坛。我尝试了非常多的排列组合(但没有成功),以至于我不知道从哪里开始。
我尝试过ssh (-X, -Y, -L)
、xhost +
、export DISPLAY
等多种变体。我最多可以通过远程控制,remmina
但奇怪的是它显示了我的客户端桌面。也许有人可以向我指出一个解决方案,明确说明远程启动 Lubuntu 所需的命令行步骤(适用于 16.04)。
我使用 Remmina/VNC 作为客户端。如果我按照建议的步骤操作但对我而言不起作用,那么我会用特定的命令行输出进行响应。
感谢您花时间帮助我解决此问题。我通常不会放弃,但在这种情况下,我需要那些更明智的 Linux 社区的帮助。
答案1
如果有帮助的话:
我放弃尝试使用 vino,并通过以下解决方案解决。在这种情况下,我在 (google compute engine) 服务器上安装了 Ubuntu 16.10。我连接的客户端计算机安装了标准的 Ubuntu 16.04 桌面。
从我的客户端机器:
ssh myusername@myserverIPaddress
在远程服务器上:
sudo apt-get update
sudo apt-get install lubuntu-desktop
sudo apt-get install vnc4server
vncserver :0
vncserver -kill :0
然后我将“~/.vnc/xstartup”的内容修改为:
#!/bin/sh
xrdb $HOME/.Xresources
/etc/X11/Xsession
autocutsel -fork
/usr/bin/lxsession -s Lubuntu -e LXDE &
然后我重新启动了 vncserver(更改显示以适合我的屏幕):
vncserver -geometry 1920x1200 -depth 24 :0
然后从我的客户端机器(使用 Remmina 桌面客户端)我配置了:
在“基本”选项卡上,我设置了:协议 = VNC、服务器 = myserverIPaddress:5900、用户名 = myusername。在“ssh”上,我通过端口 22 启用了 ssh 隧道,并将“身份文件”指向“~/.ssh”文件夹中的私钥文件。
我保存了 Remmina 条目,然后双击 Remmina 桌面客户端窗口中的条目,输入 ssh 密码(弹出窗口)后,输入提示的 vnc 密码,我连接到远程服务器上的 Lubuntu。我应该提到,当您运行上面的“vncserver :0”(第一次)时,它会提示您输入 vnc 密码。
答案2
vino
要回答有关和 的问题remmina
,有一个问题vino
:
Vino 会在服务器系统(即您的远程服务器)上询问您是否确实要共享您的屏幕。您必须单击该按钮...
是的,确实如此!
所以这样做是行不通的。
首先,使用 ssh 登录:
ssh remote-box
然后你就可以vino
像这样开始:
systemctl --user start vino
如果您没有自动登录,您将需要进行一些更改才能使其正常工作,因为我认为vino
除非您登录,否则它无法工作。
此时,您可以连接,remmina
假设您没有防火墙阻止端口 5900。启动remmina
,输入您的远程计算机 IP 地址(或域名,如果有),并确保选择 VNC。然后它将连接。但是,此时屏幕是黑的...因为您没有授权连接。
因此,要授权,您首先要停止服务器:
systemctl --user stop vino
然后更改提示设置:
$ gsettings get org.gnome.Vino prompt-enabled
true
$ gsettings set org.gnome.Vino prompt-enabled false
$ gsettings get org.gnome.Vino prompt-enabled
false
现在重新启动vino
服务器并尝试连接remmina
。这次它将向您显示桌面。
警告:我不太清楚,但看起来连接上的数据是安全的(加密的),但端口会接受任何人——无需登录/密码。因此,除非您有静态 IP 地址并且只允许该 IP 连接到防火墙中的 5900,否则不建议以这种方式关闭提示。