1 虚拟机的安装

我用的是Virtua Box 的虚拟机,当然也有其他的类似软件;下载虚拟机的网址:

https://www.virtualbox.org/wiki/Downloads

自行去下载合适的版本,如下我的版本;



安装步骤按提示一步步来安装即可;我在2年前安装的,忘了记录;

可以参考文档:

https://www.jb51.net/article/94065.htm

https://blog.csdn.net/u012732259/article/details/70172704

2 在虚拟机中安装Ubuntu系统

2.1下载Ubuntu的系统镜像:

官网:https://cn.ubuntu.com/download

注意:不建议下载最新的版本,由于我后面要配套LabVIEW的开发,所以采用Ubuntu2204+LabVIEW2022Q3的配置。这就是Linux系统要特别注意安装包的版本兼容问题。

下载得到:https://cn.ubuntu.com/download

2.2 虚拟机新建与安装



按提示一步步进行即可,注意的是新建虚拟硬盘的时候,不要设置太小,内存等也设置合适。否则后面引起不必要的问题。如下我的设置:



3 在Windows和Ubuntu系统间共享文件

3.1首先得保证windows和Ubuntu能互相Ping通:

设置虚拟机网卡是关键,关闭防火墙:

3.2设置共享文件夹:

3.3挂载文件夹:

(1)临时挂载:

Ubuntu系统按下ctrl+Alt+t进入终端,输入指令:

sudo mount -t vboxsf DataSets share

输入你的密码;

前提是你新建了一个在Home下面share文件家哈,且在home界面开启终端,忘了说了;

即可完成挂载,此时就可以看到windows这边共享的文件了。

(2)Ubuntu开机自动挂载:

点击Ubuntu系统:



进入路径,打开文件:Computer/etc/fstab编辑:



这里的- 1 , 2按自己的设置填写,1是Windows共享文件夹 , 2是Ubuntu要挂载的目的地

保存文件,重启就会发现开机自动挂载好了。

4 LabVIEW的安装

4.1去NI官网下载Linux版本的LabVIEW;

我这里下载2022 Q3社区版本,注意下载需要注册NI账号。



下载完成得到:

4.2将iso文件挂载出来

Ubuntu先建立一个空文件夹lv2022,然后终端使用指令,这两部都可以用指令来执行;

打开终端:



输入指令:

sudo mkdir lv2022 //新建一个文件夹

sudo mount -o loop 'iso的路径' '刚新建的那个路径' //这俩路径你可以手动输入,也可以鼠标拖拽。

说明:过程中可能会提示如我下图所示的一些错误提示,主要问题在于权限,这个在Linux系统下特别留意下。 我的解决思路,一般如下:

(1)重新把提示你没权限的文件夹或文件,复制一份到桌面,然后去操作;

(2)操作就是鼠标右键属性,修改:

当然,也可以通过指令设置权限,大家遇到自行去搜索。一个链接给大家参考:https://blog.csdn.net/s13227843385/article/details/80784881

4.3安装LabVIEW

下载下来的默认是.rpm格式文件,这个资料是用在Linux其他几个衍生版本的系统安装文件,比如Redhat,Debian等;现在是Ubuntu系统,毫无疑问,直接安装就会出错。这一章节,我们参考文档:

https://blog.csdn.net/qq_38486824/article/details/121055388

这个讲的比较详细,参考它一步步去安装。

4.4在桌面建立一个LabVIEW快捷方式

4.4.1进入如下路径找到这个LabVIEW的快捷方式文件

4.4.2复制该文件到桌面

4.4.3记事本来打开该文件,修改路径:





4.4.4保存(另存为)新的文件

4.4.5右击文件选择“Allow Launching”



图标变成彩色,即OK;

提几个要注意的点:``

(1)所以得rpm文件得全部转换成功,如果有一个出错变不正常。 我在2个不同的版本的Ubuntu系统转换过,有一次永远会有那么几个文件转化不成功。

最后我是从之前转化好的文件拷贝过来的。 当然我想应该这样可以解决:

解决apt-get安装中的E: Sub-process /usr/bin/dpkg returned an error code (1)问题

在用apt-get安装软件包的时候遇到E: Sub-process /usr/bin/dpkg returned an error code (1)问题,解决方法如下:

点击查看代码
cd /var/lib/dpkg/
sudo mv info/ info_bak # 现将info文件夹更名
sudo mkdir info # 再新建一个新的info文件夹
sudo apt-get update # 更新
sudo apt-get -f install # 修复
sudo mv info/* info_bak/ # 执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_bak文件夹下
sudo rm -rf info # 把自己新建的info文件夹删掉
sudo mv info_bak info # 把以前的info文件夹重新改回名

到此问题得以顺利解决。

参考:https://www.cnblogs.com/nkh222/p/8126455.html

(2)其实可以不用删除原来的.rpm文件,不影响后续的LabVIEW安装。

5 NI-VISA的安装

5.1下载VISA

这里要注意的是,VISA版本与Ubuntu版本的匹配问题,我的Ubuntu是2204,查阅资料,对应的比较合适的VISA2023Q3;

下载地址:https://www.ni.com/zh-cn/support/downloads/drivers/download.ni-visa.html#487486



5.2NI-VISA 安装与配置:

  1. 下载设备驱动程序安装包:下载NI Linux设备驱动程序 - NI ,这个安装包支持 Ubuntu 18.04 / 20.04,需要注意的,安装包支持的内核版本与你所使用的 Ubuntu 的内核版本必须相同,否则会安装失败,可以在下载页面上点击 “查看自述文件” 查看安装包支持的内核版本,如果内核版本不一致,可以在下载页面上选择其它版本的安装包;

查看 Ubuntu 内核版本:

uname -r

2. 安装 NI-VISA:解压下载的安装包,在解压后的路径下运行下面的命令:

sudo apt install ./ni-ubuntu1804firstlook-drivers-2021Q4.deb

sudo apt update

sudo apt install ni-visa

3. 如果你使用的操作系统是 Ubuntu 20.04 / 22.04,请执行下面这些命令,这样做的目的是让普通权限用户也能访问 USB 仪器,Ubuntu 18.04 用户请略过此步。

sudo mkdir /etc/udev/agents.d

sudo mkdir /etc/udev/agents.d/usb

sudo ln -s /usr/lib/x86_64-linux-gnu/ni-visa/usb/nivisa_usbraw /etc/udev/agents.d/usb/

sudo ln -s /usr/lib/x86_64-linux-gnu/ni-visa/usb/nivisa_usbtmc /etc/udev/agents.d/usb/

sudo ln -s /usr/lib/x86_64-linux-gnu/ni-visa/usb/nivisa_usbtmc.rules /etc/udev/rules.d/

4. 禁用 Ubuntu 系统原生的 usbtmc 模块,因为这个模块会独占仪器的 USB 资源,导致 NI-VISA 无法访问仪器,使用下面的命令禁止 usbtmc 模块加载:

$ sudo su

echo 'blacklist usbtmc' > /etc/modprobe.d/nousbtmc.conf

  1. 收藏或标记本文,然后重启 Ubuntu

reboot

上述的指令供参考,具体需要依据实际情况修改文件名,路径等。

5.3安装过程中可能会遇到的问题

某些步骤报错的解决方法:





最后安装成功:



5.4visa测试

这一章节可以参考小草的文档:https://www.sohu.com/a/257854802_712029

其中最后设计到的visa的串口用putty等工具可以通信,而lavbiew依然报错:



这个问题解决方法:参考文档https://blog.csdn.net/c417469898/article/details/117510172

1.问题描述

最近在Linux/ubuntu使用串口设备,发现无法通过串口给Tof相机启动程序,权限不足的问题。

假设串口设备是 /dev/ttyUSB0,那么可以在终端下输入

sudo chmod 666 /dev/ttyUSB0

1

但是每次重新插拔串口设备,或者重新启动电脑都要重新更改权限,很不方便,于是整合了了插入后自动设置权限的方法。

  1. 解决方法(一)

    2.1 其中gedit用vim打开

sudo gedit /etc/udev/rules.d/70-ttyusb.rules

1

2.2 在该文件中添加如下一行(可能不存在此文件而创建一个新文件)

KERNEL==“ttyUSB[0-9]*”, MODE=“0666”

2.3 重启系统即可

这样ttyUSB0-ttyUSB9默认的权限都变成了666,普通用户也可以读写串口了。

  1. 解决方法(二)

    另一种是将该用户添加至dialout用户组,因为tty设备是属于dialout用户组,所以将用户添加到dialout用户组,该用户就具备了访问tty设备的权限;

3.1 查看串口信息

$ ls -l /dev/ttyUSB0

crw-rw---- 1 root dialout 4, 64 Jun 2 18:39 /dev/ttyUSB0

1

2

3.2 查看当前用户名

$ whoami

1

3.3 当前用户加入到dialout用户组

sudo usermod -aG dialout username

1

3.4 最后重启系统即可

6 END

至此,Linux下的LabVIEW开发环境搭建完成;

感谢网上无私分享经验的同学,感谢群里讨论的同学,感谢身边一起讨论的同事。

知识在于传播,技术在于积累,沟通使得二者有无限可能。

与君共勉!

Ubuntu下的LabVIEW开发的更多相关文章

  1. Ubuntu下的PHP开发环境架设

    Ubuntu下的PHP开发环境架设   今天重新装了ubuntu那么就吧过程记录下. 打开终端,也就是命令提示符. 我们先来最小化组建安装,按照自己的需求一步一步装其他扩展.命令提示符输入如下命令: ...

  2. ubuntu下安装 openssl 开发库

    ubuntu下安装 openssl 开发库 检查是否已安装openssl: sudo apt-get install openssl 如果已安装执行以下操作:sudo apt-get install ...

  3. ubuntu下搭建JAVA开发环境【转】

    转自:http://jingyan.baidu.com/article/86fae346b696633c49121a30.html JAVA开发环境是一种跨平台的程序设计语言,可以在windows.L ...

  4. 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解 (旧版本 | 仅作参考)

    . 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...

  5. ubuntu下安装stm32开发环境

    在windowns下开发stm32刚开始学最烦的就是创建工程模板,都不知道为什么要那样设置,而且步骤繁多.现在我告诉大家一个好消息,在linux下配置stm32开发环境包括创建工程,使用JLink仿真 ...

  6. ubuntu下搭建android开发环境之超顺畅模拟器

    如果说android系统的卡,像耳边蚊子让人抓狂,那么android模拟器的卡,那就像午睡时的苍蝇.大概就是一样的恶心~~ 那么,这样的问题对于开发者肯定忍无可忍,我也一样,虽然我还没有入门,但我也一 ...

  7. 【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解

    . 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...

  8. Fedora和Ubuntu下安装OpenGL开发环境配置

    Fedora下OpenGl开发环境配置 开发OpenGL工程需要3个库文件和对应的头文件: libglut.so,libGLU.so,libGL.so, gl.h ,glu.h, glut.h 这些库 ...

  9. Ubuntu下搭建java开发环境

    JDK安装: 1. 在http://www.oracle.com/technetwork/java/javase/downloads/index.html上下载相应版本的JDK环境,这里我使用的是jd ...

  10. 在ubuntu下设置eclipse开发STM32等嵌入式设备

    之前为了能够让ROS与底层能够顺利通讯,我采用可开源开发板arduino ,因为arduino有ROS的库,能够按照ROS wiki上所给的教程就可以顺利的开发,但由于arduino的局限性,我觉得是 ...

随机推荐

  1. Angular的管道

    Angular的管道可以看作成是一个数据格式化展示的工具.管道可以将数据格式化显示,而不改变源数据.获取数据可能简单到创建一个局部变量就行,也可能复杂到从WebSocket中获取数据流.一旦取到数据, ...

  2. java学习之旅(day.21)

    HTML 初识HTML HTML: Hyper Text Markup Language(超文本标记语言) 超文本包括文字.图片.音频.视频.动画等 W3C标准 W3C :World Wide Web ...

  3. kubernetes 之dashboard

    部署 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recomme ...

  4. Python:用tqdm模块绘制进度条

    在计算密集型迭代计算中,我们常常需要知道当前的迭代轮次,最传统的方法就是打印当前迭代计数器的轮数.那有没有更好的方法呢?我们可以使用tqdm模块(非py内置,需要单独按照)来在控制台绘制进度条,这样更 ...

  5. Sublime快速在当前目录下新建文件(advanceNewfile插件)

    1.ctrl+shift+p,输入pci,选择第一个,回车 2.输入 advanceNewfile 安装 3.ctrl+alt+n 新建文件自动保存在当前目录下

  6. B站login-极验逆向

    声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 https:// ...

  7. 剑指Offer-52.正则表达式匹配(C++/Java)

    题目: 请实现一个函数用来匹配包括'.'和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整个模式. ...

  8. WIN10 WIN11 12代 13代 大小核 电源选项

    WIN10 WIN11 12代 13代 大小核;性能核:电源选项:P-core,E-core; 说明: WIN10 也是能正常用 12,13代大小核的. 方法: 1.右键开始菜单,选择"Wi ...

  9. C#.NET rabbit mq 持久化时报错 durable

    The AMQP operation was interrupted: AMQP close-reason, initiated by Peer, code=406, text='PRECONDITI ...

  10. 容器docker技术

    我们先看看很久很久以前,服务器是怎么部署应用的! 由于物理机的诸多问题,后来出现了虚拟机. 但是虚拟化也是有局限性的,每一个虚拟机都是一个完整的操作系统,要分配系统资源,虚拟机多道一定程度时,操作系统 ...