UbuntuのネイティブFAF(ubuntu 17.04以降のQtWebKit)


11

FA(ワイン経由)とともにFAF(ネイティブ)を実行しようとしています。

(この投稿が受け取る意見と、メソッドがどれだけ更新されたかにより、この質問を更新して回答するように決めました。 Pythonクライアントと古いガイド)


ベータ状態のJavaクライアント:

ここに画像の説明を入力してください

このスクリプトを使用します:(2019年3月12日更新)

https://github.com/tatsujb/installFAFscript

https://www.youtube.com/watch?v=BEWUEoQ8Q4k


Pythonクライアント:(現在廃止)

働くFAF

方法:ソースからこのpythonアプリ(FAF)をコンパイルする:

@edwinkslの「Python 3 with PyQt5」ガイドのおかげで起動して実行できます。彼は解決策としてマークしました。よくやった!

更新(2018年1月31日)

申し訳ありませんが、この投稿の更新に時間がかかりました。7000ビューを獲得しました!それは本当に最新の情報に値します。

私は多くのことを尋ねたので、起こった。現在、FAFのLinuxサポートは多かれ少なかれあります。彼らはそれをインストールするためのwikiさえ持っています(そしてディストリビューションごとに!):

https://wiki.faforever.com/index.php?title=Setting_Up_FAF_Linux#Debian.2FUbuntu

ニーズに合うことを保証するものではありません。詳細については、http//forums.faforever.com/viewtopic.php?f = 2&t = 4507をご覧ください。

現時点では、Wikiはそれほど最新ではありません。

しばらくの間、fafをネイティブpythonで実行することができました。virtualenvは必要ありませんでしたが、QTの依存関係とパッケージ構成の変更、およびそれらのFAFの使用が壊れてしまいました...一時的に願っています!

私は個人的にそれを実行しているので安心します(私はここで慰めを提供します(最初に手順6と7をスキップしてみてください、それらは不要かもしれません):

  1. いくつかの前提条件をインストールします。 sudo apt update && sudo apt install wget PyQt5.QtMultimedia python3-idna python3-semantic-version python3-pyqt5 python3-pyqt5.qtwebengine
  2. cd Downloads && wget https://github.com/FAForever/client/archive/0.16.1.tar.gz(またはhttps://github.com/FAForever/client/releases/で最新のリリース)
  3. 抽出(この例では、自宅に抽出します)(cd Downloads/ && mv client-0.16.1.tar.gz ~/ && cd && tar -zxf client-0.16.1.tar.gz && mv client-0.16.1 faf-client && rm client-0.16.1.tar.gz
  4. cd fafclient/ :作業ディレクトリに移動します
  5. sed -i 1,1d requirements.txt :要件からcxFreezeを削除します(必須ではなく、コンパイルを強制終了します)
  6. virtualenv -p python3 faf
  7. pip install -r requirements.txt
  8. sudo wget https://github.com/FAForever/uid/releases/download/v4.0.5/faf-uid -O /usr/bin/faf-uid:ログインバイナリをダウンロードし、:sudo chmod +x /usr/bin/faf-uidfafによる実行を許可します。
  9. touch res/RELEASE-VERSION && echo "0.16.1" >> res/RELEASE-VERSION :fafの最終要件:リリースバージョンファイルを満たします。

今実行する必要がありますが、それのためにランナーを作りましょう:

touch FAF.sh
echo "#! /bin/bash" >> FAF.sh
echo "cd /home/t/faf-client" >> FAF.sh
echo "python3 src/__main__.py" >> FAF.sh
chmod +x FAF.sh

次に./FAF.sh、FAFを実行します。

乾杯!


wiki.qt.io/Building_Qt_5_from_Gitを参照してください。それでも問題がある場合は、qtwebkitのメンテナーに直接連絡してください。
パンサー

t@tsu:~$ sudo apt-get build-dep qt5-default Reading package lists... Done E: You must put some 'source' URIs in your sources.list
タツ

-だから、ソースのURIを置くaskubuntu.com/questions/496549/...
パンサー

2
@tatsu QtWebKitを動作させることができたと思うが、FAFゲームがないので、この動作を完全に検証することはできない。私たちが議論できるように、チャットルームを設置してみましょう。
edwinksl

2
@tatsuその間、私は答えを書きました。試してみて、それが役立つかどうかを確認してください。
edwinksl

回答:


4

注:PyQt5を使用したPython 3の手順は機能することが実証されていますが、PyQt4およびPySideを使用したPython 2の手順はまだ実験段階です。

PyQt5を使用したPython 3(動作確認済み)

474-feature-py3FAForever /クライアントGitHubリポジトリのブランチは、QtWebKitを含むPyQt5でPython 3を使用しているようです。したがって、このブランチを使用することが最も簡単なソリューションです。PyQt5(PyQt4ではない)は実際にはでインストールできるpipので、物事がより便利になることに注意してください。

PyQt5を使用したPython 3の手順:

  1. cd~/Desktop/tempこの回答、git cloneFAForever / client GitHubリポジトリgit checkout474-feature-py3ブランチを作成するための、選択したディレクトリに移動します。

    mkdir ~/Desktop/temp
    cd ~/Desktop/temp
    git clone https://github.com/FAForever/client.git faf-client
    cd faf-client
    git checkout 474-feature-py3
    
  2. Python 3のvirtualenv(デフォルトはUbuntu 17.04のPython 3.5)を作成してアクティブにし、pipそれが最新であることを確認するために強制アップグレードします。

    virtualenv venv -p python3  # replace python3 with python3.6 if you want to use Python 3.6 instead
    source venv/bin/activate
    pip install -U --force-reinstall pip
    
  3. を使用pipしてインストールPyQt5してからrequirements.txt

    pip install PyQt5
    pip install -r requirements.txt
    
  4. faf-uidバイナリをダウンロードしfaf-client/libて実行可能にします:

    wget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O lib/faf-uid
    chmod +x lib/faf-uid
    
  5. 実行pythonsrc/__main__.py

    python src/__main__.py
    

PyQt4およびPySideを使用したPython 2(実験的)

QtWebKitモジュールをインポートする方法を見つけたようですが、FAFゲームがインストールされていないため、これが機能することを完全に確認することはできません。したがって、この回答は進行中です。

一言で言えば、私が使用しaptインストールするpython-qt4んれ、ではない持っているQtWebKitモジュールを。--system-site-packagesオプションを使用せずにvirtualenvを作成およびアクティブ化し、pipインストールPySideに使用しましたQtWebKit。これにはモジュールがあります。次に、PyQt4の適切なシステムライブラリとファイルをvirtualenvにシンボリックリンクしました。次にfaf-client/srcQtWebKitからモジュールをインポートするためにいくつかの変更を行いましたPySide。このソリューションは、触発され/programming//a/28850104/486919/programming//a/36887302/486919/programming//a/37616466/486919

手順:

  1. インストールpython-qt4

    sudo apt update
    sudo apt install python-qt4
    
  2. cd~/Desktop/tempこの回答、git clone私のバージョンのリポジトリgit checkoutpatchブランチを書く目的のために、あなたが選んだディレクトリに:

    mkdir ~/Desktop/temp
    cd ~/Desktop/temp
    git clone https://github.com/edwinksl/client.git faf-client
    cd faf-client
    git checkout patch
    

    このpatchブランチには、デフォルトのdevelopブランチと比較していくつかの追加のコミットがあります。1)のバージョン仕様を取り除き、以前に指定しcx_Freeze4.3.4バージョンを使用するとインストールの問題が発生し、2)の代わりにインポートQtWebKitPySideますPyQt4

  3. Python 2のvirtualenvを作成してアクティブ化し、最新であるpipことを確認するために強制アップグレードします。

    virtualenv venv
    source venv/bin/activate
    pip install -U --force-reinstall pip
    
  4. を使用pipしてインストールPySideしてからrequirements.txt

    pip install PySide
    pip install -r requirements.txt
    
  5. faf-uidバイナリをダウンロードしfaf-client/libて実行可能にします:

    wget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O lib/faf-uid
    chmod +x lib/faf-uid
    
  6. cdsite-packagesvirtualenv内のディレクトリに移動し、適切なシンボリックリンクを作成します。

    cd venv/lib/python2.7/site-packages
    ln -s /usr/lib/python2.7/dist-packages/PyQt4/ .
    ln -s /usr/lib/python2.7/dist-packages/sip.x86_64-linux-gnu.so .
    

    .各シンボリックリンクの最後に注意してください。

  7. cd戻っfaf-clientて実行pythonsrc/__main__.py

    cd -  # this goes back to previous directory, which should be ~/Desktop/temp/faf-client
    python src/__main__.py
    

まずはありがとう!申し訳ありませんが、キューを逃しました。入院しました。私が立ち往生している:Resolving deltas: 100% (8873/8873), done. t@tsu:~/Desktop/temp$ git checkout patch fatal: Not a git repository (or any of the parent directories): .git t@tsu:~/Desktop/temp$ git init Initialized empty Git repository in /home/t/Desktop/temp/.git/ t@tsu:~/Desktop/temp$ git checkout patch error: pathspec 'patch' did not match any file(s) known to git.
タツ

@tatsu私の悪い。最初にディレクトリに移動cdしてからfaf-client、を実行する必要がありますgit checkout patch
-edwinksl

@edwinsklうん!! 完了したら、CDをバックアップします。
タツ

右後@edwinskl pip install -r faf-client/requirements.txt 私は追加wget https://github.com/FAForever/uid/releases/download/v4.0.4/faf-uid -O ./faf-client/lib/faf-uid してchmod +x ./faf-client/lib/faf-uid、次にやった cd ./faf-client && ../venv/bin/python src/__main__.py :私は私のスクリプトを構築し、元のチュートリアルフォーラムの投稿につきとしてforums.faforever.com/... FAFランbbutまだエラーログで。
タツ

@tatsu編集を自由に提案してください!結局のところ、インストールしていない間にゲームがインストールされています
...-edwinksl

1

~/.bashrcPythonバージョンのオーバーライドを確認する

コンパイルするパッケージには、Pythonバージョン2.7.xが必要です。次のコマンドでそれを確認します。

$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyQt4
>>> print PyQt4.__path__
['/usr/lib/python2.7/dist-packages/PyQt4']
>>> 

それがこのQ&Aの問題でした。

linux error PyQt4 import QtWebKitGoogle検索だけではありません:

残念ながら、もっと多くのグーグルの結果がありますが、これらは最初の推奨事項がうまくいかない場合に読むのに最も適切だと思います。


感謝しますが、理解していないのは自分なのかどうかはわかりませんが、python2をローカルにインストールする必要がないのを助けているvirtualenvを使用しています python3が何かに干渉することを心配する必要はないことを考えると。ここでマークを完全に見逃した場合は修正してください
タツ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.