搭建跨平台VNC系统

搭建跨平台VNC系统

我的意图是:我有一个运行 Windows 10 的主系统。我有两个运行 Mint 18.2 的 GUI 系统,我希望连接到 Windows 系统并从 Windows 系统进行控制。所有三个系统都通过以太网连接到同一路由器。尚未进行任何路由器配置,因此一切都应采用默认设置。

我目前使用 TeamViewer 进行连接,但这是通过互联网连接而不是 LAN 连接完成的。我始终无法让 LAN 与 TeamViewer 一起工作。无论如何,我想放弃 TeamViewer 并使用替代方案。

这就是我当前正在尝试的:我在 Windows 计算机上安装了 TightVNC,在 Mint 系统上安装了ightvncserver。当我在 Windows 上打开 TightVNCViewer 时,系统会要求我提供远程主机信息,在 Mint 系统中为 192.168.1.25 和 192.168.1.2。与此连接会导致以下错误:

TightVNC Viewer 中出现错误:无法建立连接,因为目标计算机主动拒绝连接。

如果我将地址分别更改为 192.168.1.25:1 和 192.168.1.2:1(因为 Mint 系统说新的“X”桌面是机器名:1),系统会要求我输入我设置的密码。我输入这个,然后我只看到一个带有 X 光标的灰色屏幕。到目前为止我似乎还无法与系统进行交互。 Mint 中的光标不会与 Windows VNC 窗口中的我的一起移动,也不会对 ctrl+alt+F7 或这些控件的任何变体有任何响应。 :1 似乎是一个奇怪的添加,因为我认为它应该是端口号。

据我所知,如果它接受密码,那么这一定意味着我已经能够以某种方式从 Windows 访问 Mint 系统。这似乎表明我需要在 Mint 系统的末端做一些更多的工作,然后事情才能按预期运行。

也就是说,有人提到ightvnc 不是我应该寻找的解决方案。如果不是,那是什么?

另外,我不知道这是否有什么不同,但 Mint 系统不能在连接显示器的情况下运行。如果启动后连接了显示器,即使一切仍在运行,我也看不到桌面(假设满载热量输出是可以的),所以我需要在已连接的显示器上重新启动。听说这与 X 和 nvidia 驱动程序或其他东西有关,但我想如果我在没有显示器的情况下尝试连接,它可能会影响 vnc 使用。

答案1

基于 Ubuntu 16+ 的系统上的无头 RDP(远程桌面协议)服务器。

软件:

安装 Mint 18 并更新它。

安装 ssh 服务器让生活变得更轻松:apt-get install openssh-server

自定义编译XRDPxorgxrdp因为 Mint 存储库不包含或没有我们需要的配置。

通过安装设置 Mint 进行编译构建环境

sudo apt-get install build-essential

sudo apt-get install git autoconf libtool pkg-config gcc g++ make  libssl-dev libpam0g-dev libjpeg-dev libx11-dev libxfixes-dev libxrandr-dev  flex bison libxml2-dev intltool xsltproc xutils-dev python-libxml2 g++ xutils libfuse-dev libmp3lame-dev nasm libpixman-1-dev xserver-xorg-dev

注意:我认为 Ubuntu 16+ 还需要 1 个依赖项。我在笔记中没有看到它,但当你“制作”时你很快就会知道。

找到了:

sudo apt-get install libxfont1-dev

注意:xorgxrdp 需要 xrdp 的头文件。所以最好先编译并安装xrdp。

获取 xrdp 和 xorgxrdp 并将其提取到诸如/opt.可能需要在这里调整权限。形式不好但有效:sudo -R chmod 777 /opt

运行以下 cli 命令:

XRDP

cd /opt/xrdp-0.9.1

./bootstrap

./configure --enable-fuse --enable-mp3lame --enable-painter

笔记:

  • --enable-painter 用于 Win10 rdp 客户端连接。
  • --enable-fuse 用于驱动器重定向和剪贴板
  • --enable-mp3lame 构建 lame mp3(音频编解码器)

make

sudo make install

sudo ln -s /usr/local/sbin/xrdp{,-sesman} /usr/sbin

xorgxrdp

cd /opt/xorgxrdp-devel

./bootstrap

./configure

make

sudo make install

将 xrdp 和 xorgxrdp 设为“服务”,以便它在启动时启动。

版本 < Ubuntu 14

/etc/init.d/xrdp(从安装开始。使其在启动时启动)

sudo update-rc.d xrdp defaults-- 在 rc.x 目录中创建链接

sudo update-rc.d xrdp enable——现在就开始吧。

版本 > Ubuntu 14 (Mint 18)

sudo systemctl enable xrdp

sudo service xrdp start

sudo systemctl status xrdp

sudo systemctl start xrdp

配置文件(部分)

/etc/xrdp/sesman.ini

/etc/xrdp/xrdp.ini

/etc/xrdp/startwm.sh

/etc/xrdp/xrdp.ini这是我们将使用的设置:

[Xorg]
name=Xorg
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
code=20

请记住使用其他或多个桌面,可能需要对这些文件以及其他文件进行调整。看这里对此有一点帮助。使用肉桂桌面无需更改。

要让你的 Mint 18.x 盒子启动到命令行,它毕竟是一个无头系统。

启动到命令行

sudo nano /etc/default/grub

注释掉GRUB_CMDLINE_LINUX_DEFAULT=并添加“文本”,GRUB_CMDLINE_LINUX如下所示:

#GRUB_CMDLINE_LINUX_DEFAULT=""

GRUB_CMDLINE_LINUX="text"

sudo update-grub

sudo systemctl set-default multi-user.target

从命令行启动 GUI:

startx

要撤消更改:

sudo systemctl set-default graphical.target

相关内容