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。
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/79347.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/79347.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/79347.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

產品研發項目管理6大痛點

在產品研發項目管理實踐中,企業普遍面臨六大系統性挑戰🤷?♀?,直接影響研發效能與戰略目標達成🔔,具體表現為: ① 產品需求管理不完善:需求與市場脫節,需求不明確、需求變更頻繁…

計算機網絡基礎概論

計算機網絡基礎概論 目錄 一、網絡基本概念 1.1. 網絡 1.2 互聯網 1.3 ip地址 1.3.1 作用 1.3.2 分類 1.4 MAC地址 1.4.1 MAC地址與 IP 地址的關系 1.5 網絡協議 二、網絡分層模型 2.1 物理層 2.2 數據鏈路層 2.3 網絡層 2.4 傳輸層 2.5 會話層 2.6 表示層 2.7…

Windows下導入文件中的環境變量

在Windows批處理腳本(.bat)中,通過文件獲取并設置環境變量通常涉及逐行讀取文件內容并動態賦值給變量。以下是具體實現方法及示例: 一、從文件讀取變量并設置到環境變量 假設有一個配置文件(如env_config.txt&#xf…

WebSocket 實現數據實時推送原理

WebSocket 實現數據實時推送的核心機制在于其全雙工通信能力和持久的連接特性。以下是其工作原理的詳細步驟: 1. 握手階段(HTTP 升級協議) 客戶端發起請求:通過發送一個帶有特殊頭部的 HTTP 請求,請求協議升級。 GET …

Linux操作系統學習之---進程狀態

目錄 明確進程的概念: Linux下的進程狀態: 虛擬終端的概念: 見一見現象: 用途之一 : 結合指令來監控進程的狀態: 和進程強相關的系統調用函數接口: getpid()和getppid(): fork(): fork函數創建子進程的分流邏輯: 進程之間具有獨立性: 進程中存在的寫時拷貝: 見一見進程狀態…

何小鵬在得意的笑

"小鵬汽車率先邁出了造車新勢力出海一大步" 作者 | 魏強 編輯 | 盧旭成 4月15日,小鵬汽車在香港舉行小鵬全球熱愛之夜和2025首款全球旗艦小鵬X9上市發布會。 當小鵬汽車創始人何小鵬把香車X9交付給香港首批車主的時候,臉上露出經典的笑臉。…

@Autowird 注解與存在多個相同類型對象的解方案

現有一個 Student 類,里面有兩個屬性,分別為 name 和 id;有一個 StuService 類,里面有兩個方法,返回值均為類型為 Student 的對象;還有一個 StuController 類,里面有一個 Student 類型的屬性&am…

黑馬商城項目(三)微服務

一、單體架構 測試高并發軟件 二、微服務 三、SpringCloud 四、微服務拆分 黑馬商城模塊: 服務拆分原則: 拆分服務: 獨立project: maven聚合: 拆分案例: 遠程調用: package com.hmall.cart.…

PyTorch:學習 CIFAR-10 分類

🔍 開始你的圖像分類之旅:一步一步學習 CIFAR-10 分類 圖像分類是計算機視覺中最基礎的任務之一,如果你是初學者,那么以 CIFAR-10 為訓練場是一個不錯的選擇。本文一步一步帶你從零開始,學習如何用深度學習模型實現圖…

3.學習筆記--Spring-AOP總結(p39)-Spring事務簡介(P40)-Spring事務角色(P41)-Spring事務屬性(P42)

1.AOP總結:面向切面編程,在不驚動原始基礎上為方法進行功能增強。 2.AOP核心概念: (1)代理:SpringAOP的核心是采用代理模式 (2)連接點:在SpringAOP中,理解為任…

數據庫-day06

一、實驗名稱和性質 分類查詢 驗證 綜合 設計 二、實驗目的 1.掌握數據查詢的Group by ; 2. 掌握聚集函數的使用方法。 三、實驗的軟硬件環境要求 硬件環境要求: PC機(單機) 使用的軟件名稱、版本號以及模塊: …

看門狗定時器(WDT)超時

一、問題 Arduino 程序使用<Ticker.h>包時&#xff0c;使用不當情況下&#xff0c;會導致“看門狗WDT超時” 1.1問題控制臺報錯 在串口監視器顯示 --------------- CUT HERE FOR EXCEPTION DECODER ---------------Soft WDT resetException (4): epc10x402077cb epc2…

AI在多Agent協同領域的核心概念、技術方法、應用場景及挑戰 的詳細解析

以下是 AI在多Agent協同領域的核心概念、技術方法、應用場景及挑戰 的詳細解析&#xff1a; 1. 多Agent協同的定義與核心目標 多Agent系統&#xff08;MAS, Multi-Agent System&#xff09;&#xff1a; 由多個獨立或協作的智能體&#xff08;Agent&#xff09;組成&#xff…

Wireshark TS | 異常 ACK 數據包處理

問題背景 來自于學習群里群友討論的一個數據包跟蹤文件&#xff0c;在其中涉及到兩處數據包異常現象&#xff0c;而產生這些現象的實際原因是數據包亂序。由于這兩處數據包異常&#xff0c;都有點特別&#xff0c;本篇也就其中一個異常現象單獨展開說明。 問題信息 數據包跟…

【React】項目的搭建

create-react-app 搭建vite 搭建相關下載 在Vue中搭建項目的步驟&#xff1a;1.首先安裝腳手架的環境&#xff0c;2.通過腳手架的指令創建項目 在React中有兩種方式去搭建項目&#xff1a;1.和Vue一樣&#xff0c;先安裝腳手架然后通過腳手架指令搭建&#xff1b;2.npx create-…

深入淺出 NVIDIA CUDA 架構與并行計算技術

&#x1f407;明明跟你說過&#xff1a;個人主頁 &#x1f3c5;個人專欄&#xff1a;《深度探秘&#xff1a;AI界的007》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目錄 一、引言 1、CUDA為何重要&#xff1a;并行計算的時代 2、NVIDIA在…

pytorch學習02

自動微分 自動微分模塊torch.autograd負責自動計算張量操作的梯度&#xff0c;具有自動求導功能。自動微分模塊是構成神經網絡訓練的必要模塊&#xff0c;可以實現網絡權重參數的更新&#xff0c;使得反向傳播算法的實現變得簡單而高效。 1. 基礎概念 張量 Torch中一切皆為張…

Java虛擬機(JVM)平臺無關?相關?

計算機的概念模型 計算機實際上就是實現了一個圖靈機模型。即&#xff0c;輸入參數&#xff0c;根據程序計算&#xff0c;輸出結果。圖靈機模型如圖。 Tape是輸入數據&#xff0c;Program是針對這些數據進行計算的程序&#xff0c;中間橫著的方塊表示的是機器的狀態。 目前使…

satoken的奇奇怪怪的錯誤

發了 /user/getBrowseDetail和/user/getResponDetail&#xff0c;但為什么進入handle里面有三次&#xff1f;且第一次的handle類型是AbstractHandleMapping$PreFlightHttpRequestHandlerxxx,這一次進來的時候flag為false&#xff0c;StpUtils.checkLogin拋出了異常 第二次進來的…

【KWDB 創作者計劃】_上位機知識篇---SDK

文章目錄 前言一、SDK的核心組成API(應用程序接口)庫文件(Libraries)開發工具文檔與示例依賴項與環境配置二、SDK的作用簡化開發流程確保兼容性與穩定性加速產品迭代功能擴展與定制三、SDK的典型應用場景硬件設備開發操作系統與平臺云服務與API集成游戲與圖形開發四、SDK與…