1

古いバージョンの Firefox と古いバージョンの Java を使用して、Docker イメージをセットアップしようとしています (私の Dockerfile はこちらから入手できます古い Java アプレットを実行して VPN を開始します。イメージは機能し、Firefox で Java アプレットを正常に起動できます。

残念ながら、上記のアプレットはコンテナーで次のコマンドを実行しようとします (--configここでは関係ないので、コマンドからその部分を削除しただけです)。

INFO: launching '/usr/bin/pkexec sh -c /usr/sbin/openvpn --config ...'

その後、アプレットはエラーを出して黙って終了します。pkexec調査中に、同じ Docker イメージでコマンドを実行しようとしましたが、次の結果が得られました。

$ sudo docker-compose run firefox pkexec /firefox/firefox-sdk/bin/firefox-bin -new-instance
**
ERROR:pkexec.c:719:main: assertion failed: (polkit_unix_process_get_start_time (POLKIT_UNIX_PROCESS (subject)) > 0)

しかし、私は polkit をまったく知らず、このエラーを理解できません。


編集: 問題を再現するためのより最小限の方法は、この Dockerfile を使用することです。

FROM ubuntu:16.04

RUN apt-get update \
    && apt-get install -y policykit-1

そして実行します:

$ sudo docker build -t pkexec-test .
$ sudo docker run pkexec-test pkexec echo Hello

ここでも次のようになります。

ERROR:pkexec.c:719:main: assertion failed: (polkit_unix_process_get_start_time (POLKIT_UNIX_PROCESS (subject)) > 0)

pkexecDockerコンテナでは機能しないと結論付けるべきですか? または、このコマンドを機能させる方法はありますか?

補足: 私が実行しようとしている Java アプレットを制御することはできません。これは、ソース コードにアクセスできない、仕事で使用することになっている恐ろしい、非常に時代遅れの独自のブラック ボックスです。そのまま使用する必要があります。

4

1 に答える 1