Python实现用手机监控远程控制电脑

作者:人工智能 来源:数据库 浏览: 【】 发布时间:2025-11-05 11:54:55 评论数:

 

一、实现前言

很多时候,用手我们都有远程控制电脑的机监需求。比如正在下载某样东西,控远需要让电脑在下载完后关机。程控或者你需要监控一个程序的制电运行状况等。

今天我们就来用Python实现一个远程监控并控制电脑的实现小程序。

二、用手实现原理

听起来远程控制电脑好像很高级的机监样子,但是控远实现起来其实非常简单。实现原理如下:

运行程序,程控让程序不停地读取邮件

用手机给电脑发送邮件

判断是制电否读取到指定主题的邮件,如果有,实现则获取邮件内容

根据邮件内容,用手执行预设的机监函数

与其说是学习如何远程控制电脑,还不如说是学习如何读取邮件。当然,上面的的流程只实现了远程控制电脑,企商汇而没实现对电脑的监控。而监控的操作可以以截图的方式来进行。

我们可以预设一个指令,当读取到邮件内容为grab时,我们就发送电脑截图。如何将电脑截图发送给手机邮箱,这样就达到了监控的效果。

关于如何发送邮件可以参考博客:如何用Python发送邮件?。这里就不再详细说了。下面我们看看如何读取邮件。

三、读取邮件

读取邮件需要使用到imbox模块,安装语句如下:

pip install imbox 

读取邮件的代码如下: 

from imbox import Imbox  def read_mail(username, password):      with Imbox(imap.163.com, username, password, ssl=True) as box:          all_msg = box.messages(unread=True)          for uid, message in all_msg:              # 如果是手机端发来的远程控制邮件              if message.subject == Remote Control:                  # 标记为已读                  box.mark_seen(uid)                  return message.body[plain][0] 

首先我们用with语句,打开邮箱。然后通过下面语句获取所有的未读邮件: 

all_msg = box.messages(unread=True) 

获取未读邮件后,对邮件进行遍历。将主题为“Reomte Control”的邮件标记为已读,并返回文本内容。

这里需要注意,因为我们筛选出了主题为“Remote Control”的服务器托管邮件,因此我们在用手机发邮件的时候需要将主题设置为“Remote Control”,这样可以避免其它邮件的干扰。

四、截图

截图需要使用到PIL模块,安装如下: 

pip install pillow 

截图的代码很简单: 

from PIL import ImageGrab  def grab(sender, to):      # 截取电脑全屏      surface = ImageGrab.grab()      # 将截屏保存为surface.jpg      surface.save(surface.jpg)      # 将截屏发送给手机      send_mail(sender, to, [surface.jpg]) 

其中send_mail的代码如下: 

import yagmail  def send_mail(sender, to, contents):      smtp = yagmail.SMTP(user=sender, host=smtp.163.com)      smtp.send(to, subject=Remote Control, contentscontents=contents) 

关于发送邮件的介绍可以参考上面提到的博客。

五、关机

关机的操作非常简单,我们可以用python来执行命令行语句即可。代码如下: 

import os  def shutdown():   # 关机      os.system(shutdown -s -t 0) 

除了关机,我们还可以执行很多操作。对于一些复杂的操作,我们可以预编写一些bat文件,这里就不演示了。

六、完整代码

上面我们编写了各个部分的代码,然后再来看看主体部分的代码: 

def main():   # 电脑用来发送邮件已经电脑读取的邮箱      username = sockwz@163.com      password = 
一、准备工作安装驱动前,需要先关闭图形界面。以下为具体过程:1.这里假设你已经装好了Ubuntu 14.10(14.04也可以,安装过程不再赘述)2.关闭运行的程序,Ctrl+Alt+F1进入tty1模式3.运行复制代码代码如下:sudo stop lightdm,关闭图形界面(X Server)4.新装系统,或者没有尝试过给独显装驱动,跳过本步假如之前有尝试过其他驱动,先卸载使用复制代码代码如下:sudo apt-get --purge remove nvidia来卸载也可以借用官网驱动的卸载功能,尝试复制代码代码如下:sudo sh 346.35.run --uninstall(以346.35.run为例)二、下载安装驱动因为无法直接使用NV官网所提供的346.35.run文件(安装后会黑屏,卸载后才能恢复,甚至有时候卸载后也不能正常使用。),这里添加第三方源,从而使用mamarley所提供的346.35驱动。以下为具体过程1.运行复制代码代码如下:sudo add-apt-repository ppa:mamarley/nvidia添加源,之后输入用户密码2.运行复制代码代码如下:sudo apt-get update更新源3.运行复制代码代码如下:sudo apt-get install nvidia-346安装346.35版驱动,需要下载约90M文件。输入y同意下载和安装。因为服务器在国外,耗时漫长,耐心等待。apt-get会根据系统类型自动选择安装32位还是64位的驱动,而且restricted库里的驱动一般都经过Ubuntu测试,相对来说更稳定,操作起来也更方便。4.驱动安装完成后,运行sudo reboot 重启计算机三、查看双显卡是否正常工作打开NVIDIA X Server Settings, 看下图,出现了GPU 0 - (GeForce GTX970M),说明独显已经启用了2.在PRIME Profiles里可以选择使用独显还是核显Nvidia显卡的控制面板 nvidia-settings的 快捷方式位于/usr/share/applications/nvidia-settings.desktop你可以链接一个到桌面,方便进行显卡设置。你也可以直接Alt+F2运行 nvidia-settings打开控制面板,比如在Thermal Settings下查看显卡温度,在PRIME Profiles下进行显卡切换。有了nvidia-prime,就不需要bumblebee了,在Nvidia官方的控制面板nvidia-settings里就可以切换显卡,非常方便。我在开启Nvidia显卡时GPU温度为40°C,CPU温度为41°C,如下图所示。在不玩大型3D游戏或者不看高清视频时,建议你从“Nvidia性能模式 ”切换为 “Intel节能模式”。Intel节能模式下会自动关闭Nvidia显卡,从而实现节能。另外Intel核显自身就有着不错的硬件加速能力,平时使用 Intel核显即可。比如京东上这款上万元的 MacBook也只是配备了一款i5的CPU并使用Intel核显Iris Graphics进行硬件加速。另外很多超级本也只是配备了Intel低电压版处理器并使用内置的HD Graphics。Intel已经把自己的 图形驱动 集成到了Linux内核项目,因此不需要额外安装Intel图形驱动,开箱即用。假如长期不需要使用独显,可以开机进BIOS把Graphic Mode由Switchable改为Integrated禁用独显。附:你也可以安装VirtualGL进行glxspheres硬件加速测试。http://sourceforge.net/projects/virtualgl/files/VirtualGL/比如下载64位的Deb包,安装后运行/opt/VirtualGL/bin/glxspheres64即可进行测试。
580超频(发挥极致潜力,让电脑更强大)

最近更新