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。

相关推荐
qq_3985865412 分钟前
Debian12远程方案xrdp、kasmvnc、novnc
linux·debian·rdp·novnc·kasmvnc
Dovis(誓平步青云)13 分钟前
《Linux 核心 IO 模型深析(中篇):探索Cmake与多路转接的高效实现poll》
linux·运维·服务器·数据库·csdn成长记录
Java 码农20 分钟前
RabbitMQ集群部署方案及配置指南01
linux·服务器·rabbitmq
郝学胜-神的一滴32 分钟前
深入理解Linux中的Try锁机制
linux·服务器·开发语言·c++·程序人生
sim202039 分钟前
把etcd分区挂到SSD盘
linux·etcd
EndingCoder44 分钟前
函数基础:参数和返回类型
linux·前端·ubuntu·typescript
CAU界编程小白1 小时前
Linux系统编程系列之动静态库
linux
济6171 小时前
linux(第十三期)--filezilla使用方法(实现ubuntu和windows11文件互传)-- Ubuntu20.04
linux·运维·ubuntu
HIT_Weston1 小时前
91、【Ubuntu】【Hugo】搭建私人博客:侧边导航栏(五)
linux·运维·ubuntu
oMcLin1 小时前
如何在 Rocky Linux 8.6 上配置并调优 Nginx 与 Lua 脚本,提升 API 网关的性能与并发处理能力
linux·nginx·lua