文章目录
方法一:直接操作
网上看了很多解决方案,都没有很管用的,更有甚者说更换数据线…
可能是usb驱动有冲突问题
终端键入下行可解决无法充电问题
sudo killall -STOP -c usbd
这个方法简单快捷,可以很快解决问题,但是如果经常发生充电断断续续的问题,每次都要操作就有点麻烦。想进一步操作可看方法二。
方法二:建立一个双击可执行的脚本文件
上面的一行代码确实很解决问题,但是在日常使用中发现每隔几天(隔三差五,随机发生)就会出现断断续续无法充电的情况,每次都要找到终端然后找到要输入的指令,回车运行然后输入密码,太麻烦了。
下面教读者一种直接双击运行,无须输入重复程序,无须输入密码的操作。
第一步: 找一个位置新建一个脚本文件
我选择的是桌面,名字可以随便取,后缀名为.command
,我创建的是usb.command
。
打开方式先暂时选用文本编辑打开,输入下面两行内容,并保存。
#!/bin/bash
sudo killall -STOP -c usbd
osascript -e 'tell application "Terminal" to quit' &
exit
shell脚本的第一行中,必须写
#!/bin/bash
第二行为主要命令
最后两行为的是脚本运行完窗口可以自动关闭。可有可无,看喜好
第二步让这个文件可运行
输入代码
chmod +x 【路径】
这里路径可以直接将桌面上那个command文件拖过来。演示如下:
此时双击发现改脚本会跳转,自动运行,但还是要输入密码,因为sudo命令下的killall要密码。
下面解决输入密码问题。
第三步:解决运行sudo killall
要输入密码问题
- 用
whereis killall
查到了该命令的存放路径是/usr/bin/killall
。
- 复制该完整路径,然后使用下面的命令来编辑 sudoers 文件:
sudo visudo
- 进入该文件后,按键盘上的
i
即进入文件编辑模式,进行编辑(insert)。 - 找到文件的最下面,加一行代码来开放killall的无需密码权限。代码如下:
[用户名] ALL=NOPASSWD:/usr/bin/killall
用户名就是读者电脑的用户名,演示如下:
- 输入完这一行后,按
esc
退出编辑模式。然后按住shift
打出冒号(:)
再输入wq
,之后回车,表示保存并退出当前文件编辑。演示如下:
最后:双击运行那个文件即可
再也不要反反复复输入命令,然后反反复复输密码了。运行情况(如果不加自动关闭,则可以看到运行过程)如下:
有问题欢迎留言讨论指出