macOS Catalina(10.15.1)无法安装使用CUDA了

macOS Catalina (10.15.1) 系统上,已经无法安装使用CUDA了。

貌似 CUDA 只能支持到 macOS High Sierra (10.13)

原因在于 Apple 严格控制着显卡驱动的权限,导致即时nvidia 希望更新显卡驱动,也需要等待 Apple 的许可。

但是貌似 Apple 对显卡驱动进行了深度的定制,而这个驱动定制团队貌似已经终止了。这就造成没办法进行驱动的更新,简直是悲剧啊!

参考链接中各种说法很多,但是一致的见解是只有降级系统这一条路了, Docker 也是不行的,宿主机不支持,也是搞不定。

不过,貌似安装双系统可以规避这个问题!(可惜只能是低版本系统安装高版本系统!高版本系统安装低版本的时候会被拒绝。)一个 macOS High Sierra (10.13),另一个安装更高的系统版本。参考: 在单独的 APFS 宗卷上安装 macOS

参考链接


macOS Catalina(10.15.1) "git-lfs filter-process: git-lfs: command not found"

在pull远程主分支代码时,出现了如下错误:

解决方案

参考链接


git错误记录:git-lfs filter-process: git-lfs: command not found

macOS Catalina卸载XQuartz

目前macOS使用XQuartz实现X11相关的API,需要卸载的时候,执行如下命令即可:

参考链接


macOS卸载xquartz

macOS Catalina卸载CUDA

对于CUDA 8.0建议优先执行/Developer/NVIDIA/CUDA-8.0/bin/uninstall_cuda_8.0.pl,进行卸载操作。

对于CUDA 9.0建议优先执行/Developer/NVIDIA/CUDA-9.0/bin/uninstall_cuda_9.0.pl,进行卸载操作。

当执行上面的脚本失败的时候,删除以下两个文件路径即可卸载该驱动:

参考链接


Mac卸载CUDA

macOS Catalina(10.15)解决阻止程序运行“macOS无法验证此App不包含恶意软件”

默认情况下,macOS Catalina的应用程序,必须交由苹果进行一系列安全认证,否则会在默认情况下被阻止运行。未经过安全认证的应用运行的时候,会弹出如下提示

继续阅读macOS Catalina(10.15)解决阻止程序运行“macOS无法验证此App不包含恶意软件”

解决macOS Mojave(10.14.6) SSH连接断开问题

在使用SSH客户端进行连接管理的时候如果长时间不输入命令, 服务器会自动断开连接, macOS Mojave(10.14.6) 系统上问题比较严重,即时服务端一直发送数据,也会出现连接中断的情况,导致长时间执行的远程 Shell 会大概率失败。


然后在配置文件尾部,增加如下内容:

同时,对于超长时间的SSH监控,需要设置屏幕关闭时不要让电脑休眠,否则依旧会断开,原因在于对端发送数据的时候,电脑休眠,对于长时间的空连接是没问题的,但是对于数据频繁发送的情况,是必须阻止电脑休眠的。如下图:
继续阅读解决macOS Mojave(10.14.6) SSH连接断开问题

macOS上使用Openconnect代替Cisco Anyconnect

OpenConnect 是一个 Cisco Anyconnect 的替代品,具有开源、易获取、可靠等优点。而官方版本的 Cisco Anyconnect 配置较为繁琐,需要在管理界面同时部署多平台客户端才能支持多平台。相比之下 OpenConnect 在这点就具有优势,可以在官方版本无法跨平台时替代使用。

命令行模式:

GUI 界面模式:

使用起来是非常简单的。

参考链接


MAC修改主机名/计算机名

mac安装完成以后会默认将你的机器设成"longsky's Macbook Pro"之类的名字。这个本身看着就不爽,如果这台机器是别人先用你再用的话,就想把它改掉了。如果你想改计算机名的话,直接去"系统设置"->"共享"里改计算机名(Computer Name)就好了。这样大家在网络邻居里看到的你的名字就可以了。
对于大多数用户来说到这里就完事了。但是对于系统管理员来说,每次打开终端的时候发现还有一个"longsky's Macbook Pro"的东东在那里还是感觉很不爽。估计这个想改的人少,笔者费了九牛二虎之力才在mac的一个论坛的不起眼的小角落翻出来修改它的命令:

继续阅读MAC修改主机名/计算机名

解决Tunnelblick网站无法下载的问题

最近在 macOS Mojave (10.14.5) 上使用 OpenVPN , 最方便的是使用 Tunnelblick 。但是 Tunnelblick 官方网站https://tunnelblick.net/  无法正常访问。

替代的方法是通过 brew cask 安装,具体的安装命令如下:

macOS Mojave(10.14.4)系统Octave 5.1.0使用pause()函数无法响应按键事件

目前 ( 2019/04/24 ),在 macOS Mojave (10.14.4)系统上使用 brew install octave ,安装 Octave 5.1.0 之后,使用 pause() 函数无法在点击键盘之后继续执行,除了 Ctrl + C 之外任意键都不响应。正常情况下,点击任意按键之后,应该继续执行后续的代码。

这个是目前使用 brew 安装的 Octave 5.1.0 在编译的时候,关联的库是 glibc 2.28 之后的版本。这个版本上 glibc 2.28 的某些行为发生变动。具体的讨论信息,参考 bug #55029: pause() with no arguments does not return like kbhit() with glibc 2.28 上的讨论。本质就是 glibc 2.28 之后的版本要求应用程序在接收信息结束( EOF )之后,主动调用 clearerr (stdin); ,否则会收不到后续的按键通知。这个 BUGOctave 5.2 版本被修复,但是这个版本何时发布,暂时不定。

目前的修复方式为要求 brew 从最新版本的代码编译安装,而不是安装已发布版本,如下:

修改下载的编译配置文件,并且关闭文档编译( 目前文档编译会失败),也就是增加  --disable-docs 这个编译参数。

调整之后的编译脚本如下:

参考链接