当前位置: 首页 > news >正文

WSL2-Ubuntu22.04安装URSim5.21.3

WSL2-Ubuntu22.04安装URSim5.21.3

    • 准备
    • 安装
    • 启动

准备

名称版本
WSL2Ubuntu22.04
URSim5.21.3
VcXsrvNaN

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->NetworkStatic Address,IP改为WSL2的IP地址。
在这里插入图片描述
右上方切换 Local Control / Remote Control。
在这里插入图片描述

相关文章:

WSL2-Ubuntu22.04安装URSim5.21.3

WSL2-Ubuntu22.04安装URSim5.21.3 准备安装启动 准备 名称版本WSL2Ubuntu22.04URSim5.21.3VcXsrvNaN WSL2安装与可视化请见这篇:WSL2-Ubuntu22.04-配置。 安装 我们是wsl2-ubuntu22.04,所以安装Linux版本的URSim,下载之前需要注册一下,即…...

配合 Spring Bean 注入,把 Function 管理起来?

大家好呀!今天我们来聊聊一个特别有意思的话题 - 如何在Spring中优雅地管理和注入Function对象。就像把各种调料整齐地摆在厨房里一样,我们要把各种函数方法也管理得井井有条!🍳 一、为什么要把Function管起来?&#…...

Wireshark TS | 异常 ACK 数据包处理

问题背景 来自于学习群里群友讨论的一个数据包跟踪文件,在其中涉及到两处数据包异常现象,而产生这些现象的实际原因是数据包乱序。由于这两处数据包异常,都有点特别,本篇也就其中一个异常现象单独展开说明。 问题信息 数据包跟…...

vue3 el-dialog新增弹窗,不希望一进去就校验名称没有填写

就是在进入弹窗时、点击关闭/取消按钮时等情况清空该表单校验,在失去焦点或者点击确定/提交按钮的时候再去校验。这里默认已经写好了在失去焦点或者点击确定/提交按钮的时候的校验逻辑。 解决步骤: 一、定义清空表单校验方法 // 清空表单校验const cle…...

【2-12】CRC循环冗余校验码

前言 前面我们介绍了纠错码——海明码,同时还说明了为什么现代网络常用检错重传而不是纠错,本文介绍CRC循环冗余校验码。 文章目录 前言1. 简单定义2. 生成规则3. 例题3.1 例13.2 例2 后记修改记录 1. 简单定义 CRC(Cyclic Redundancy Chec…...

多 Agent 协作怎么整:从谷歌A2A到多Agent交互方案实现

写在前面:多 Agent 协作模式 大型语言模型(LLM)的浪潮之下,能够自主理解、规划并执行任务的 AI Agent(智能体)正成为人工智能领域最炙手可热的焦点。我们惊叹于单个 Agent 展现出的强大能力,但当面对日益复杂的现实世界任务时,单个 Agent 的局限性也逐渐显现。 正如人…...

内部聊天软件,BeeWorks-安全的企业内部通讯软件

企业在享受数据便利的同时,如何保障企业数据安全已经成为无法回避的重要课题。BeeWorks作为一款专为企业设计的内部通讯软件,通过全链路的安全能力升维,为企业提供了一个安全、高效、便捷的沟通协作平台,全面保障企业数据安全。 …...

健康养生:开启活力生活的密钥

当我们在健身房看到年逾六旬却身形矫健的老人,在公园偶遇精神矍铄、步伐轻快的长者,总会惊叹于他们的健康状态。其实,这些都得益于长期坚持科学的养生之道。健康养生并非遥不可及的玄学,而是融入生活细节的智慧。​ 在饮食的世界…...

士兵乱斗(贪心)

问题 B: 士兵乱斗 - USCOJ...

Android 不插SIM卡,手机不能拨打紧急电话;2g+gsm配置才支持112紧急拨号

[DESCRIPTION] 不插SIM卡,手机不能拨打紧急电话 Root Cause 手机没有写入合法的IMEI;或者当地的某个运营商不支持紧急电话,而手机正好选上了这个运营商;或者当地的某个运营商不支持无SIM卡的紧急电话,而手机正好选上了这个运营商 [SOLUTION] …...

Freertos----信号量

一、信号量的特性: 生产者为任务A、B,消费者为任务C、D一开始信号量的计数值为0,如果任务C、D想获得信号量,会有两种结果: 阻塞:买不到东西咱就等等吧,可以定个闹钟(超时时间)即刻返回失败&…...

AI 数字短视频数字人源码开发的多元价值与深远意义​

在短视频行业竞争日益激烈的当下,AI 数字短视频数字人源码开发正以颠覆性的姿态,为行业带来诸多前所未有的优势,从创作、传播到商业变现等环节,全面重塑短视频生态。​ 创新创作模式,激发无限创意​ 传统短视频创作受…...

Apifox下载安装与使用

一、Apifox下载 官网地址:Apifox 点击"免费下载",即可进行下载。 二、Apifox安装 双击安装文件即可安装。...

命令行参数解析 - argparse 模块

1、简介 argparse 模块是 Python 标准库中提供的一个 命令行解析模块 ,它可以让使用者以类似 Unix/Linux 命令参数的方式输入参数(在终端以命令行的方式指定参数),argparse 会自动将命令行指定的参数解析为 Python 变量&#xff…...

【Android】 如何将 APK 内置为系统应用(适用于编辑设置属性)

如何将 APK 内置为系统应用(适用于编辑设置属性) 在 Android 中,将 APK 文件内置为系统应用涉及到一系列的命令和步骤。以下是详细的操作流程,帮助您解决常见问题,如 /system not in /proc/mounts 的错误。 挂载system/app获取可读写权限 …...

随手笔记-python-opencv 读取图像的顺序 与pytorch处理图像的顺序

import cv2# 读取图像 image_path path/to/your/image.jpg # 替换为你的图像路径 image cv2.imread(image_path)# 检查图像是否成功读取 if image is None:print("Error: Unable to load image.") else:print("Image loaded successfully.") 1、OpenCV…...

996引擎-实战笔记:Lua 的 NPC 面板获取 Input 内容

996引擎-实战笔记:Lua 的 NPC 面板获取 Input 内容 获取 Input 内容测试NPC参考资料获取 Input 内容 测试NPC -- NPC入口函数 function main(player)local msg = [[<Img|id=9527|x=0|y=0|width=300|height=150|img=public/bg_npc_01.png|bg=1|move=1|reset=1|show=0|layer…...

少数服从多数悖论、黑白颠倒与众人孤立现象之如何应对(一)

观己之前&#xff0c;也可先观众生 如果当时没有袖手旁观&#xff0c;或许唇不亡齿也不会寒 ■如何轻松/更好应对个别被众人孤立&#xff08;他人、辨别、自己&#xff09; ●他人被孤立 不参与 有余力&#xff0c;助弱者 被孤立者本身有问题 •不参与&#xff1a;不会辨…...

大模型在急性单纯性阑尾炎预测及治疗方案制定中的应用研究

目录 一、引言 1.1 研究背景与意义 1.2 研究目的 1.3 研究方法与创新点 二、急性单纯性阑尾炎概述 2.1 定义与发病机制 2.2 临床表现 2.3 传统诊断方法 三、大模型在急性单纯性阑尾炎预测中的应用 3.1 大模型简介 3.2 数据收集与处理 3.3 模型训练与优化 3.4 预测…...

科研新触角:松灵六轴臂重构具身智能生态

在具身智能&#xff08;Embodied AI&#xff09;从实验室走向产业化的进程中&#xff0c;硬件性能与场景适配性成为技术落地的核心瓶颈。松灵机器人推出的全自研科研级轻量六轴机械臂PiPER&#xff0c;以“轻量化设计毫米级精度跨平台兼容”三大技术突破&#xff0c;重新定义了…...

第四讲 感应熔炼电炉设计和感应器参数计算(中)

第四讲 感应熔炼电炉设计和感应器参数计算&#xff08;中&#xff09; 目录 第四讲 感应熔炼电炉设计和感应器参数计算&#xff08;中&#xff09;磁轭、短路环、消磁环、水冷圈的设计1. 磁轭的设计1.1 磁轭的作用1.2 磁轭的材料1.3 磁轭截面设计1.4 磁轭高度的确定1.5 磁轭总重…...

【Contiki】Contiki源码目录结构

00. 目录 文章目录 00. 目录01. 概述02. Contiki目录结构03. apps目录04. core目录05. CPU目录06. doc目录07. examples目录08. platform目录09. regression-tests目录10. tools目录11. 附录 01. 概述 Contiki是一款开源操作系统&#xff0c;专为微小的低功耗微控制器设计&…...

第五章 SQLite数据库:3、SQLite 常用语法及使用案例

SQLite Insert 语句 SQLite 的 INSERT INTO 语句用于向表中添加新数据行。 语法 INSERT INTO 有两种常见语法形式&#xff1a; 使用列名指定要插入的列&#xff1a; -- 插入数据并指定列名 INSERT INTO TABLE_NAME (column1, column2, ..., columnN) VALUES (value1, va…...

【安卓开发】【Android Studio】Menu(菜单栏)的使用及常见问题

一、菜单栏选项 在项目中添加顶部菜单栏的方法&#xff1a; 在res目录下新建menu文件夹&#xff0c;在该文件夹下新建用于菜单栏的xml文件&#xff1a; 举例说明菜单栏的写法&#xff0c;只添加一个选项元素&#xff1a; <?xml version"1.0" encoding"ut…...

web-ssrfme

SSRF漏洞 SSRF是Server-Side Request Forgery&#xff08;服务器端请求伪造&#xff09;的缩写&#xff0c;是一种网络攻击技术。攻击者发送恶意请求给目标服务器&#xff0c;让服务器去访问攻击者指定的其他服务器或者域名&#xff0c;从而获取敏感信息或者攻击其他系统。 S…...

Linux:进程:进程状态

进程是一个负责分配系统资源&#xff08;CPU时间&#xff0c;内存&#xff09;的实体。 进程内核数据结构&#xff08;用于描述和组织进程&#xff09;代码数据&#xff08;实际内容&#xff09; 描述进程-PCB 进程信息被放在⼀个叫做进程控制块的数据结构中&#xff0c;简称…...

NoSQL 与 NewSQL 全面对比:如何选择适合你的数据库方案?

1. 引言 随着互联网业务的爆发式增长&#xff0c;传统关系型数据库&#xff08;RDBMS&#xff09;面临着越来越大的挑战。海量数据存储、高并发访问、低延迟响应等需求促使技术团队寻找更适合的解决方案。在这一背景下&#xff0c;NoSQL 和 NewSQL 作为两种不同方向的技术路线…...

在 MoonBit 中引入 Elm 架构:用简单原则打造健壮的 Web 应用

Elm 是一种纯函数式编程语言&#xff0c;专为构建前端 Web 应用程序而设计。它编译为 JavaScript&#xff0c;强调简洁性、性能和健壮性。 纯函数式的含义是函数没有副作用&#xff0c;这使得代码更易于理解和调试。通过强大的静态类型检查&#xff0c;Elm 确保应用程序不会抛…...

虚幻基础:ue引擎的碰撞

文章目录 碰撞&#xff1a;碰撞体间 运动后 产生碰撞的行为——由引擎负责&#xff0c;并向各自发送事件忽略重叠阻挡 碰撞体类型模式纯查询&#xff1a;不清楚具体作用可以阻挡 actor碰撞(武器&#xff1a;刀/子弹)子组件可以产生阻挡 角色的碰撞只有根组件可以阻挡&#xff0…...

「电商玩法」AI自动创作系统源码:商品图+视频+营销文案一键生成

—零代码搭建智能内容工厂&#xff0c;1人日更1000条爆款素材 电商行业核心痛点 1. 内容产能不足 中小商家无力承担专业摄影/剪辑&#xff0c;商品图质量差→转化率<1%热点借势慢&#xff1a;竞品已开始推“淄博烧烤同款”&#xff0c;你的素材还在拍摄中 2. 成本居高不下…...

图形变换算法

一、学习目的 &#xff08;1&#xff09;掌握多面体的存储方法。 &#xff08;2&#xff09;掌握图形的几何变换及投影变换。 &#xff08;3&#xff09;掌握三维形体不同投影方法的投影图的生成原理。 &#xff08;4&#xff09;掌握多面体投影图绘制的编程方法。 二、学…...

no such window: target window already closed的解决方法

我在使用selenium 切换窗口的时候&#xff0c;由于不小心关闭了一个窗口&#xff0c;运行的时候就遇到这样的警告&#xff1a; no such window: target window already closed 具体的问题展示&#xff1a; 这个问题表示&#xff1a;当前的页面被关闭了&#xff0c;selenium 找…...

vue常见错误

1、 Cant resolve vant/lib/index.less 1. 未正确安装 Vant 首先&#xff0c;确保你已经正确安装了 Vant。可以通过以下命令来安装&#xff1a; npm install vant --save 或者使用 yarn&#xff1a; yarn add vant 2. LESS 加载器未配置 如果你在项目中使用了 Vant 的 L…...

chrome中的copy xpath 与copy full xpath的区别

学过测试或者爬虫的&#xff0c;都感觉获取网页元素&#xff0c;使用xpath最方便 但其中有一些细节可能会使你摸不清头脑 比如有时候copy xpath会定位不准确&#xff0c;而使用copy full xpath就可以定位 1、copy xpath&#xff08;相对路径定位&#xff09; 优点&#xff…...

【Docker】运行错误提示 unknown shorthand flag: ‘d‘ in -d ----详细解决方法

使用docker拉取Dify的时候遇到错误 错误提示 unknown shorthand flag: d in -dUsage: docker [OPTIONS] COMMAND [ARG...]错误原因解析 出现 unknown shorthand flag: d in -d 的根本原因是 Docker 命令格式与当前版本不兼容&#xff0c;具体分为以下两种情况&#xff1a; 新…...

VS Code 安装及常用插件

一、VS Code下载与安装 1、概述 Visual Studio Code简称VS Code&#xff0c;是一款功能强大的代码编辑器&#xff0c;与IDE&#xff08;集成开发环境&#xff09;不同&#xff0c;VS Code需要安装平台相应的编译器和语言的扩展。 IDE&#xff1a;是用于提供程序开发环境的应…...

iptables防火墙

目录 一 Linux防火墙基础 1 iptables的表&#xff0c;链结构 &#xff08;1&#xff09;规则表 filter 表 nat 表 mangle 表 raw 表 &#xff08;2&#xff09;规则链 2 数据包过滤的匹配流程 &#xff08;1&#xff09;规则表之间的顺序 &#xff08;2&#xff09;…...

【JavaWeb】详细讲解 HTTP 协议

文章目录 一、HTTP简介1.1 概念1.2 特点 二、协议2.1 HTTP-请求协议&#xff08;1&#xff09;GET方式&#xff08;2&#xff09;POST方式&#xff08;3&#xff09;GET和POST的区别&#xff1a; 2.2 HTTP-响应协议&#xff08;1&#xff09;格式&#xff08;2&#xff09;响应…...

非阻塞I/O操作

非阻塞I/O操作是一种I/O操作模式&#xff0c;在这种模式下&#xff0c;应用程序在发出I/O请求后不会立即等待操作完成&#xff0c;而是继续执行其他任务。当I/O操作完成或可以进行时&#xff0c;系统会通知应用程序。这种操作模式可以提高程序的效率和响应能力&#xff0c;因为…...

Redis面试问题详解2

Redis面试问题详解2 一、分布式锁 分布式锁主要用于解决多服务器之间的并发问题。Redis通过SETNX命令实现分布式锁&#xff0c;确保同一时间只有一个线程可以获取锁。 1. 基本实现 获取锁 使用SETNX命令设置锁&#xff0c;并设置一个过期时间&#xff0c;避免死锁。 Stri…...

【软件测试】性能测试概念篇

​​1. 性能测试的定义​​ 性能测试是通过模拟真实用户行为、系统负载或极端条件&#xff0c;评估软件系统在特定场景下的​​响应能力、稳定性、资源消耗及扩展性​​的过程。其核心目标是&#xff1a; ​​验证系统容量​​&#xff1a;确保系统在预期负载下&#xff08;如…...

在Pycharm配置stable diffusion环境(使用conda虚拟环境)

自己配环境的时候也没个指南&#xff0c;少安装包或者包之间版本冲突是再按正常不过的事了&#xff0c;真的令人不胜其烦。 下面记录一下自己在conda虚拟环境配置stable diffusion的代码环境&#xff0c;希望能帮大家少踩几个坑。 虚拟环境配置 默认你已经安装了annaconda&am…...

Uniapp微信小程序:轻松获取用户头像和昵称

参考文献&#xff1a;Uniapp微信小程序&#xff1a;轻松获取用户头像和昵称-百度开发者中心 (baidu.com) uni.login({ provider: weixin, success: function (loginRes) { console.log(loginRes.authResult); // 打印登录凭证 // 使用登录凭证获取用户信息 uni.getUserInfo({ …...

Qt核心知识总结

Qt核心知识总结 Qt 是一个功能强大、跨平台的 C 应用程序开发框架&#xff0c;广泛应用于图形用户界面&#xff08;GUI&#xff09;应用程序的开发&#xff0c;同时也支持非 GUI 应用程序的开发。本文将从入门到精通的角度&#xff0c;详细解析 Qt 的核心知识点&#xff0c;帮…...

Doris的向量化执行如何支撑分布式架构和复杂查询

Doris 的向量化执行能力与其 分布式架构 和 复杂查询优化 深度结合&#xff0c;通过 批处理 列式计算 分布式调度 的协同设计&#xff0c;解决传统分布式数据库在复杂查询场景下的性能瓶颈。以下是具体原理展开&#xff1a; 一、向量化如何适配分布式架构&#xff1f; Doris…...

无源蓝牙技术与传统RFID(射频识别)对比

百事可乐的无源蓝牙技术与传统RFID&#xff08;射频识别&#xff09;虽然都属无线通信技术&#xff0c;但在工作原理、应用场景和技术性能上存在显著差异。以下是深度对比分析&#xff1a; ​一、核心技术差异​ ​维度​​无源蓝牙&#xff08;如百事方案&#xff09;​​​R…...

Operator 开发入门系列(一):Hello World

背景 我们公司最近计划将产品迁移到 Kubernetes 环境。 为了更好地管理和自动化我们的应用程序&#xff0c;我们决定使用 Kubernetes Operator。 本系列博客将记录我们学习和开发 Operator 的过程&#xff0c;希望能帮助更多的人入门 Operator 开发。 目标读者 对 Kubernete…...

Immich图库本地部署与远程管理:打造你的专属照片云服务

文章目录 前言1.关于Immich2.安装Docker3.本地部署Immich4.Immich体验5.安装cpolar内网穿透6.创建远程链接公网地址7.使用固定公网地址远程访问 前言 小伙伴们&#xff0c;你们好呀&#xff01;今天要给大家带来一个超炫的技能——让你家的电脑秒变私人云相册&#xff0c;并且…...

OpenShift AI + DeepSeek+IBM CP4BA:实现AI业务自动化中台

一、OpenShift AI DeepSeek 1、什么是 OpenShift AI&#xff1f; OpenShift AI&#xff08;前身为 Red Hat Open Data Hub&#xff09;是 Red Hat OpenShift 平台上的一套 AI/ML 工具集&#xff0c;基于 Kubernetes&#xff0c;为企业提供可扩展的机器学习平台&#xff0c;可…...

游戏引擎学习第229天

仓库:https://gitee.com/mrxiao_com/2d_game_5 回顾上次内容并介绍今天的主题 上次留下的是一个非常简单的任务&#xff0c;至少第一步是非常简单的。我们需要在渲染器中加入排序功能&#xff0c;这样我们的精灵&#xff08;sprites&#xff09;才能以正确的顺序显示。为此我…...