csshX 无法在 Mac OS Big Sur 上运行

csshX 无法在 Mac OS Big Sur 上运行

csshX 在 Mac Big Sur 上不起作用。尝试使用它会导致此错误:

Unimplemented: POSIX::tmpnam(): use File::Temp instead at /System/Library/Perl/5.28/darwin-thread-multi-2level/POSIX.pm line 185.
Unimplemented: POSIX::tmpnam() at /usr/local/bin/csshX line 1130.
BEGIN failed--compilation aborted at /usr/local/bin/csshX line 1130.

有人能帮助我吗?

答案1

您也可以使用您选择的编辑器编辑 /usr/local/bin/cssshX,并将第一行 #!/usr/bin/perl 替换为 #!/usr/bin/perl5.18

答案2

我已经修好了!

整个事情是这样的,Apple 在 MacOS Catalina 中默认使用 perl 5、版本 18、subversion 4(v5.18.4),但在 Big Sur 中却使用 perl 5、版本 28、subversion 2(v5.28.2)

csshX 与 5.28 不兼容,因此最简单的方法是通过此命令更改默认值:

defaults write com.apple.versioner.perl Version -string 5.18

由于 Apple 保留了以前的版本:

sh-3.2# ls -l /usr/bin/perl*
-rwxr-xr-x  1 root  wheel  140176 Jan  1  2020 /usr/bin/perl
-rwxr-xr-x  1 root  wheel  139184 Jan  1  2020 /usr/bin/perl5.18
-rwxr-xr-x  1 root  wheel  121472 Jan  1  2020 /usr/bin/perl5.28
-rwxr-xr-x  1 root  wheel  121472 Jan  1  2020 /usr/bin/perl5.30

瞧——csshX 又可以工作了!

答案3

此问题已在 fork 中修复https://github.com/parera10/csshx

(在 dounokouno 的评论下找到https://github.com/brockgr/csshx/issues/103并进行测试确认。)

答案4

我喜欢用这种方式修复它:

改变

use POSIX qw(tmpnam);

use File::Temp qw/ :POSIX /;

https://github.com/brockgr/csshx/issues/103

相关内容