【问题标题】:Determine if a python program is running on WINE判断一个 python 程序是否在 WINE 上运行
【发布时间】:2016-10-04 19:50:04
【问题描述】:

我可以检查 Linux/Windows/cygwin/等。使用 sys.platform,但在 WINE 上它只报告“win32”。

我正在尝试编写一个使用 pyserial 的多平台应用程序,并且我正在使用 WINE 来测试 Windows 环境的设置。在 Windows 上串行端口被命名为 COMxx,但在 Linux 上它们是 /dev/ttyxxx。但是,在 WINE 上,串行端口具有 Linux 名称。我需要检测它是否在独立于 Windows 的 WINE 上运行,以便我可以正确处理。

【问题讨论】:

  • 似乎您可以检查(通过try/except)无论何时sys.platform'win32' 时Linux 串行端口是否存在,以便能够区分。

标签: python pyserial wine


【解决方案1】:

首先,这是未经测试的,尝试创建一个从 .wine/dosdevices/COM1 到 /dev/ttyS0 的符号链接。它应该只允许您以 Windows 方式打开 com 端口。

但是,如果您确定要知道自己是否在 Wine 上运行,“官方”的方法是检查注册表是否具有键“HKEY_LOCAL_MACHINE\Software\Wine”。

不管怎样,如果打开 COM1 在 Wine 上不起作用,这是一个错误,应该与 Wine bugzilla 一起提交。

【讨论】:

    猜你喜欢
    • 2011-11-14
    • 2019-09-21
    • 1970-01-01
    • 2012-07-31
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    • 2010-11-22
    • 1970-01-01
    相关资源
    最近更新 更多