如何将 Android 平板电脑用作第二台显示器?

如何将 Android 平板电脑用作第二台显示器?

我注意到有人使用一款适用于 Windows 和 Mac 的产品,叫做显示器它可让您将 Android 或 iPad 用作辅助显示器。这似乎是个好主意,可以在 Ubuntu 上实现。不幸的是,我不知道如何开始。

如何在 Ubuntu 上重新创建此设置?

答案1

以下是如何使用 Android 作为第二台显示器,共享鼠标,在平板电脑和计算机屏幕之间拖动窗口

本教程的原始来源可以在这里找到这里

A. 教程

步骤 1. 创建新的虚拟监视器

我的平板电脑的分辨率是 1280x1024。(如果您的平板电脑的分辨率不同,您可以在命令中的任何位置更改。如果默认显示器的名称不同,您可能还需要更改1280)。1024LVDS1

在终端中运行:

  1. $ gtf 1280 1024 60

    输出中有一行类似于Modeline "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync。将单词后面的所有内容Modeline(排除它)复制到下一个命令中。

  2. xrandr --newmode "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync

    (请注意,在下一步中,您可能还需要将 VIRTUAL1 更改为在 xrandr 输出中找到的新模式的输出)

  3. xrandr --addmode VIRTUAL1 1280x1024_60.00

  4. xrandr --output VIRTUAL1 --mode 1280x1024_60.00 --left-of LVDS1

第 2 步:为虚拟显示器启用远程桌面

启动 VNC:

  1. x11vnc -clip 1280x1024+0+0

步骤 3. 连接到远程桌面

  1. 将平板电脑与电脑连接到同一个本地网络。要么连接到同一个 Wi-Fi,要么用一台设备创建热点,然后连接另一台设备(USB 网络共享)。

  2. ifconfig使用(从 LAN 连接时)查找您的计算机的 IP 。

  3. 5900将 VNC 应用程序下载到平板电脑,然后使用应用程序中的计算机 IP(并选择端口)连接到计算机。

通告

  • 致谢:基扬斯,内容已编辑。
  • 警告:数据未加密!(与 Wi-Fi 和非 LAN 使用相关)
  • 警告:您所连接的所有网络的设备都可能到达端口 5900,从而连接到您的显示器!路由器后面通常会限制它只能在您的本地网络内访问(如果您使用 USB 连接,则可以使用选项-listen <IP_ADDR>x11vncUSB<IP_ADDR>网络接口在哪里)完全阻止本地网络)。
  • 运行1 - 4步骤中的任意一步两次都可能会输出错误。
  • 成功使用后,必须重复第 5 步以进行另一次连接。

B. 脚本

本教程以脚本形式实现(更改 IP 以使用 USB 电缆,或者删除它并取消注释用于 Wi-Fi 的行)。

#!/bin/bash
W=1280
H=800
O=VIRTUAL1
if [ "$1" == "create" ]; then
  gtf $W $H 60 | sed '3q;d' | sed 's/Modeline//g' | xargs xrandr --newmode
  # sed: get third line, delete 'Modeline', get first word, remove first and last characters
  gtf $W $H 60 | sed '3q;d' | sed 's/Modeline//g' | awk '{print $1;}' | sed 's/^.\(.*\).$/\1/' | xargs xrandr --addmode $O
  gtf $W $H 60 | sed '3q;d' | sed 's/Modeline//g' | awk '{print $1;}' | sed 's/^.\(.*\).$/\1/' | xargs xrandr --output $O --left-of LVDS1 --mode
elif [ "$1" == "on" ]; then
  x11vnc -listen 192.168.42.149 -clip ${W}x${H}+0+0
  # For use in Wi-Fi LAN.
  #x11vnc -clip ${W}x${H}+0+0 #**WARNING** Unencrypted stream. VNC accessible without password through port 5900 in all internet interfaces.
else
  echo "missing argument: [create | on]"
fi

答案2

获取适用于 Android 的 VNC 客户端,在您的计算机上启动一个新的 VNC 服务器会话(不要只共享当前显示 - 使用 vnc4server 而不是 x11vnc),从 Android VNC 客户端连接到它,并且(聪明的是)使用协同作用在两个会话之间共享 PC 键盘和鼠标。

所有必要的软件都可以在 Ubuntu 的标准存储库中找到,并且市场上有一些适用于 Android 的免费 VNC 客户端。

使用此方法,您将无法在显示器之间拖动窗口。为此,我认为您需要使用 Xdmx 来绑定两个会话。这要困难得多,可能会导致您失去 3D 加速。

还请注意,synergy 和 vnc 默认不使用加密,因此如果您不在受信任的网络上,则需要建立隧道连接。

答案3

tl ; dr:xrandr --fb一起x11vnc --clip组成一个杀手组合。
更多 X11vnc 选项:-find,,...-clip-display-opts

链接至承认有一个非常有趣的想法,不确定他是否指的是这个,因为我找不到他所指出的作者,也因为我跟进了那里的论坛帖子,所以我将单独发布这个而不是作为编辑:

  1. 首先,我们假设:主机的屏幕分辨率为 1280x800,您想要通过 VNC 扩展桌面的辅助机器的屏幕分辨率为 1280x1024,并且您希望扩展屏幕位于主屏幕的右侧。
    虚拟屏幕需要为1280x800 + 1280x1024 = 2560x1024。(水平扩展,使垂直分辨率取两者中较大的一个)因此运行xrandr --fb 2560x1024

  2. 现在屏幕比主显示器大,您必须确保没有激活平移或任何其他不需要的“功能”,并且主显示器左上角的坐标为 0x0。

  3. x11vnc -clip 1280x1024+1281+0加上任何其他 x11vnc 选项以供选择:)

就這樣吧。

答案4

只是想补充一下,如果您希望您的 Android 设备和计算机之间有更好的连接,您可以使用 USB:

确保已启用 USB 调试(https://developer.android.com/studio/debug/dev-options

然后通过安装 adbsudo apt-get install android-tools-adb

然后,如果您的 VNC 服务器正在计算机的 5900 端口上运行,请使用 adb :

adb 反向 tcp:5900 tcp:5900

这样,你的电脑 5900 端口也将可以通过你的 Android 设备访问,localhost:5900因此配置你的 Android VNC 客户端来连接,localhost:5900而不是your-computer-IP-addres:5900

相关内容