扩展屏实战

普通屏幕

连根线就行, 跳过

如何将手机/平板/其它电脑作为扩展屏幕

一些可行的方案

如果只是为了演示屏幕,方案很多, 使用各种远程工具啥的都可以如anydesk, 向日葵等.

如果是扩展, 那必须要是要支持部分内容到扩展屏幕

可以配置活动窗口如deskreen

采用vnc的工具如 VirtScreen

前提

基于Intel集显中的Virtualheads功能, 目前笔记本也是集显,没试其他方案

这里也是采用vnc技术来搞, 如果是用现成的推荐virtscreen

扩展屏在

环境

archlinux(主) + i3wm桌面管理器

android(扩展) 小米平板

xrandr设置屏幕扩展

将笔记本屏幕扩展到android平板上, 并且采用分屏方式

查看现有配置

~: xrandr

Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 310mm x 170mm
   1920x1080     60.02*+  59.93  
   1680x1050     59.88  
   1400x1050     59.98  
   1600x900      60.00    59.95    59.82  
DP1 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)

该命令显示了电脑当前的显示状态,Screen 0
是当前正在显示的屏幕的分辨率参数,eDP1是笔记本内置显示屏当前的分辨率参数,下面的一堆数字是该显示屏所支持的分辨率及刷新率,最底下的三行分别是
HDMI 接口输出及虚拟输出,如果没有连接则会显示disconnect

增加虚拟屏幕

  1. 使用cvt命令获取所需分辨率的相应配置信息,
    如我想让扩展屏幕分辨率为1920x1080

    ~: cvt 1920 1080

    # 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
    Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
    

    其中第二行 Modeline 后面的内容 是接下来需要的

  2. 产生新的分辨率模式 xrandr --newmode

    ~: xrandr --newmode
    上述Modelline后边部分,或者直接使用下面命令一步到位

    ~: xrandr --newmode `cvt 1920 1080|tail -n1 |sed ‘s/Modeline
    //’ |sed ‘s/"//g’`

    此时通过查看xrandr, 多出了Virtual1部分,

    Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
    eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 310mm x 170mm
       1920x1080     60.02*+  59.93  
       1680x1050     59.88  
       1400x1050     59.98  
    DP1 disconnected (normal left inverted right x axis y axis)
    DP2 disconnected (normal left inverted right x axis y axis)
    HDMI1 disconnected (normal left inverted right x axis y axis)
    HDMI2 disconnected (normal left inverted right x axis y axis)
    VIRTUAL1 disconnected (normal left inverted right x axis y axis)
      1920x1080_60.00 (0x20a) 173.000MHz -HSync +VSync
            h: width  1920 start 2048 end 2248 total 2576 skew    0 clock  67.16KHz
            v: height 1080 start 1083 end 1088 total 1120           clock  59.96Hz
    
  3. 启用新的显示器

    ~: xrandr --addmode VIRTUAL1 “1920x1080_60.00”
    注意VIRTUAL1变成了connected

    VIRTUAL1 connected (normal left inverted right x axis y axis)
      1920x1080_60.00  59.96  
    

    xrandr --output VIRTUAL1 --right-of eDP1 --auto eDP1为主屏幕,
    扩展屏幕在右边,所以使用right-of,
    该命令最好执行两次,否则可能不生效

  4. 关闭扩展屏设置

    ~: xrandr --output VIRTUAL1 --off

X11vnc

启动x11vnc server服务并设置扩展屏

x11vnc -rfbport 5900 -clip 1920x1080+1920+0 -wait 1 --defer 1 -nowf -sb
0

x11vnc -rfbport 5900 -clip xinerama1 -wait 1 --defer 1 -nowf -sb 0

-rfbport:指定了连接所用的端口,默认为5900也可以自行设置。
-clip:该命令设置x11vnc映射屏幕的范围,可以使用-clip WxH+X+Y来手动设置映射范围,也可以使用-clip xinerama0来自动映射显示器,其中xinerama0为屏幕设置中从左往右数第一个显示器,以此类推xinerama1为第二个,如果你的主屏幕在左边虚拟屏幕在右边,那如果设置为xinerama0就会将主屏幕的显示内容复制到虚拟屏幕上,也就是两个屏幕的内容一样了,这时就应该设置为xinerama1。
-wait:是两次屏幕抓取的时间间隔,默认为 20 ms 效果比较卡顿,设置为 1 的话会尽可能降低抓取时间减少延迟。
-defer:向vnc客户端发送更新的间隔,默认也为 20 ms,设置为 1 可以尽可能提高发送频率(但对网速的要求就高了)。
-nowf:在移动窗口到虚拟屏幕时显示内容,否则会显示为一个框。
-sb:设置休眠时间,默认为 60s 也就是如果屏幕 60s 内没有活动的话就停止数据传送,这样会导致有时鼠标从主屏移动到虚拟屏幕时会卡顿,设置为 0 后就不会休眠了

客户端连接工具

安卓下可以使用bvnc

默认配置地址如192.168.1.xx:5900即可

adb工具(usb连接才需要)

打开手机的开发者模式, 并且选择usb调试

电脑端安装adb工具

使用adb reverse tcp:5900 tcp:5900 创建代理

扩展端配置host地址为127.0.0.1:5900即可

参考

https://blog.csdn.net/u010750137/article/details/104277527

测试

将活动程序移动到扩展屏

Win+Shift+Right

光标定位扩展屏

Win+Right 注意观察鼠标光标

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值