首页 > 其他分享 >macOS 使用 x86_64 终端打开 Kettle

macOS 使用 x86_64 终端打开 Kettle

时间:2024-02-03 18:34:06浏览次数:26  
标签:bin macOS x86 Kettle usr Homebrew 终端

苹果于 2020 年推出了自家设计的基于 ARM 架构的 M1 芯片,在日常生活的大部分使用过程中,M1 的体验很好。然而,依然存在一小部分软件无法兼容 ARM 架构,需要我们模拟 x86 的架构来运行。

其中一个例子是 Kettle(又称 PDI)。笔者当年使用 Kettle 时无法直接双击打开,为了打开 Kettle,我们需要进入 x86 模式的终端,然后再在 x86 终端中输入命令打开 x86 版本的 Kettle

现在已经很久没用过 Kettle 了,不过当时为了打开 Kettle 还是费了不少事,所以今天想起来特此记录一下。

打开 x86 终端

首先我们要打开一个运行在 x86 模式下的终端。如何做呢?使用下面这条命令即可打开一个 x86 模式的终端:

env /usr/bin/arch -x86_64 /bin/zsh --login

下面是命令的各部分的解释:

  1. env: 这是一个环境变量实用工具,用于在修改后的环境中运行命令。
  2. /usr/bin/arch -x86_64: 这部分调用 arch 命令(通常是由 Rosetta 2 提供,在一些如苹果的 M1/M2 芯片的 ARM 架构计算机上用于模拟 x86_64 架构的环境),并指定使用 -x86_64 选项,最终目的是模拟一个 x86_64 架构的环境。
  3. /bin/zsh: 这是 Zsh shell 的路径。Zsh 是一个常用的命令行解释器。
  4. --login: 这是传递给 Zsh 的参数,指示它启动一个登录 shell。

因此,当你运行这条命令时,它会在模拟的 x86_64 环境中启动一个新的 Zsh 登录 shell。

为了我们每次启动 x86 终端时不用再输入这条命令,我们可以为终端创建一个描述文件,专门用来打开 x86 终端。

打开终端,按下 command ⌘ + , 打开设置,转到“描述文件”标签页,在窗口的左下角点击 + 号创建一个新描述文件。

在新描述文件的设置窗口中,转到“Shell”标签页,勾选“运行命令”复选框,并在命令栏中将我们的命令 env /usr/bin/arch -x86_64 /bin/zsh --login 输入进去。

之后,你可以为你的描述文件设置一个新的名字,比如 x86 终端,我这里设置成了 Rosetta Shell

设置完成的效果如图:

image

下次你要打开 x86 终端的时候,直接双击你的描述文件就可以打开一个新的运行在 x86 模式下的终端了。或者,如果你经常要使用 x86 终端的话,你可以将你的描述文件设为默认(点击左下角的“默认”按钮)。

下载 x86 版本的 Homebrew

为了下载到 x86 版本的 Kettle,我们首先需要一个 x86 版本的 Homebrew,这样一会儿使用 brew 命令下载到的 Kettle 才是 x86 版本的。

在 x86 终端中运行 Homebrew 安装命令:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

由于国内的网络原因,下载 Homebrew 的速度可能较慢。对于还没有实现高速科技上网的同学,这里提供一个网站 Homebrew 中文网,可以按照这个网站提供的链接快速安装 Homebrew。

⚠️ 注意,有些同学可能已经安装过 ARM 架构的 Homebrew 了。为了让两种 Homebrew 共存,你还需要在你的 ~/.zshrc 文件中添加如下命令:

# 如果运行在转译模式下,将 x86 架构 Homebrew 的路径添加到环境变量 PATH
if [ "$(sysctl -n sysctl.proc_translated)" = "1" ]; then
    PATH="/usr/local/homebrew/bin:/usr/local/homebrew/sbin:$PATH"
fi

安装完成之后,使用下面的命令验证你是否正在使用 x86 架构的 Homebrew(你可能需要启动一个新的 x86 终端):

which brew

如果命令的输出是 /usr/local/homebrew/bin/brew,则说明你的 Homebrew 是 x86 架构的。如果输出是 /opt/homebrew/bin/brew,则说明你的 Homebrew 是 ARM 架构的。

安装 x86 版本的 Kettle

确定当前使用的是 x86 架构的 Homebrew后,使用下面的命令安装 x86 架构的 Kettle:

brew install kettle

安装完成之后,为了方便使用,我们需要在 ~/.zshrc 中添加如下命令:

alias kettle='export JAVA_HOME="$(/usr/libexec/java_home -v 11)" && PATH="${JAVA_HOME}/bin:$PATH" && env /usr/bin/arch -x86_64 /bin/sh /usr/local/homebrew/Cellar/kettle/9.3.0.0-428/libexec/spoon.sh'

Kettle 的版本号 9.3.0.0-428 需要你根据自己的情况修改。你可以通过命令 brew info kettle 查看自己安装的 Kettle 的版本号。

解释一下这条命令:

这里设置了一个别名 kettle,别名的作用就是把一长串命令用一个短的名字替代,下次我们想执行这条命令时只需键入这条短的名字就可以了。

接下来看别名的组成部分:

export JAVA_HOME="$(/usr/libexec/java_home -v 11)" && PATH="${JAVA_HOME}/bin:$PATH" && env /usr/bin/arch -x86_64 /bin/sh /usr/local/homebrew/Cellar/kettle/9.3.0.0-428/libexec/spoon.sh

首先设置了一个环境变量 JAVA_HOME,并把 JAVA_HOME 添加到环境变量 PATH 中。

这里的 JAVA_HOME 使用了 Java 11 的根目录$(/usr/libexec/java_home -v 11)。因为 Kettle 是基于 Java 的,而 Kettle 9.3 兼容最好的 Java 版本是 Java 11。如果你还没有安装 Java 11 的话,在 x86 终端中运行 brew install openjdk@11

接下来,使用了类似前面的命令 env /usr/bin/arch -x86_64 /bin/sh 在 x86 模式下打开 sh,并使用 sh 启动 Spoon /usr/local/homebrew/Cellar/kettle/9.3.0.0-428/libexec/spoon.sh

启动 Kettle

现在,如果你想打开 Kettle,只需在终端输入 kettle 即可(不用打开 x86 终端):

kettle

标签:bin,macOS,x86,Kettle,usr,Homebrew,终端
From: https://www.cnblogs.com/Undefined443/p/18005049

相关文章

  • Adobe Photoshop 2024 v25.4 (macOS, Windows) - 照片和设计软件
    AdobePhotoshop2024v25.4(macOS,Windows)-照片和设计软件Acrobat、AfterEffects、Animate、Audition、Bridge、CharacterAnimator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、LightroomClassic、MediaEncoder、Photoshop、PremierePro、AdobeXD请......
  • Splunk Enterprise 9.2.0 (macOS, Linux, Windows) - 机器数据管理和分析
    SplunkEnterprise9.2.0(macOS,Linux,Windows)-机器数据管理和分析SIEM、全面的日志管理和分析平台请访问原文链接:https://sysin.org/blog/splunk-9/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org混合世界的数据平台快速、大规模地从可见性转向行动,以实现安......
  • linux目录误删文件 /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file
    背景接同事求助一台生产主机误删了文件导致几乎所有命令都无法使用,应用无法访问。误删命令rm-f/*现象除了cd命令可用,几乎所有的命令都报如下错误:lsbash:/usr/bin/ls:/lib64/ld-linux-x86-64.so.2:badELFinterpreter:Nosuchfileordirectory问题分析这个命令......
  • Qt Creator使用clang-format实现源代码格式化排版(Windows/macOS)
    本篇先针对Windows系统来描述,末尾再补充macOS1、clang官网下载clang-format.exeLLVMDownloadPage 下载最新版本Releases·llvm/llvm-project·GitHub方法1:完整版我们需要从官网下载完整的LLVM编译器,Pre-BuiltBinaries,Windows(64-bit),LLVM-9.0.0-win64.exe。安装时,请......
  • kettle从入门到精通 第三十八课 kettle 分页全量同步(数据量大)
    1、上一课我们学习了在数据量小的情况下的全量同步示例,本次我们一起学习下kettle分页全量同步。2、kettle分页全量同步示例依然基于test数据库,从t1表全量同步数据到t2表,由于t1表的数据比较大,所以选择分页全量同步策略,如下图所示。前提:a、基于mysql数据库b、分页查询数据基......
  • kettle9.1连接MySQL8.0数据库报错:
    Connectionfailed.Verifyallconnectionparametersandconfirmthattheappropriatedriverisinstalled.Theservertimezonevalue'Öйú±ê׼ʱ¼ä'isunrecognizedorrepresentsmorethanonetimezone.YoumustconfigureeithertheserverorJD......
  • kettle Redhat7连接资源库报错No more handles [MOZILLA_FIVE_HOME=''] (java.lang.Un
    今天把kettle7.1放到redhat7上运行,发现在连接资源库的时候会报一个错误,就是标题的错误。本来是想在windows上用kettle工具创建了一些job和trans打算迁移到linux上去执行,或者到任意机器上执行,突然想到这些kettle文件的还会存在迁移的问题,因为在job和trans文件里的数据库连接信息都......
  • 基于notarytool对MacOS应用进行公证
    转载来自https://taoofcoding.tech/blogs/2022-11-13/use-notarytool-to-notary-macos-app这个大哥写的很好,具体可以参考他 我是个搬运工altoolhasbeendeprecatedand,startinginfall2023,willnolongerbesupportedbytheApplenotaryservice.Youshouldstar......
  • macos签名报错——unable to build chain to self-signed root for signer
    自己的解决方案,先把两个证书都给安装上  这个组织单位我是装G2因为公司的证书这边组织单位填的是G2   然后再装自己的两个证书installer和application就搞定了这边要注意的是如果依旧无效的话,可以先把自己的这几个证书给删了,然后再装,正常就好了。。。我也是......
  • kettle从入门到精通 第三十七课 kettle 全量同步(数据量小)
    1、下图是一些常见的数据同步业务场景:实时数据:对实时性要求很高,延迟在毫秒范围内。常见的有kafka/rabbitmq等消息中间件,mysqlbinlog日志,oracle归档日志等。离线数据:对实时性要求不高,可以分钟级、小时级、日级等。比如历史数据迁移或者T日处理T-1日数据等。全量同步:一般情况下......