【Xserver】管理者権限なしで Chrome を Selenium で操作する方法 チャレンジ編1

Python

結論としましては、共用のXserverでChromeを実行することはできませんでした。以下の記事にその全貌をまとめています。

以下はこの記事を書いたときですが、このまま残しておきたいと思います。

—–以下は希望を持っていた時—–

まだ成功していませんが、メモとして記載いたします。

これに成功したという記事は見つかりませんでしたが、挑戦します。

手順としては 以下の通りです。

① Chrome バイナリ を入手

② Chrome の動作に必要な GLIBC を ユーザ環境に構築 ⇦ 今回の記事ではここまでやります

③ Chrome のライブラリに必要な GLIB を ユーザ環境に構築

④ Chrome が必要とするライブラリを手動でダウンロード

⑤ ④のライブラリを展開してパスを通す

GLIBC (GNU C Library):

GNU Project」による標準ライブラリlibc」の実装C言語標準ライブラリ名をlibc(リブシー)といい、多くのプログラムで共通して使われるような、システムコールを始めとする基本的な「部品」を集めたものである。

引用:weblio辞書

ポイントは GLIBC を ユーザの フォルダに インストールする点です。これにより、ルート権限がなくても Chrome が起動するのに必要な ライブラリを読み込んで Chromeを実行 できます。

筆者の環境は Xserver(Linux)※管理者権限なし です。

長丁場になりますので、今回は GLIBC のインストールまで ご説明します。

ではいってみましょう!

① Chrome バイナリ を入手

1.wget コマンドを使用して Chrome をダウンロードします。

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

2.ar コマンドを使用して展開します。

ar x google-chrome-stable_current_amd64.deb

3.tar コマンドでさらに展開します。

tar -xf data.tar.xz -C ./

4. ./opt/google/chrome/ に chrome のバイナリファイルがあります。

② Chrome の動作に必要な GLIBC を ユーザ環境に構築

1.GLIBC のインストール先フォルダを作成します。

mkdir -p $HOME/local_glibc_2.39

2.GLIBC の作業フォルダを作成し 移動します。

mkdir -p $HOME/temp_glibc_2.39
cd $HOME/temp_glibc_2.
39

3.Wget コマンドで glibc をダウンロードします。

wget http://ftp.gnu.org/gnu/libc/glibc-2.39.tar.gz

なお GLIBC のバージョンについて。以下のサイトで GLIBC のどのバージョンが公開されているかがわかります。バージョンは 非常に重要です。 glibc のバージョンが古いと Chromeで必要なライブラリを読み込む時にエラーとなります。

Index of /gnu/libc

4.tar コマンドで展開して移動します。

tar -xvf glibc-2.39.tar.gz
cd glibc-2.39

5.ビルド用ディレクトリ を作成し 移動します。

mkdir build
cd build

6.GLIBC をインストールする先を指定します。

../configure –prefix=$HOME/local_glibc_2.39

これを実行すると bison が古い というエラーがでます。ですので bison をインストールします。

# エラー

configure: error: *** These critical programs are missing or too old: bison *** Check the INSTALL file for required versions.

7.bison のインストール先フォルダを作成します。

mkdir -p $HOME/local_bison3.8.2

8.temp_glibc_2.39 ディレクトリに移動し Wget コマンドで bison をダウンロードします。

cd $HOME/temp_glibc_2.39
wget https://ftp.gnu.org/gnu/bison/bison-3.8.2.tar.gz
tar -xvf bison-3.8.2.tar.gz
cd bison-3.8.2

実行すると 以下の構成になっています。

9.bison のインストール

./configure –prefix=$HOME/local_bison3.8.2
make -j$(nproc)
make install

インストール先のフォルダは下の構成になっています。

10.環境変数を設定する

export PATH=$HOME/local_bison3.8.2/bin:$PATH

これで 新しい bison が使用できる ようになりました! これで GLIBC のインストールの続きに戻れます。

11.再度 GLIBC をインストールする先を指定します。

cd $HOME/temp_glibc_2.39/glibc-2.39/build
../configure –prefix=$HOME/local_glibc_2.39 CFLAGS=”-O2 -Wno-error=attribute-alias”

今度はエラーがでないはずです!

ここで 7.の作業では指定しなかった CFLAGS=”-O2 -Wno-error=attribute-alias” を指定しています。これは警告レベルのエラーを無視します。これにより次の make -j$(nproc) がエラーなく完了します。

12.GLIBC をインストールします。

make -j$(nproc)
make install

実行結果

成功すると以下のように $HOME/local_glibc2.39/ にインストールされます。

今回はここまで

非常に長いので 今回は GLIBCのインストール まで ご説明しました。

次回は Chrome が必要とするライブラリを手動でダウンロードしていきます。

ではまた。

・次の記事はこちら

コメント

タイトルとURLをコピーしました