Ubuntu20.10にお引越ししたらNautilusが起動しなくなった

今使ってるPCがHP Elite 8500という機種なのですが、流石に10年前のCore2 Duoでは動画編集が辛くなってきた。

というわけでマウスコンピュータのGT5 (Core i5)を新たに買ってUbuntu 20.10をクリーンインストール。

ルンルン(死語)でGSConnectをインストールしたら突然Nautilus(ファイルマネージャ)が起動しなくなった。

Thunar派なので別にいいかなとは思ったものの、Thunderbirdのデータ移行でNautilusを使うので気になって対策してみた。

原因はPythonのバージョン

PhtyonのPATHがPython2になってる

$ ln -s $(which python)
lrwxrwxrwx 1 root root 7  4月 15  2020 /usr/bin/python -> python2

いろんなソフトをインストールしたので、その過程でPython2が後からインストールされたのね。(心当たりがありすぎて何が原因やら…)

このままNautilusを起動しても以下のように怒られる。

$ nautilus
Fatal Python error: _PyInterpreterState_Get(): no current thread state
Python runtime state: unknown

中止 (コアダンプ)

古いPythonって_pyInterreterState_Get()がないのね。そりゃ怒られますわ。

そんなわけでpythonのリンク先をphthon3.8へ変更。

$ ls -l /usr/bin/python*
lrwxrwxrwx 1 root root       7  4月 15  2020 /usr/bin/python -> python2
lrwxrwxrwx 1 root root      14  4月 15  2020 /usr/bin/python-config -> python2-config
lrwxrwxrwx 1 root root       9  8月  4 17:22 /usr/bin/python2 -> python2.7
lrwxrwxrwx 1 root root      16  8月  4 17:22 /usr/bin/python2-config -> python2.7-config
-rwxr-xr-x 1 root root 3621080  8月 25 04:12 /usr/bin/python2.7
lrwxrwxrwx 1 root root      33  8月 25 04:12 /usr/bin/python2.7-config -> x86_64-linux-gnu-python2.7-config
lrwxrwxrwx 1 root root       9 10月  6 19:28 /usr/bin/python3 -> python3.8
lrwxrwxrwx 1 root root      16 10月  6 19:28 /usr/bin/python3-config -> python3.8-config
-rwxr-xr-x 1 root root     384  8月  6 00:56 /usr/bin/python3-futurize
-rwxr-xr-x 1 root root     388  8月  6 00:56 /usr/bin/python3-pasteurize
-rwxr-xr-x 1 root root 5266168  9月 25 18:36 /usr/bin/python3.8
lrwxrwxrwx 1 root root      33  9月 25 18:36 /usr/bin/python3.8-config -> x86_64-linux-gnu-python3.8-config
$ sudo rm /usr/bin/python
$ sudo rm /usr/bin/python-config
$ sudo ln -s /usr/bin/python3.8 /usr/bin/python
$ sudo ln -s /usr/bin/python3.8-config /usr/bin/python-config

ちなみに/usr/local/bin/pythonが作られているとそちらが起動されてしまうのでリネームしておく。まあ今回はなかったけど。

あと、複数のバージョンのPyhonが入っているので不要なパッケージも入っているはず。整合性を保つため不要なパッケージは削除。

$ sudo apt autoremove
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージは「削除」されます:
  folks-common gir1.2-camel-1.2 gir1.2-clutter-1.0 gir1.2-cogl-1.0 gir1.2-coglpango-1.0 gir1.2-ebookcontacts-1.2
  gir1.2-edataserver-1.2 gir1.2-folks-0.6 gir1.2-gdata-0.0 gir1.2-gee-0.8 gir1.2-gsound-1.0 gir1.2-nautilus-3.0
  kpeople-vcard libfakekey0 libfolks-eds25 libfolks25 libkf5calendarevents5 libkf5contacts-data libkf5contacts5
  libkf5people-data libkf5people5 libkf5peoplebackend5 libkf5peoplewidgets5 libkf5plasma5 libkf5plasmaquick5
  libkf5pulseaudioqt2 libqca-qt5-2 libqca-qt5-2-plugins libxcb-damage0 plasma-framework python3-nautilus
  qml-module-org-kde-kconfig qml-module-org-kde-kquickcontrols qml-module-org-kde-people qml-module-qtquick-particles2
  sshfs
アップグレード: 0 個、新規インストール: 0 個、削除: 36 個、保留: 1 個。
以下略

今回はこれで無事Nautilusが復活した。

これでダメな場合はPythonを位置からコンパイルする必要があるかも。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です