WSL2-Ubuntu22.04安装URSim5.21.3

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版本太老了,尝试过没有安装成功。

bash 复制代码
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/665742
	sudo apt-get -y install runit

	echo "Creating user daemon service directory"
	sudo mkdir -p $userDaemonManagerDirectory
	echo '#!/bin/sh' | sudo tee $userDaemonManagerRunScript >/dev/null
	echo 'exec 2>&1' | sudo tee -a $userDaemonManagerRunScript >/dev/null
	echo "exec chpst -u`whoami` runsvdir $userServiceDirectory" | sudo tee -a $userDaemonManagerRunScript >/dev/null
	sudo chmod +x $userDaemonManagerRunScript

	echo "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-script
        version=$(java -version 2>&1 | awk -F '"' '/version/ {print $2}')
        echo version "$version"
        if [[ "$version" > "1.6" ]]; then
	    echo "java version accepted"
            return 0
	fi
    fi
    return 1
}

copyRuntimeLibraries() {
    local sourceDir="${URSIM_ROOT}/dynlibs"
    local targetDir="/usr/local/urcontrol"

    if [[ -d "$sourceDir" ]]; then
        echo "Copying runtime libraries to $targetDir"
        sudo mkdir -p "$targetDir"
        sudo cp -R "$sourceDir" "$targetDir"
		sudo rm -rf "$sourceDir"
    else
        echo "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 ]]
then
	xterm -e "$0"
	exit 0
fi

needToInstallJava
if [[ $? -ne 0 ]]; then
	# install default jre for distribution, make sure that it's at least 1.6
	sudo apt-get -y install default-jre
	if [[ $? -ne 0 ]]; then
		echo "Failed installing java, exiting"
		exit 2
	fi
	needToInstallJava
	if [[ $? -ne 0 ]]; then
		echo "Installed java version is too old, exiting"
		exit 3
	fi
fi

set -e

commonDependencies='libcurl4 libjava3d-* ttf-dejavu* fonts-ipafont fonts-baekmuk fonts-nanum fonts-arphic-uming fonts-arphic-ukai'
if [[ $(getconf LONG_BIT) == "32" ]]
then
        Dependencies_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 format
	packages=`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)"
fi

source 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
#done

copyRuntimeLibraries
pushd $URSIM_ROOT/lib &>/dev/null
chmod +x ../URControl

popd &>/dev/null

以上主要修改:lib32gcc1 ->lib32gcc-s1相关部分,并删除 desktop 相关部分。

随后安装:

bash 复制代码
./install.sh

启动

bash 复制代码
cd ~/ursim-5.21.3.1212718
./start-ursim.sh

然后在右上方Setting ->System ->NetworkStatic Address ,IP改为WSL2的IP地址。

右上方切换 Local Control / Remote Control。

相关推荐
Lw老王要学习22 分钟前
Linux容器篇、第二章_01Ubuntu22 环境下 KubeSphere 容器平台高可用搭建全流程
linux·运维·服务器·k8s·kubesphere·容器化
張萠飛1 小时前
Linux下如何使用shell脚本导出elasticsearch中某一个index的数据为本地csv文件
linux·运维·elasticsearch
晓枫-迷麟3 小时前
【nano与Vim】常用命令
linux·编辑器·vim
LucienShui3 小时前
Webhook 配置备忘
linux·运维·webhook
超级土豆粉4 小时前
从0到1写一个适用于Node.js的User Agent生成库
linux·ubuntu·node.js
PH_modest4 小时前
【Linux跬步积累】—— 网络编程套接字(二)
linux·运维·网络
CIb0la4 小时前
Ubuntu 25.10 将默认使用 sudo-rs
linux·程序人生·生活
成工小白4 小时前
【Linux】文件操作
linux·运维·服务器
程序员打怪兽5 小时前
基于V4L2摄像头智能识别拍照(人脸和手掌)
linux·嵌入式
张海森-1688206 小时前
windows10搭建nfs服务器
linux