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。

相关推荐
孙克旭_3 小时前
PXE_Kickstart_无人值守自动化安装系统
linux·运维·自动化
皓月盈江4 小时前
Linux电脑本机使用小皮面板集成环境开发调试WEB项目
linux·php·web开发·phpstudy·小皮面板·集成环境·www.xp.cn
深井冰水4 小时前
mac M2能安装的虚拟机和linux系统系统
linux·macos
leoufung5 小时前
内核内存锁定机制与用户空间内存锁定的交互分析
linux·kernel
忧虑的乌龟蛋6 小时前
嵌入式Linux I2C驱动开发详解
linux·驱动开发·嵌入式·iic·i2c·读数据·写数据
I_Scholar7 小时前
OPENSSL-1.1.1的使用及注意事项
linux·ssl
Johny_Zhao7 小时前
K8S+nginx+MYSQL+TOMCAT高可用架构企业自建网站
linux·网络·mysql·nginx·网络安全·信息安全·tomcat·云计算·shell·yum源·系统运维·itsm
稳联技术7 小时前
Ethercat转Profinet网关如何用“协议翻译术“打通自动化产线任督二脉
linux·服务器·网络
烟雨迷8 小时前
Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)
linux·服务器·学习·编辑器·vim
Bruk.Liu8 小时前
Linux 上安装RabbitMQ
linux·服务器·rabbitmq