在 Ubuntu 上使用 VirtualBox 设置串行端口(客户操作系统:Windows XP)

在 Ubuntu 上使用 VirtualBox 设置串行端口(客户操作系统:Windows XP)

几个星期以来,当我通过 VirtualBox 在客户操作系统 Windows XP Pro 上工作时,我尝试访问计算机的串行端口时遇到了麻烦。主机操作系统是 Ubuntu 10.04 LTS,我使用的是 VirtualBox 5.0.18。在其设置中,我已将串行端口设置为如下屏幕截图所示:

在此处输入图片描述

...但是我无法运行虚拟机:

在此处输入图片描述

我已经询问过 VirtualBox 论坛,但是他们回复说这更多的是 Ubuntu 的问题而不是 VB 的问题,所以我在这里寻求帮助!

我想要备份一台旧设备(2000 年代初或 1990 年代末),该备份软件只能在 Windows 上打开。我已成功在 XP 客户操作系统上安装并打开该软件,但它无法与外围设备通信。

请原谅我,如果我的表达能力不是总是很好理解,我不习惯运行 Ubuntu,而且我是法国人,所以我的英语可能不是很完美!

不过还是提前谢谢您 :)

卢卡斯

答案1

您的用户不在有权访问串行端口的组中。您可以以 root 身份运行 Virtualbox(不建议 ),或者将您的用户添加到该组中。

sudo usermod -a -G dialout <username>

您可能需要注销并重新登录才能使其正常工作。

干杯

答案2

首先检查主机系统上的实际权限。例如:

~ ls -l /dev/ttyS0

我的是:

crw-rw---- 1 root dialout 4, 64 2016-05-24 07:34:52 /dev/ttyS0

这意味着我要么需要成为 root(左侧第一个“rw-”),要么需要加入 dialout 组(左侧第二个“rw-”)。尝试从命令行使用id以下命令进行检查:

~ id uid=1000(enzo) gid=1000(enzo) groups=1000(enzo),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),127(sambashare)

在这种情况下,我无法访问该串行端口。因此,我可以将自己添加到dialout组中:

~ sudo usermod -a -G dialout enzo enzo如上命令所示,您的用户 ID 在 哪里id ?然后您需要注销并重新登录才能使此更改生效。

答案3

我在我的 Dell Inspiron 上使用 USB 适配器。

$ lsusb | grep Serial

Bus 001 Device 012: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
$ dmesg | grep pl2303

[13131.366817] usbcore: registered new interface driver pl2303

[13131.366830] usbserial: USB Serial support registered for pl2303

[13131.366847] pl2303 1-2:1.0: pl2303 converter detected

[13131.367526] usb 1-2: pl2303 converter now attached to ttyUSB0

所以我改变了/dev/ttyS0/dev/ttyUSB0,并且它运行得很好。

相关内容