Answers:
这可以通过vino vnc服务器和remmina来实现(两者都是ubuntu的默认设置;如果没有通过运行进行安装sudo apt-get install remmina
)。然后在终端提示下从本地计算机运行以下命令:
ssh -Y gman@remote
。使用受信任的X11转发,否则它将无法正常工作
vino-preferences
。它将打开vino-preferences。
同时单击configure network automatically to accept connection
。但不要输入任何密码,其密码是base64编码的。然后单击关闭。然后运行:
sudo -s
export DISPLAY=:0.0
xhost +
/usr/lib/vino/vino-server &
它将启动vino服务器。
从服务器注销:
xhost -
Press CTRL+C twice
exit
exit
然后打开remmina。vnc
在协议下选择。
在basic
选项卡下,在server
字段中输入服务器地址。
在ssh选项卡上,单击enable ssh tunnel
。在下ssh authentication
,它可能是password
或public key
:
点击保存。然后双击连接名称(如图所示的家用桌面)开始浏览远程桌面。
x11vnc
是一台简单的VNC服务器,您无需弄乱Gnome设置或500个防火墙,只需将其安装x11vnc
在所有计算机上即可(使用木偶或用于大规模控制的任何工具)。
然后从本地计算机运行:
ssh user@host -L 5900:localhost:5900 "x11vnc -display :0 -noxdamage"
显然交换user@host
了远程计算机的用户名和主机名/ IP。
然后使用您选择的VNC客户端进行连接localhost:5900
。SSH命令在远程计算机上启动vnc服务器,然后通过SSH隧道回退该端口。您不必打开任何端口(只要您可以使用SSH)。
如果您的计算机具有有趣的显示设置,则最好-display :0
在SSH命令中保留该段。x11vnc
然后将自动尝试找到正确的显示。
资料来源:askubuntu
vncviewer localhost::5900 -viewonly -encodings "tight" -quality 0
(在Debian / Ubuntu上,查看器是来自tightvnc)或vncviewer localhost::5900 -viewonly -PreferredEncoding tight QualityLevel=0
(在Red Hat / Fedora上,查看器是来自Tigervnc),其中Debian和Redhat的质量等级均为在0到9之间,其中9最好,但需要快速连接。
vncviewer
缓慢的连接配合使用。我个人而言,可能会QualityLevel=4 or 5
因为0 qualitylevel
(对256 colors
我而言)太呆板而迟疑不决。
-auth guess
root用户身份使用和运行它。非常有帮助,谢谢!
假设您已经OpenSSH Server
在主机上设置了,则必须首先在主机上启用桌面控制。如果您可以首先在本地主机上启用桌面控制,请转到1a。如果必须首先在主机上远程启用桌面控制,请转至1b。
接下来,在客户端计算机上创建远程桌面客户端配置文件,以便通过SSH隧道连接到主机,并最终通过SSH隧道查看和控制主机的桌面。
在主机上执行以下操作:
vino-preferences
vino-preferences
也在Dash下 Desktop Sharing
Allow other users to view your desktop
Allow other users to control your desktop
Require the user to enter this password
在客户端计算机上执行以下操作,替换123.123.12.3
为主机的IP地址:
ssh -Y 123.123.12.3
vino-preferences
vino-preferences
也在Dash下 Desktop Sharing
Allow other users to view your desktop
Allow other users to control your desktop
Require the user to enter this password
在客户端计算机上执行以下操作:
remmina
Remmina Remote Desktop Client
Ctrl+ N或“连接”>“新建”
Server
SSH
标签Enable SSH Tunnel
SSH Authentication
<username>
和模式在客户端计算机上,当询问您<username>
的密码时,输入该密码以创建SSH隧道。当要求输入VNC密码时,输入您先前输入到主机中的密码。
如果在此步骤成功,则现在应该通过SSH隧道从客户端计算机查看和控制主机的桌面。
我可以使用以下脚本从远程ssh连接设置全新的Ubuntu 16.04安装:
#!/ bin / bash 出口DISPLAY =:0 阅读-e -p“ VNC密码:” -i“ ubuntu”密码 dconf写入/ org / gnome / desktop / remote-access / enabled true dconf写入/ org / gnome / desktop / remote-access / prompt-enabled false dconf编写/ org / gnome / desktop / remote-access / authentication-methods“ ['vnc']” dconf写入/ org / gnome / desktop / remote-access / require-encryption false dconf写入/ org / gnome / desktop / remote-access / vnc-password \“ \'$(echo -n $ password | base64)\'\” dconf转储/ org / gnome / desktop / remote-access / sudo service lightdm重新启动
引号对于任何字符串设置(引号内的单个刻度)都很重要。为了使dconf能够写入,需要访问XWindows,因此这就是需要export DISPLAY部分的原因。我认为您在此之后仍然需要登录到实际的Ubuntu计算机上的桌面才能与VNC连接。只有转储命令可以确认所有设置都已生效,您实际上并不需要。
如果您想一直保持显示状态,可以选择执行以下操作:
dconf写入/ org / gnome / desktop / screensaver / lock-enabled false dconf写入/ org / gnome / desktop / screensaver / ubuntu-lock-on-suspend false dconf写入/ org / gnome / desktop / session / idle-delay“ uint32 0”
如何在不转发X的情况下远程启动Vino服务器(仅命令行)
以共享桌面的用户身份登录远程计算机,并将端口5900转发到本地主机上的同一端口。使用PuTTY,可以在Connection / SSH / Tunnels中设置重定向。在命令行中,使用:
ssh -L 5900:localhost:5900 user@remote-computer
安装vino-server
如果尚未安装。例如:
sudo apt install vino
启用桌面共享(与第一行和第二行的显示编号匹配):
echo $DISPLAY
export DISPLAY=:0
dbus-launch --exit-with-session gsettings set org.gnome.Vino enabled true
dbus-launch --exit-with-session gsettings set org.gnome.Vino prompt-enabled false
dbus-launch --exit-with-session gsettings set org.gnome.Vino require-encryption false
/usr/lib/vino/vino-server
启动VNC查看器并连接到localhost
VNC服务器地址。
No protocol specified Failed to connect to Mir: Failed to connect to server socket: No such file or directory Unable to init server: Could not connect: Connection refused Cannot open display: Run 'vino-server --help' to see a full list of available command line options