将windows的显示器作为linux的扩展屏

news2024/10/7 4:34:21

这里写自定义目录标题

  • 前言
  • Win
  • Linux
    • Requirements
    • Build and install
    • 运行

前言

  • 测试的linux系统为ubuntu 18.04
  • 测试的windows系统为win10
  • 将windows的显示器作为linux的扩展屏,需要使用微软的Miracast技术。windows自带就不多说了,linux使用的是这个开源软件albfan/miraclecast
  • 操作分成两个部分,在linux和windows上都要进行配置

Win

  • 打开蓝牙,连接WiFi
  • 进入设置,找到系统=>投影到此电脑
  • 如果其中的选项都是灰色无法设置,可能是没有安装相应的功能,则在设置中搜索可选功能,然后找到“无线显示器”安装即可
  • 若选项可以设置,则根据自己的需求设置
  • 然后打开软件“连接”(可以直接在菜单栏中搜索)

Linux

强烈建议参考官方README设置,下面的方法仅仅是做个记录,操作默认使用root权限

Requirements

  • 首先下载代码

    git clone --depth=1 https://github.com/albfan/miraclecast.git
    
  • systemd: 要求版本>=221,查看方式如下

    dpkg -l|grep systemd
    

    在这里插入图片描述

  • glib: A utility library. Used by the current DHCP implementation. Will be removed once sd-dns gains DHCP-server capabilities. required: ~=glib2-2.38 (might work with older releases, untested…)

  • gstreamer: 运行源码中的res/test-viewer.sh,如果没有安装完全的话会提示类似
    在这里插入图片描述

    Try to install “gst-plugins-bad, gst-plugins-base, gst-plugins-base-libs, gst-plugins-good, gst-plugins-ugly, gst-libav, gstreamer”
    

    但是直接用apt search这些包名可能是找不到的(可能是我用的ubuntu18.04太老了),于是我一个个分开检索没有安装的包

    apt search gst | grep gst | grep plugin | grep -v installed | grep base
    apt search gst | grep gst | grep plugin | grep -v installed | grep bad
    apt search gst | grep gst | grep plugin | grep -v installed | grep good
    apt search gst | grep gst | grep plugin | grep -v installed | grep ugly
    apt search gst | grep gst | grep libav | grep -v installed
    

    根据上述命令的输出来选择需要安装的包,最终我安装了如下

    apt install libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav
    

    注意:dbg结尾的不要安装

    然后再次运行源码中的res/test-viewer.sh,全都pass则成功,否则再次检查有啥没有安装

  • wpa_supplicant: MiracleCast spawns wpa_supplicant with a custom config.

    apt install wpasupplicant
    
  • 检查无线网卡是否支持P2P:进入源码中的res文件夹,运行test-hardware-capabilities.sh
    在这里插入图片描述

  • (可选)check: 作者测试的版本是0.9.11

    apt install check
    

Build and install

参考官方文档

  • 安装依赖,ubuntu18.04的如下

    apt install cmake libglib2.0-dev libudev-dev libsystemd-dev libreadline-dev check libtool autoconf
    
  • 然后我选择使用cmake进行build

    mkdir build
    cd build
    cmake -DCMAKE_INSTALL_PREFIX=/usr .. 
    make -j6
    make install
    

    如果报如下错误
    在这里插入图片描述
    则根据issue,在源码的src/shared/CMakeLists.txt后面加上一行target_link_libraries(miracle-shared m)

运行

关于sink和peer,作者在这个issue中有解释:
“in miracast protocol your device can act as source (share a video stream (normally from its screen)) or as sink( receives and shows a video streaming). Both are peers for miracast”

  1. shutdown wpa_supplicant and NetworkManager

    systemctl stop NetworkManager.service
    systemctl stop wpa_supplicant.service 
    
  2. launch wifi control

    miracle-wifictl
    
  3. Enable visibility for other devices

  4. Locate them using scanning

    p2p-scan
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/30318.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MATLAB绘图合集:填充二维等高线图contourf

本文主要介绍填充的二维等高线图和基本的用法例子 目录 说明 例子 绘制10个层级的等高线 显示具有标签的特定层级的等高线图 自定义等高线线宽 说明 contourf(Z) 创建一个包含矩阵 Z 的等值线的填充等高线图,其中 Z 包含 x-y 平面上的高度值。MATLAB会自动选择…

【第六部分 | JavaScript高级】3:正则表达式

目录 【第三章】正则表达式(重点) | 概述 | 创建正则表达式 | 测试某个字符串是否符合正则 | 正则符号 什么是正则符号? 1.1.边界符 ^ $ 1.2.连字符 - 2.1.字符类—方括号符 [] 2.2.字符类—方括号符内 范围符 - (易错&a…

nacos服务注册源码过程阅读

准备部分 这是在真正调用注册实例的方法之前,需要使用到的对象的关系图。 源码跟踪 NacosServiceRegistryAutoConfiguration类 Configuration(proxyBeanMethods false) EnableConfigurationProperties ConditionalOnNacosDiscoveryEnabled ConditionalOnPropert…

C语言学习之路(基础篇)—— 内存管理

说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 作用域 C语言变量的作用域分为: 代码块作用域(代码块是{}之间的一段代码)函数作用域文件作用域 1) 局部变量 生命周期:…

Python 基础(一):初识 Python

文章目录Python是什么解释型语言Python 之父Python 名字的由来Python 的应用领域人生苦短,我用 Python大家好,我是水滴~~ 本文对 Python 做了一个初步的介绍,并了解 Python 的作者、名字由来、应用领域等。 Python是什么 Python 是一种面向…

什么是软件测试?

什么是软件测试? 软件测试的定义:在一定条件下对软件进行操作,发现软件的问题,提高软件的质量。 软件测试在开发中的有着重要地位。软件测试在各阶段的完成相应的任务,需求测试,架构测试,详细测…

C语言条件运算符——三元表达式例题(素材来自C技能树)

📑三目运算符 三目运算符也叫条件运算符、三元运算符,是由一个问号和一个冒号组成。语法:表达式1?表达式2:表达式3;语义:先执行表达式1,如果表达式1的结果如果为真,那么执行表达式2,并且这个整…

level2接口有什么用?是如何获取A股行情数据的?

目前国内有很多数据团队专门为金融机构、学术团体和量化研究者们提供的本地量化金融数据服务,那么最常见的就是通达信、同花顺等团队,他们开发出来的level2接口可快速查看和计算金融数据,无障碍解决本地、Web、金融终端调用数据的需求。为了满…

彻底解决 K8s 节点本地存储被撑爆的问题

一、存储的内容 要解决存储使用过多的问题,就得先了解存储中都保存了些什么内容,否则解决不了问题,还可能带来更多的风险。 1.1、镜像 容器要在节点上运行,kubelet 首先要拉取容器镜像到节点本地,然后再根据镜像创建…

3分钟读懂RD与RT

Route-Distinguisher(后简称"RD"),Route-Target(后简称"RT")经常出现在EVPN、MPLS VPN中,但它们是完全不同的两个概念,初学者往往难以区分两者的差异。学霸题:区…

Jmeter入门

性能测试:模拟多个用户的操作对服务器硬件性能的影响 TPS:Transaction per Second,每秒事务处理能力 RT:Response Time,响应时间 安装 由于本人只有window系统,故只讲解win下的安装 安装JDK 下载地址&a…

2023年最热门的网络安全岗位分析

大数据、人工智能、云计算、物联网、5G等新兴技术的高速发展,蒸蒸日上。但是随之也出现了许多问题,比如:政府单位、企业、个人信息泄露,网络安全问题日益严峻,网络空间安全建设刻不容缓。 网络安全人才需求量巨大&…

双核驱动,合力共进,郁锦香与凯里亚德酒店强强联合释放多元化商业价值

近日,以“清风雅茗 亨嘉之会”为主题的2022锦江酒店(中国区)厦门站品牌投资品鉴会圆满落幕,众多投资人和酒店品牌方负责人齐聚一堂,在充满文艺气息的滨海城市厦门,感受精致、愉悦的慢生活。在品牌见面环节&…

NodeJs实战-Express构建照片存储网站(1)-ejs视图引擎填充数据

ejs视图引擎填充数据express 生成项目安装 express-generator生成项目程序结构理解项目结构生成的文件的含义视图渲染填充照片数据增加路由器修改 app.js修改 routes增加对应的视图页面路由器 res.render 查找视图逻辑新增文件之后的项目结构图效果图项目地址express 生成项目 …

kali Linux常用快捷键及vim的基本使用

kali Linux 系统快捷键 Ctrl Alt T :打开一个新的命令行终端。 如果是在桌面打开的是这种情况 Ctrl C 复制。 Ctrl Z 撤消。 Ctrl S :保存 Ctrl Q :退出。 终端快捷键 TAB :补全命令。 Ctrl :放大文字…

Netty系列(一):Springboot整合Netty,自定义协议实现

Netty是由JBOSS提供的一个java开源框架,现为 Github上的独立项目。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 也就是说,Netty 是一个基于NIO的客户、服务器端的编程框架&…

目标检测论文解读复现之十六:基于改进YOLOv5的小目标检测算法

前言 此前出了目标改进算法专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读最新目标检测算法论文&#xff0c…

Java项目使用intellij-IDEA查看依赖包版本是否有冲突(方法及工具)

编译器及版本idea-ultimate依赖管理工具maven 第一个是idea本身的 Step1:点击右侧的maven Step2:右键依赖项,点击分析依赖关系 Step3:可以在模块名位置进行切换,左侧三角的标志则表示该包引入了多个版本&#xff…

【云原生】Docker网络原理及Cgroup硬件资源占用控制

内容预知 1.dockers的网络模式 获取容器的进程号 docker网络模式的特性 1.1 host主机模式 1.2 container模式 1.3 none模式 1.4 bridge 桥接模式 1.5 容器的自定义网络 (1)未创建自定义网络时,创建指定IP容器的测试 (2&a…

双坐标轴柱状图

双坐标轴柱状图 setwd(“H:/分析评价 20220531/6-分析过程”) #设置工作路径 library(xlsx)#加载excel文件包 #---------------------------------------------------------------------------------------------------------- tiff(file“1-占比.tiff”,res600,width6000,hei…