当前位置: 首页 > 科技观察

将您的Android手机屏幕投射到Linux

时间:2023-03-19 19:01:12 科技观察

使用Scrcpy将您的手机屏幕变成一个“应用程序”,与您的RaspberryPi或任何其他基于Linux的设备上的应用程序一起运行。很难远离我们每天使用的电子产品。在喧嚣的现代生活中,我想确保自己不会错过手机屏幕上弹出的来自朋友和家人的重要信息。我也很忙,不想分心,但拿起电话和回复信息往往会让我分心。更糟糕的是,有很多设备。幸运的是,大多数设备,从功能强大的笔记本电脑到不起眼的RaspberryPi,都可以运行Linux。由于他们运行的是Linux,因此我为一种设置找到的几乎所有解决方案都适用于另一种设置。普遍适用我想要一种方法来统一我生活中的不同数据源,无论我使用的是什么屏幕。我决定通过将我的手机屏幕复制到我的电脑来解决这个问题。从本质上讲,我把我的手机变成了一个与我所有其他程序一起运行的“应用程序”。这有助于我将注意力集中在桌面上,防止我的思绪走神,并使我更容易响应紧急通知。听起来很吸引人?你也可以做到的。设置ScrcpyScrcpy,俗称ScreenCopy,是一个开源的屏幕镜像工具,可以在Linux、Windows或macOS上显示和控制Android设备。Android设备和计算机之间的通信主要是通过USB连接和AndroidDebugBridge(ADB)。它使用TCP/IP,不需要根访问权限。Scrcpy的设置和配置非常简单。如果你运行的是Fedora,你可以从COPR存储库安装它:$sudodnfcoprenablezeno/scrcpy$sudodnfinstallscrcpy-y在Debian或Ubuntu上:$sudoaptinstallscrcpy你也可以自己编译Scrcpy。即使在RaspberryPi上,按照Scrcpy的GitHub主页上的说明构建也不需要很长时间。安装Scrcpy后,您必须启用USB调试并将每个设备(您的RaspberryPi、笔记本电脑或工作站)授权为受信任的控制器。打开安卓设备上的“设置”应用。如果“开发者选项”未激活,请按照Android的说明进行解锁。接下来,启用“USB调试”。启用USB调试选项,然后通过USB将手机连接到您的树莓派或笔记本电脑(或您正在使用的任何设备),并将模式设置为PTP(如果可以)。如果您的手机无法使用PTP,请将手机设置为传输文件(而不是作为网络共享或MIDI设备)。您的手机可能会提示您授权您的计算机,该计算机由其RSA指纹识别。您只需在第一次连接时操作它,之后您的手机就会识别并信任您的计算机。使用lsusb命令确认设置:$lsusbBus007Device001:ID1d6b:0002LinuxFoundation2.0roothubBus011Device004:ID046d:c21dLogitech,Inc.F310GamepadBus005Device005:ID0951:1665KingstonDever00TechnologyBus4DataTravel:ID05e3:0608GenesysLogic,Inc.HubBus004Device001:ID18d1:4ee6GoogleInc.Nexus/PixelDevice(PTP+debug)Bus003Device001:ID1d6b:0002LinuxFoundation2.0roothubbus002Device001:ID1d6b:0003LinuxFoundation3.0roothubBus001Device001:ID1d6b:0002LinuxFoundation2.0roothub然后执行scrcpy以默认设置运行。在RaspberryPi上运行的Scrcpy性能和响应能力取决于您用来控制手机的设备。在RaspberryPi上,某些动画可能会变慢,有时甚至响应滞后。Scrcpy提供了一个简单的解决方案:降低Scrcpy显示的图像的比特率和分辨率,使您的计算机更容易显示动画。使用以下命令来实现:$scrcpy--bit-rate1M--max-size800尝试不同的值来找到适合你的。为了使输入更容易,请考虑在确定命令后创建自己的Bash别名。一旦Srccpy启动并运行,您甚至可以通过WiFi将手机连接到计算机。Scrcpy安装过程还会安装adb,这是一个用于与Android设备通信的命令。Scrcpy还可以使用此命令与您的设备通信,而adb可以通过TCP/IP进行连接。在计算机上运行的Scrcpy要试用它,请确保您的手机通过WiFi连接到与计算机相同的无线网络。仍然不要断开手机与USB的连接!接下来,转到手机中的“设置”并选择“关于手机”以获取手机的IP地址。检查“状态”选项卡以获取您的地址。它通常以192.168或10开头。或者,您也可以使用adb获取手机的IP地址:$adbshelliproute|awk'{print$9}'要通过WiFi连接到您的设备,您必须启用TCP/IP连接。这,你必须通过adb命令来完成:$adbtcpip5555现在你可以断开你的手机与USB的连接。每当您想通过WiFi连接时,请先使用命令adbconnect连接到手机。例如,假设我手机的IP地址是10.1.1.22,命令是:$adbconnect10.1.1.22:5555连接后,您可以照常运行Scrcpy。远程控制Scrcpy很容易使用。您可以在终端或GUI应用程序中尝试。