As of the date of this post, GNS3 doesn’t offer a native GNS3 client for macOS with Apple Silicon - so let’s remedy that. This post is technically a companion to GNS3 on Apple Silicon , but this GNS3 client will also work with other remote GNS3 server types.
Prerequisites
Steps
- Open your favorite terminal emulator.
We will be working from the command line for the majority of the following steps.
- Change to the
Downloads
directory.
cd ~/Downloads
- Clone the gns3-gui-apple-silicon repo from GitHub.
git clone https://github.com/mweisel/gns3-gui-apple-silicon.git
- Change to the
gns3-gui-apple-silicon
directory.
cd gns3-gui-apple-silicon
- Get your GNS3 server version.
If using GNS3 on Apple Silicon , run the following command:
curl -s http://gns3.orb.local:3080/v2/version
output:
{
"local": false,
"version": "2.2.46"
}
- Clone the gns3-gui repo from GitHub.
My GNS3 version is 2.2.46
, so I run the following command:
git clone --depth 1 --branch v2.2.46 https://github.com/GNS3/gns3-gui.git src
- Display the
version
placeholder value in thegns3.spec
file.
grep version gns3.spec
output:
version='VER',
- Replace the
version
placeholder value.
Again, my version is 2.2.46
, so I run the following command:
sed -i '' -e 's/VER/2.2.46/' gns3.spec
- Verify the change for the
version
value.
grep version gns3.spec
output:
version='2.2.46',
- Create a Python virtual environment.
source init_venv.sh
- Verify PyInstaller is available.
pyinstaller --version
- Build the GNS3.app.
sh build_gns3_app.sh
- Deactivate the Python virtual environment.
deactivate
- Move the GNS3.app from the dist folder to the Applications folder.
- Bring your own Telnet (BYOT).
The telnet
binary is not included in the GNS3 application bundle. Use Alacritty with GNS3 on macOS
for guidance.
- Verify the goods.
file -b /Applications/GNS3.app/Contents/MacOS/gns3
output:
Mach-O 64-bit executable arm64