AskUbuntu 社区下午好。我来这里是为了寻求一些帮助,以便更好地了解我发现的 Ubuntu 的这个优秀环境 :)
那么让我们从头开始。我有一台旧的 Panasonic Toughbook CF-19,我决定尝试使用 Ubuntu 而不是 Win,以便让这台旧机器运行得更快。这是我第一次使用 Ubuntu。我想通过运行名为 OziExplorer 的 GPS 地图软件将这台计算机用作导航助手。该软件不适用于 Linux,但适用于 Wine。因此,我使用 Wine 安装了 OziExplorer,一切顺利。为了确定我当前的位置,我使用从 Ebay 购买的 USB GPS“鼠标”,它在 Windows 和 Oziexplorer 上工作得很好。问题就在这里。GPS“鼠标”通过 USB 连接,但实际上是串行的。在 Win 中,我必须安装著名的 CP210x 驱动程序才能拥有虚拟 USB COM 端口。幸运的是,这些驱动程序已经在 Ubuntu 的内核中,事实上,如果我在dmesg
插入 USB GPS 接收器后运行,我会发现它已被计算机识别并已分配给虚拟 com 端口“ttyUSB2”。我学到的下一件事是,我必须在虚拟 com 端口和 Wine 之间建立符号链接,以欺骗 Oziexplorer 看到 COM1 上的 GPS 接收器。因此,我dmesg
再次运行该命令以检查 GPS 接收器的分配情况(它是 ttyUSB2),然后运行另一个命令来创建符号链接:
sudo ln -s /dev/ttyUSB2 com1
我注意到这个命令在 .wine/dosdevices 中创建了一个名为“com1”的文件,但 Oziexplorer 仍然拒绝打开 COM 端口并与 GPS 接收器通信,无论我链接哪个 com 端口,结果都是一样的,失败!:( 经过反复尝试,我偶然发现了一个俄罗斯博客,其中谈到将 OZIexplorer 与 wine 一起使用,在那里我发现了另外 2 个我在其他讨论中从未见过的命令:
cd ~/.wine/dosdevices
sudo ln -s /dev/ttyUSB2 com1
sudo chmod 666 com1
通过运行此程序,OziExplorer 最终与 COM1 上的 GPS 接收器建立连接 !! :D 现在我的问题是,每次我将笔记本电脑置于睡眠状态和/或拔下/重新插入 GPS 接收器时,Oziexplorer 都会拒绝打开 COM 端口。解决的唯一方法是删除 /.wine/dosdevices 中的“com1”文件并重新执行
cd ~/.wine/dosdevices
sudo ln -s /dev/ttyUSB2 com1
sudo chmod 666 com1
所以我想问一下有没有办法让设置永久生效?我可以在桌面上创建一个快捷方式,这样我只需单击一次就可以自动运行这些命令吗?如果可以,请解释一下怎么做 :)
感谢您的耐心。Alessio
答案1
- 打开终端
- 跑步
nano fixCom1.sh
将其粘贴到 Nano 中:
#!/bin/sh ehco "Removing com1..." sudo rm ~/.wine/dosdevices/com1 echo "Linking ttyUSB2 to com1..." sudo ln -s /dev/ttyUSB2 ~/.wine/dosdevices/com1 echo "Setting permissions for com1..." sudo chmod 666 ~/.wine/dosdevices/com1 sleep 1
现在,按CTRL+X,然后Y按Enter将文件写入磁盘
接下来,
chmod +x fixCom1.sh
再次运行 nano
nano ~/Desktop/fixCOM1.desktop
将其粘贴到 Nano 中:
[Desktop Entry] Name="Fix COM 1" Exec=~/fixCom1.sh Terminal=true Type=Application
现在您的桌面上将有一个图标!
答案2
更好的解决方案是使用 wine regedit。
$ wine regedit
- 去
HKLM/SOFTWARE/WINE/PORTS
- 添加
com1
带有值的键/dev/ttyUSB2