雑記帳(新居)

移転完了しました

Folding@Home用Linux環境構築の顛末

2020-04-27 16:43:00 | MyPC
3月前半から、分散コンピューティングプロジェクトの「Folding@home」(本記事ではF@Hと略す)で、新型コロナウイルス(SARS-CoV-2)を解析するプロジェクトが開始されていて、各所で参加が呼びかけられたり、クラウドを運営する企業がクラウドの計算機資源を使用して参戦したりして、参加者が大幅に増えている。(参考記事: 自宅のPCで新型コロナウイルス治療に向けた解析が可能になど)
筆者はF@Hは遠い昔から参加していて、F@HではWindowsよりLinuxで動かしたほうが計算が速いことも知っていた。本家のUbuntuを使っていたものの今一つ感覚が合わず、Linux環境を探してあれこれ試した顛末。
Linux Mintが気になるが、自分の環境ではインストール途中でエラーが発生してインストールできなかった。エラーの解決方法も不明。スタンダードなUbuntuはインストールできるので、それをもとにしてキマイラTricia環境を作ってみる。
Wikipediaに以下のような記述がある。

基本的に、Linux MintはUbuntuにパッケージなどを追加したディストリビューションなので、UbuntuにLinux Mint、Canonical Partnerのレポジトリを追加して、Linux Mint関係のソフトウェアをインストールして、デスクトップ環境(Cinnamonなど)の設定を修正するとLinux Mintになる。

なんと、それを本当にやった人がいたので、基本的にはその記事に沿っていけばよい。
ただし、上記記事は2014年のものでUbuntu 14.04→Mint 17.1というバージョンだったので、現行バージョンに合わせて読み替える必要がある。
/etc/apt/sources.listの代わりに、/etc/apt/sources.d/mint.listを作成
deb http://packages.linuxmint.com tricia main upstream import backport
(backportがわからずに後ではまった。また、extra.linuxmint.comはなくなったようだ)
/etc/apt/preferences→/etc/apt/preferences.d/mint.prefを作成(ファイルの内容は元記事の通り)

Package: *
Pin: release o=linuxmint
Pin-Priority: 700

Package: *
Pin: origin packages.linuxmint.com
Pin-Priority: 700

Package: *
Pin: release o=Ubuntu
Pin-Priority: 500

linuxmint-keyringのインストール。なぜかdebパッケージを直接取ってくる必要があった
アップデートすると、Mintのソフトウェアは入った

sudo apt update
sudo apt upgrade

自分の場合はデスクトップ版のUbuntuからキマイラTricia環境を作ったので、xorgとlibglib2.0-binはすでに入っていた。キマイラを作る前提なら、サーバ版を使ったほうがトラブルは少ないと思われる。
sudo apt install xorg libglib2.0-bin
Linux Mint Cinnamon のメタパッケージをインストール
sudo apt install mint-meta-cinnamon mdm
(mint-mdm-themesもなくなった?)
これでCinnamonデスクトップ環境も入った。ただし、ここまででは、再起動するとUbuntuのデスクトップが出るので、Mintを入れた気が全くしない。

ディスプレイマネージャの切り替え。これは以下の手順に従うディスプレイマネージャーをLightDMに切り替えるには・Slick Greeterを利用するには
sudo apt install lightdm
インストール中にディスプレイマネージャーを選択する画面が表示される。上下カーソルキーで「lightdm」を選択

sudo apt install lightdm-settings slick-greeter
/etc/lightdm/lightdm.confを編集

[Seat:*]
greeter-session=slick-greeter

これで、Slick Greeterによるログイン画面表示に変わった。パスワード入力の右上のアイコンを選択してCinnamonに変更してやると、めでたくキマイラTricia環境に入れる。
※Linux Mintのコードネームは「女性の名前をアルファベット順に命名する」という、昔のハリケーンのような由緒正しい命名法をとっている。(今のハリケーンの名前は男女交互)このような酔狂な環境構築をすると、否応なしにコードネームを意識する。

後でLinux Mintのインストールを再度試してみたところ、以下の変更で成功した。設定変更がすべて必要なのか、どれかは無関係なのかははっきりしない。

  • BIOS設定でセキュアブートを無効

  • BIOS設定に入りインストール時の起動メディアを指定、先頭に"UEFI"のついているほうを選択

  • インストール時のパーティション設定で、100MB程度のEFIパーティションを先頭に作成


※MBのデフォルト設定ではセキュアブートは有効になっていると思われるが、個人で使うには致命的なトラブルのもとだ。セキュアブートが原因で致命的なトラブルにあったことは一度ではない。

苦心してLinux Mintの環境を入れてみたものの、残念ながら、Cinnamonデスクトップは筆者の要件では使えないことが判明した。
どうやら複数モニタを接続しようとするとCinnamonがクラッシュする問題があるらしく、5年以上前に報告されたが修正はされていないようだ。
Separate X-Screen Crashes Cinnamon
筆者の環境では、物理的に接続されたディスプレイは1枚だけでも、F@HのためにGeforce GPUが2枚インストールされている。それで、Geforceチューニングのためにnvidia-xconfigコマンドを実行すると、両方のGPUにディスプレイが接続されているかのように設定される。それで上記の問題が発動するらしい。
上記が原因で間違いなければ、GPU1枚だけならクラッシュしない。また、GPU2枚でもGeforceのチューニングをしなければ、やはりクラッシュはしない。しかし、GPU2枚を1台に集約するのは運用上前提だし、GPUチューニングなしで分散コンピューティングの連続稼働など、危険すぎてあり得ない。
しかも、Cinnamonだけでなく多くのデスクトップ環境で類似の問題がある。例えばXfceでも同じようにクラッシュしたし、MATEはnvidia-xconfigコマンドを実行する前の状態でそもそも動かず。

それで、行き着いたところLXDEになった。Lightweightを名乗るくらいなので、主に軽量さで選ばれるデスクトップ環境とのことだが、このような分散計算特化の「変な」環境で動いてくれたということだ。
とすると、結論は、Lubuntuを最初から入れろということだ。ただし、Mintは、デスクトップ環境以外にも、管理系のツールが充実しているなどメリットはあるので、またTriciaのキマイラを作るのも悪くはない。
LXDEは見た目は古き良き時代のWindowsに似ていて、Windowsキーショートカットも使えたりする。例えば、[Win]+Eでファイルマネージャ、[Win]+Rで(コマンド等を指定して)実行画面が開く。

LXDEのインストールは以下のコマンドでできる、はずだが、最初は依存関係のエラーが出て入らなかった。
sudo apt install -y lubuntu-desktop
sudo apt --fix-broken installとか試しても一向に解決しない。このような場合、apt代わりにaptitudeを使うと、「解決策が提示」されて先に進める場合があるらしい。で、藁にもすがるつもりで入れてみることに
sudo apt install aptitude
(ここから先は、当初の検証用マシンとは別のマシンでのトラブル)ところが、いざaptitudeを実行すると、libsigc++-2.0-0v5というライブラリがnot foundでエラー。aptitudeとは別で起きた問題のようだが、以下のQAの記載で解決できた。
sudo apt-get install --reinstall libcairomm-1.0-1v5 libglibmm-2.4-1v5 libsigc++-2.0-0v5
Error while loading shared libraries: libsigc-2.0.so versus libsigc-2.0.so.0
sudo aptitude install -y lubuntu-desktop
ようやくLXDEを入れられた。

最新の画像もっと見る

コメントを投稿