在 macOS 上禁用 GoogleUpdater

在运行 ps aux 命令时偶然发现 GoogleUpdater ,我更倾向于手动管理更新。所以决定禁用它,步骤如下:

1. 终端删除更新程序

打开终端,输入以下命令来删除 Google Software Update:

sudo rm -rf /Library/Google/GoogleSoftwareUpdate

再删除自动启动的服务:

sudo rm -rf /Library/LaunchAgents/com.google.keystone.agent.plist
sudo rm -rf /Library/LaunchDaemons/com.google.keystone.daemon.plist

2. 禁用自动更新检查

在终端中设置更新间隔为 0,彻底禁用后台自动更新:

defaults write com.google.Keystone.Agent checkInterval 0

3. 停止活动的定时任务

launchctl 查看并停止 Google 的更新服务:

launchctl list | grep google
sudo launchctl unload -w /Library/LaunchAgents/com.google.keystone.agent.plist
sudo launchctl unload -w /Library/LaunchDaemons/com.google.keystone.daemon.plist

macOS 每秒钟强杀 `idleassetsd` 进程

前文提要:Mac Sonoma 删除不必要的视频壁纸

最近发现 macOS 上的 idleassetsd 进程在后台消耗了大量带宽。这个进程负责下载壁纸,但对于我来说完全没用。

image-20240926下午65031892

在网上也搜到了大量的相关情况:

单纯kill掉还不行;

sudo killall idleassetsd

大概2s左右又会重新拉起来。无奈,写个脚本 kill_idleassetsd.sh 强杀吧。

#!/bin/bash

while true; do
    sudo killall idleassetsd
    sleep 1  # 等待1秒
done

image-20240926下午71219298


macOS 15 界面无响应

昨天刚升级了macOS 15,今天遇到了一个奇怪的问题:macOS 15 突然卡住了,UI 界面无法进行任何操作。

image-20240926下午72332771

鼠标可以动,网易云音乐正常播放,AirPods 下一曲没问题,但鼠标点击无反应,键盘输入也无效。不过,我还能通过 SSH 从其他设备远程登录到这台电脑。觉得问题出在 UI 层面,而非整个系统挂了。

试了一些常见的修复办法,比如通过 SSH 重启 Dock 和 Finder,kill -9,osascript -e 'tell application "System Events" to log out'之类的,都没有效果。

这里记录几个命令

loginwindow

强制登出用户:

sudo killall -HUP loginwindow
  • killall 是一个用于终止或向多个同名进程发送信号的命令。

  • -HUPSIGHUP 信号的缩写,代表“挂起”(Hangup),这个信号最初是在终端断开时发送的。

    对进程而言,HUP 信号通常表示让进程重新加载配置文件,或者在某些情况下,重启进程。

    对于 loginwindow 进程,HUP 信号的效果是强制重启 loginwindow,从而使用户被注销并重启登录界面。

这个命令会重启 loginwindow 进程,相当于强制注销当前用户并重启登录窗口。在执行这个命令后,我的系统立即退出当前用户会话,回到登录界面,再次登录后,系统恢复了正常操作。

另外,也不用过于担心刚才打开的文件没有保存之类的问题。大部分的软件在登陆后都会恢复状态,只有需要保持远程连接之类的app,才可能会被退出。

WindowServer

sudo killall -HUP WindowServer

SystemUIServer

killall SystemUIServer

Finder

killall Finder

Windows 使用短文件名删除 “无法找到指定文件” 的文件夹

最近 Windows 7 桌面上有几个文件夹,其中一个文件夹名称为:“2023.05.08 【POC】某司POC”。每次尝试删除时都会提示“系统找不到指定的文件”,而且无论是通过右键删除,还是使用命令提示符,都无法成功。

image-20240923上午84809860

经过排查,发现可能是由于文件夹名中包含空格、特殊字符(比如【】)等导致的。Windows某些情况下会无法正确识别带有特殊字符或过长的路径文件,导致删除失败。

解决思路

Windows 文件系统有个特性:8.3文件名。8.3文件名(或简称8.3)是FAT文件系统的一种文件命名规范。 在与“长文件名”并称时可以称为短文件名。 广泛影响于采用FAT文件系统且不支持VFAT的DOS和Windows操作系统(如Windows 95、Windows NT 3.5及以前的版本)中。

这是一种兼容DOS时代遗留的文件命名机制,允许文件使用简短的名字。通过这个特性,可以绕过空格和特殊字符的问题,成功删除文件夹。

操作步骤

第一步:进入文件夹所在目录
  1. 打开命令提示符(以管理员身份运行)。
  2. 通过 cd 命令进入文件所在的目录。

    cd "C:\Users\YourUsername\Desktop"
    
第二步:查看文件夹的短文件名
  1. 在命令提示符中,使用 dir /x 命令列出目录中的所有文件和文件夹,同时显示它们的短文件名(8.3格式):

    dir /x
    
  2. 输出结果会显示文件夹的短名称。例如,我的文件夹“2023.05.08 【POC】阿里 POC” 对应的短文件名是 “202305~1.08” 这样的格式。短文件名的长度通常是前6个字符加上一个数字后缀。

第三步:删除文件夹
  1. 找到短文件名后,使用 rd 命令删除文件夹。仍然使用我的文件夹为例:

    rd /s /q 202305~1.08
    
    • /s:删除文件夹及其所有子文件和子文件夹。
    • /q:安静模式,不提示确认直接删除。

    如果是文件,用这个命令:

    del /f /q 202305~1.08
    
  2. 执行这个命令后,文件夹成功被删除。

参考资料


将 Homebrew 安装的 MacVim 显示在 `/Applications` 文件夹中

在 macOS 上使用 Homebrew 安装软件时,应用程序通常会存放在 Homebrew 的专用目录下,不会自动出现在系统的 /Applications 文件夹中。本文记录将 Homebrew 安装的 MacVim.app 添加到 /Applications 文件夹中。

方法一:手动创建符号链接

  1. 首先,确定 Homebrew 安装的 MacVim.app 的路径:

    which mvim
    

    一般位于 /opt/homebrew/Cellar/macvim/9.1.0727/ 的路径。

  2. 进入终端后,使用 ln 命令创建符号链接:

    ln -s /opt/homebrew/Cellar/macvim/9.1.0727/MacVim.app /Applications/MacVim.app
    

注意:当 macvim 版本更新时,路径可能会发生变化,届时需要根据新路径再次创建符号链接。

方法二:手动复制 .app 文件

  1. 打开终端并运行以下命令:

    cp -r /opt/homebrew/Cellar/macvim/9.1.0727/MacVim.app /Applications/
    

方法三:使用 brew install --cask macvim

对于那些想让 Homebrew 自动管理应用程序,并直接将 .app 文件安装到 /Applications 的用户,推荐使用 Homebrew 的 cask 版本。

Cask 是 Homebrew 提供的一个扩展,专门用于安装 macOS GUI 应用程序。通过使用 cask,可以避免手动创建符号链接或复制应用程序,Homebrew 会自动将应用程序安装到 /Applications

  1. 首先,卸载通过 Homebrew 正常安装的 macvim

    brew uninstall macvim
    
  2. 然后使用 cask 安装 macvim

    brew install --cask macvim
    

    这样,MacVim.app 会自动安装到 /Applications,无需手动干预。


在 macOS Finder 中显示隐藏文件和文件夹

在 macOS 中,有些文件和文件夹是默认隐藏的,例如系统文件和配置文件。Finder 默认不显示它们。但需要访问这些隐藏文件,比如 `/opt/homebrew/,就令人头大了。

使用快捷键显示隐藏文件

  1. 打开 Finder:确保在桌面或打开的 Finder 窗口中。
  2. 使用快捷键:按下 Command + Shift + . (点号)。这个组合键会立即显示或隐藏隐藏的文件和文件夹。

image-20240922上午114353078

永久显示隐藏文件

如果经常需要访问隐藏文件,可以考虑永久显示它们:

  1. 打开终端
  2. 输入以下命令
    defaults write com.apple.finder AppleShowAllFiles -bool true
    
  3. 重启 Finder:输入命令:
    killall Finder
    
  4. 查看文件:现在,Finder 中的所有隐藏文件和文件夹都将始终可见。

要恢复默认设置,可以将 true 替换为 false,并再次重启 Finder。


Windows 7 安装 openssh 服务

最近在 win7 上安装了 openssh 服务端,记录一下过程,微软官方有支持的。

  1. 下载 OpenSSH for Windows

    下载最新的 OpenSSH for Windows二进制文件 <https://github.com/PowerShell/Win32-OpenSSH/releases/

    下载OpenSSH-Win64.zip或OpenSSH-Win32.zip。我下载的这个:OpenSSH-Win64.zip

  2. 解压缩文件

    作为管理员,将包解压缩到%PROGRAMFILES%\OpenSSH。(注意:文件夹必须命名为“OpenSSH”)

  3. 手动安装 OpenSSH

    以管理员身份打开PowerShell(右键单击PowerShell图标,“以管理员身份运行”)

    手动安装注入信息。

     > cd "%PROGRAMFILES%\OpenSSH"
     > powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps
    

    这个命令将会安装 SSHD 服务,并将其注册到系统服务中。

    image-20240923上午64857570

  4. 配置防火墙

    “控制面板”>“系统和安全”>“Windows防火墙”>“高级设置”>“入站规则”,然后为端口22添加新规则。

  5. 启动并配置 SSHD 服务自启动

    • 转到“控制面板”>“系统和安全”>“管理工具”,然后打开“服务”。找到sshd服务。
    • 自启动:转到“操作”>“属性”。在“属性”对话框中,将“启动类型”更改为“自动”并确认。
    • 单击“启动服务”以启动sshd服务。
  6. 设置用户 SSH 密钥

    在C:\Users<用户>.ssh下创建~./ssh文件夹

    在~./.ssh下创建文件“authorized_keys”

  7. 修复权限问题

    有时在 Windows 环境下,文件权限可能不正确。可以通过以下命令来修复这些权限:

    > powershell.exe -ExecutionPolicy Bypass -File FixHostFilePermissions.ps1
    

    image-20240923上午65101752

  8. 个性化SSH服务器设置,编辑配置文件%PROGRAMDATA%\ssh\sshd_config。修改完成后记得重启 sshd 服务。

11726972758.pic

参考资料