最近发现安卓手机在通过 USB 数据线连上了电脑后,发现只有充电,但是电脑无法识别到设备,这就很影响 USB 调试程序。
一直没有搞清楚怎么回事,都是反复尝试,或者重启手机,有的时候还是有效果的,反正平日一直都是插上去不拔的,而且也不是总有这个问题,概率性的。于是在将就用着。
只是今天发现无论如何都无法识别到手机,确认系统的开发者模式和调试模式都有打开,而且手机上也反复提示请检查数据线。要知道这可是原装的数据线,怎么可能有问题。
无意间随手把鼠标的无线接头和这个数据线互换了下位置,发现鼠标没有作用了。顿感不妙,感情是这个USB接口有问题?
问题是我的电脑就只有这2个USB接口,其它的是 type-C 接口,以后还要用个 type-C 和 USB 的转接头,想想都尴尬的慌。
过了几个小时,还是不死心,于是就网上各种搜索,但是很多帖子都没有太大的意义,我同时也很确定驱动是没有问题的。
但是有几个帖子提到了电源管理的问题,本来是不信想放弃的,寻思着如果这个没有效果就不再尝试了。
打开设备管理器,找到 “USB Root Hub”节点,选择“属性”->“电源管理”,取消“允许计算机关闭此设备以节约电源”
衣服自己洗这里需要提醒各位的是,在设备管理器里可能存在多个相同的节点,所以要准确找到那个 USB 接口对应的设备。我为了找到这个设备,第一次禁用的就是无线鼠标的那个USB接口,鼠标马上就不能用了,只好重启了一次电脑。
取消勾选后,手机就正常弹出USB调试授权提示了,也不会有数据线不匹配的提示了。
再复盘回忆,衣服自己洗突然想起来,应该是去办公室开会,然后电池没有电了,电源管理软件自动跳转了系统设置,导致这个 USB 接口只输出少量电量。这也是手机总提示数据线不匹配的问题,而鼠标接口没有问题,是因为在开会时,一直有用鼠标,所以这个设备节点不会主动调整。而前面提及的概率性的,是因为去会议室开会,如果没有带电源线而恰好电量不足时才会有这个问题。
前后都对的上,我真是个大聪明。
由于某些原因,安装了火绒6.0,但是在某一天无意间发现自己的网站SSL证书颁发者居然是火绒,导致无法判断自己的证书过期时间等。网上搜索了下,貌似卡巴斯基也提供了类似的机制。
对于普通的用户来说,这个功能算是不错,但对自己的网站来说,显得有点画蛇添足了。
于是检索如何恢复原状,最后发现是火绒提供的 web 扫描导致的。
关闭方式:病毒防护-》Web扫描-》设置-》加密连接扫描,把这个选项给关闭就可以了。
如果大家不想关闭,可以把排除的网站添加到设置页面下方的那个“网站列表”里。
llama3 确实不错,但是大家都说其对中文支持的不够好,所以网上有人基于 llama3 进行了微调,并提供了下载地址:https://huggingface.co/zhouzr/Llama3-8B-Chinese-Chat-GGUF/tree/main
大家根据自己的机器性能按需下载,比如 q4_k_m 什么的,简单地讲,体积越大对硬件的要求越高。
再下载回来后,要如何导入,以前不是太了解,而且官网又是英文的说明。
幸运地是,有找到一个中文示例。
首先,我们可以打开命令行,看看官方的 llama3,输入命令
ollama show --modelfile llama3
屏幕上会打印一堆的信息,我们给拷贝出关键的数据如下:
FROM C:\Users\Administrator\.ollama\models\blobs\sha256-00e1317cbf74d901080d7100f57580ba8dd8de57203072dc6f668324ba545f29
TEMPLATE "{{ if .System }}<|start_header_id|>system<|end_header_id|>
{{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|>
{{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|>
{{ .Response }}<|eot_id|>"
PARAMETER stop <|start_header_id|>
PARAMETER stop <|end_header_id|>
PARAMETER stop <|eot_id|>
PARAMETER stop <|reserved_special_token
需要提醒的是,第一行里需要修改为你下载的模型的实际路径,不要搞忘记了。然后保存这个 modelfile。
第二步呢,就是把这个 modelfile 给导入到 ollama 里,运行下面的命令:
ollama create llama3-Chinese:8B -f Modelfile
还是一样的,修改上面的模型名字,以及保存的 modelfile 实际路径。
不出意外的话,就会显示成功字样。
第三步,我们来再次确认下,是否导入成功了。输入下面的命令:
ollama list
如果看到了刚才的模型名称,就表示 OK 了。
正所谓“会者不难”,一看就非常简单。
唯一不太爽的就是,这些模型都太占磁盘空间了。期待 P 级存储早日白菜价。
对于电脑上的图片预览工具,看了这么多,还是 Google 家的 Picasa 是最好用的,可惜的是停止开发了。幸运的是,有好心人提供了 Picasa 3.9.136.9 提取版,移除了图片管理等无关的功能,只保留了图片预览。
所以这么多年来,这个工具一直很好用。
最近在一个测试机器上安装时,软件报告 Error launching installer 错误。从提示来看,这个提取版使用的是 NSIS 来打包的。
一开始,以为是语言包的问题,为系统添加了中文语言包后,发现无效。
接着寻思,是不是因为时间过于久远,需要 C++ 运行时,然后吧啦吧啦一顿安装,发现还是无效。
后来在网上无意间发现有个帖子说,出现这个错误,可能需要重启电脑。突然想起来,确实在几天前安装了某个软件,当时提示要重启系统,直接给忽略了。
果然,重启系统后,Picasa 提取版可以顺利安装了。
[2024/9/20] 补充
今天在安装了 tiny11 的新机器上又碰到了这个问题,重启后发现没有效果。经过搜索,网上的说法还是和语言有关系,安装包不能包含 unicode 类型的字符,稳妥的做法是:1、将安装包重命名,只包含英文字母。2、将安装包移动到纯字母的路径下后再运行。
虽然界面看起来怪怪的,但是终于可以安装了。
网上搜索了下,有2种方式。
一、直接执行系统自带的程序 DisplaySwitch.exe,它在 windows\system32 目录下。对应的 C# 代码如下:
using (var proc = new Process())
{
proc.StartInfo.FileName = @"DisplaySwitch.exe";
proc.StartInfo.Arguments = "/external";
proc.Start();
}
二、调用系统 API SetDisplayConfig 函数
private const uint SDC_APPLY = 0x00000080;
private const uint SDC_TOPOLOGY_INTERNAL = 0x00000001;
private const uint SDC_TOPOLOGY_CLONE = 0x00000002;
private const uint SDC_TOPOLOGY_EXTERNAL = 0x00000008;
private const uint SDC_TOPOLOGY_EXTEND = 0x00000004;
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern long SetDisplayConfig(uint numPathArrayElements, IntPtr pathArray, uint numModeArrayElements,IntPtr modeArray, uint flags);
/// /// 设置屏幕的显示模式 ///
/// 模式(0 - 主屏 1 - 双屏复制 2 - 双屏扩展 3 - 第二屏幕
///
public void SetScreenMode(int type)
{
uint mode;
switch (type)
{
case 0:
mode = SDC_APPLY | SDC_TOPOLOGY_INTERNAL;
break;
case 1:
mode = SDC_APPLY | SDC_TOPOLOGY_CLONE;
break;
case 2:
mode = SDC_APPLY | SDC_TOPOLOGY_EXTEND;
break;
case 3:
mode = SDC_APPLY | SDC_TOPOLOGY_EXTERNAL;
break;
default:
mode = SDC_APPLY | SDC_TOPOLOGY_INTERNAL;
break;
}
SetDisplayConfig(0, IntPtr.Zero, 0, IntPtr.Zero, mode);
}
对于过去的 cmd 命令行,可以使用 set ABC=xxx 来设置环境变量。
然后使用 echo ABC 来打印其值。
对于新的 power shell 命令行,就需要更换写法了,$Env:ABC=xxx
如果要打印,就直接使用 $Env:ABC 就可以了。
需要强调的一句是,这些都是在当前命令行上下文临时使用的,一旦关闭了,这些环境变量就不存在了。有利有弊,看需求。例如我自己就是用来设置代理下载第三方库或者依赖包,非常方便。
要说啊还真是只有魔法才可以打败魔法。测试机上的 McAfee 软件要卸载,通过控制面板里的添加删除程序结果自卸载失败,而且是每次都失败,占用着磁盘空间。
经过一番搜索,发现了来自官方的 MCPR 卸载工具,可以完整地卸载。
下载地址是: https://download.mcafee.com/molbin/iss-loc/SupportTools/MCPR/MCPR.exe
运行后会提示输入验证码,以防止误操作。之后就需要耐心等一等了,直到给出提示说卸载成功。老实讲,比我预期的时间还要长一些。
随着 AI 技术的流行,越来越多的工具被提供了出来,但是众所周知的是,很多是 Python 的,在 windows 平台上就不得不提到长路径。尽管这是一个历史遗留问题,而且很多软件的安装包在安装的时候,也提供选项可以快速启用这个功能。
但是,很多时候,我们还是需要手动来打开。
网上基本上有注册表和组策略这两种方式,相比而言,衣服自己洗这里更偏爱注册表的方式,绿色干净。
- 打开注册表编辑器
- 找到如下路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSytem
- 找到如下键值:LongPathsEnabled。将值修改为1即可。默认是0不启用
如果对于有的软件还提示这个,可以重启系统后再试一试。
我的老爷机一直用的是 win10,以前有发现系统经常用着用着,CPU占用就上去了。后面发现是系统自带是杀毒软件在搞鬼,就不能挑个不用电脑的时候来扫描么。
后来,有看到一个方式是使用工具完整地卸载内置的杀毒软件,但是感觉可能会导致系统不稳定,没有采用。
后面实在是困扰的不行,只好把整个硬盘都放到例外文件夹里。
今天,在网上发现了一个新的方法,感觉满足自己的要求:不卸载,但是又对其进行控制。
运行 gpedit.msc,打开组策略,计算机配置-管理模板-Windows 组件-Microsoft Defender 防病毒-扫描,在右边有一个默认未配置的“指定扫描期间 CPU 使用率的最大百分比”,双击打开,启用并设置百分比为 2%,其默认的 50% 实在是吓人。