3

Python(PySide)を使用して、Maemo / Meego/Linuxプラットフォーム用のクロスプラットフォームアプリケーションを開発しています。私は回避策を使用して、MaemoとLinuxのプラットフォームを区別します。

try:
    import PySide.QtMaemo5
    PLATFORM = 'maemo'
except ImportError:
    PLATFORM = 'desktop'

Meegoプラットフォームを検出する方法、またはMaemoプラットフォームを検出するためのより良い方法を知っている人はいますか?

4

2 に答える 2

4

最初の方法:プラットフォームモジュールを使用して、Maemoの場合:

>>> import platform
>>> platform.machine()
'armv71'
>>> platform.node() ## This is Host Name, not a safe method
'Nokia N900'

プラットフォームは少なくともMaemoには役立たないので、2番目の(そしてより安全な)方法をお勧めします:/ etc /issueを使用する:

issue = open('/etc/issue').read().strip().lower()
if issue.startswith('maemo'):
  ....
于 2011-03-08T11:47:59.393 に答える
1

非常に満足のいく答えなしに、ソフトウェアが実行されている特定のディストリビューションを特定する方法については、長い間議論されてきました。これを行うには多くのハックがありますが、最も役立つのは「lsb_release」と呼ばれるLinuxStandardsBaseツールを使用することです。

MeeGoに含まれており、次のように使用できます。

$ lsb_release -a

どちらが生成します。

LSBバージョン::core-3.1-arm:core-3.1-noarch:core-3.2-arm:core-3.2-noarch:core-4.0-arm:core-4.0-noarch:desktop-3.1-arm:desktop-3.1- noarch:desktop-3.2-arm:desktop-3.2-noarch:desktop-4.0-arm:desktop-4.0-noarchディストリビューターID:MeeGo説明:MeeGoリリース1.1.90(MeeGo)リリース:1.1.90コード名:MeeGo

私のイメージで。リリースだけが必要な場合は、「lsb_release-r」を実行できます。

残念ながら、MaemoはLinux Standards Baseに注意を払っていません。次のバグを参照してください:https ://bugs.maemo.org/show_bug.cgi?id = 10756 したがって、/ usr / bin/osso-productを使用する必要があります。 -Maemoに関する情報。

于 2011-03-25T16:04:29.683 に答える