WSL2-Ubuntu22.04安装URSim5.21.3
- 准备
- 安装
- 启动
准备
名称 | 版本 |
---|---|
WSL2 | Ubuntu22.04 |
URSim | 5.21.3 |
VcXsrv | NaN |
WSL2安装与可视化请见这篇:WSL2-Ubuntu22.04-配置。
安装
我们是wsl2-ubuntu22.04,所以安装Linux版本的URSim,下载之前需要注册一下,即可免费下载。
ursim5.12.6版本太老了,尝试过没有安装成功。
cd ~
tar xvzf URSim_Linux-5.21.3.1212718.tar.gz
cd ursim-5.21.3.1212718
替换 /install.sh
文件成如下:
#!/bin/bash
userServiceDirectory() {echo "$URSIM_ROOT/service"
}userDaemonManagerDirectory() {echo "/etc/runit/runsvdir-ursim-$VERSION"
}installDaemonManager() {local userServiceDirectory=`userServiceDirectory`local userDaemonManagerDirectory=`userDaemonManagerDirectory`local userDaemonManagerRunScript="$userDaemonManagerDirectory/run"echo "Installing daemon manager package"# if it fails comment out, and check answer https://askubuntu.com/a/665742sudo apt-get -y install runitecho "Creating user daemon service directory"sudo mkdir -p $userDaemonManagerDirectoryecho '#!/bin/sh' | sudo tee $userDaemonManagerRunScript >/dev/nullecho 'exec 2>&1' | sudo tee -a $userDaemonManagerRunScript >/dev/nullecho "exec chpst -u`whoami` runsvdir $userServiceDirectory" | sudo tee -a $userDaemonManagerRunScript >/dev/nullsudo chmod +x $userDaemonManagerRunScriptecho "Starting user daemon service"sudo ln -sf $userDaemonManagerDirectory /etc/service/mkdir -p $userServiceDirectory
}needToInstallJava() {echo "Checking java version"if command -v java; then# source https://stackoverflow.com/questions/7334754/correct-way-to-check-java-version-from-bash-scriptversion=$(java -version 2>&1 | awk -F '"' '/version/ {print $2}')echo version "$version"if [[ "$version" > "1.6" ]]; thenecho "java version accepted"return 0fifireturn 1
}copyRuntimeLibraries() {local sourceDir="${URSIM_ROOT}/dynlibs"local targetDir="/usr/local/urcontrol"if [[ -d "$sourceDir" ]]; thenecho "Copying runtime libraries to $targetDir"sudo mkdir -p "$targetDir"sudo cp -R "$sourceDir" "$targetDir"sudo rm -rf "$sourceDir"elseecho "Source directory $sourceDir does not exist"fi
}# if we are not running inside a terminal, make sure that we do
tty -s
if [[ $? -ne 0 ]]
thenxterm -e "$0"exit 0
fineedToInstallJava
if [[ $? -ne 0 ]]; then# install default jre for distribution, make sure that it's at least 1.6sudo apt-get -y install default-jreif [[ $? -ne 0 ]]; thenecho "Failed installing java, exiting"exit 2fineedToInstallJavaif [[ $? -ne 0 ]]; thenecho "Installed java version is too old, exiting"exit 3fi
fiset -ecommonDependencies='libcurl4 libjava3d-* ttf-dejavu* fonts-ipafont fonts-baekmuk fonts-nanum fonts-arphic-uming fonts-arphic-ukai'
if [[ $(getconf LONG_BIT) == "32" ]]
thenDependencies_32='libxmlrpc-c++8 libxmlrpc-core-c3'sudo bash -c "apt-get -y install $commonDependencies $Dependencies_32"
else#Note: since URController is essentially a 32-bit program#we have to add some 32 bit libraries, some of them picked up from the linux distribution#some of them are have been recompiled and are inside our ursim-dependencies directory in deb formatpackages=`ls $PWD/ursim-dependencies/*amd64.deb`sudo bash -c "apt-get -y install lib32gcc-s1 lib32stdc++6 libc6-i386 $commonDependencies && (echo '$packages' | xargs dpkg -i --force-overwrite)"
fisource version.sh
URSIM_ROOT=$(dirname $(readlink -f $0))echo "Install Daemon Manager"
installDaemonManager#for TYPE in UR3 UR5 UR7e UR10 UR12e UR16 UR20 UR30
#do
# FILE=$HOME/Desktop/ursim-$VERSION.$TYPE.desktop
# echo "[Desktop Entry]" > $FILE
# echo "Version=$VERSION" >> $FILE
# echo "Type=Application" >> $FILE
# echo "Terminal=false" >> $FILE
# echo "Name=ursim-$VERSION $TYPE" >> $FILE
# echo "Exec=${URSIM_ROOT}/start-ursim.sh $TYPE" >> $FILE
# echo "Icon=${URSIM_ROOT}/ursim-icon.png" >> $FILE
# chmod +x $FILE
#donecopyRuntimeLibraries
pushd $URSIM_ROOT/lib &>/dev/null
chmod +x ../URControlpopd &>/dev/null
以上主要修改:lib32gcc1
->lib32gcc-s1
相关部分,并删除 desktop 相关部分。
随后安装:
./install.sh
启动
cd ~/ursim-5.21.3.1212718
./start-ursim.sh
然后在右上方Setting->System->Network选Static Address,IP改为WSL2的IP地址。
右上方切换 Local Control / Remote Control。