いままでUbuntuCinnamon23.10を使っていましたが、24.04がリリースされたのでアップグレードしました。
その際のトラブルメモです。
まぁおおよそは「24.04だから起きた問題」ではないので、大して役に立つ話ではないかもしれませんが。
アップグレードと言っても、基本的に自分はubuntuの今まで使っていたバージョンは残しておいて、新しいパーティションに新規インストールするようにしています。
というのも、
- トラブっても前の状態に戻せる
- 一旦クリーンにしてサッパリしたい。
という意図があります。まぁ、いろいろとインストールし直す手間があるのですが、ubuntuであればaptでインストールするので大して気になりません。
というわけで、新規インストールをしてみたのですが…。
手動パーティショニングでブートローダーのインストール先が選択できない
新規インストールをすると、パーティションの設定でブートローダーのインストール先が選択できずに先に進まない!!というトラブルに会いました。
なんか、23.10でも似たような問題にあたった気がするのですが、その時はPCの入れ替えの時期だったので、ストレージがまっさらな状態だったので、インストーラで新規にパーティションを作って回避したような気がします。(あやふや)
でも、今回はまっさらにするわけにはいかないわけでして。
23.10をインストールしてあるからそのあたりは大丈夫だろう、と思っていたら、思わぬ展開でした。
とりあえず一旦新規インストールは諦めて、「do-release-upgrade -d
」でアップグレードしたのですが、今後のことを考えるとこの問題は解決しておきたいなぁ、と思い、もう少し粘ってみました。
このあたりの情報によると「BIOS Boot Partition」というものが必要の模様。
これか?と思ったのですが、ふと考えるとこれってGPTパーティションでMBRパーティションと互換を持たせるためのものじゃなかったっけ?
そう思ってマザーボードの設定を見直すと、ブートモードが「UEFI」ではなくて「Legacy+UEFI」になっているじゃないですか!!
23.10で問題なく使えていたので、まさかここに問題があるとは思いませんでした。
というわけで、設定を変えて新規インストールをし直して、無事インストールすることができました。
マルチモニターでミラーリングができない。
自分の環境は通常のモニターとモバイルモニターのマルチモニターなのですが、
- モバイルモニターは寝ながら使うものなので、並べて使うものではない。
- 通常のモニターは、他のPCなどでも使うので、HDMI切替器を使用している。
という状態であり、ミラーリングでないと、通常モニターの出力先を切り替えると切断されたと判断されて、ウィンドウが全てモバイルモニターに移動してしまう という現象にみまわれてしまうので、ミラーリングで使用しています。
余談ですが、プライマリーモニターがデフォルトではモバイルモニターに設定されるので、なんか通常モニターに背景だけしか映らなくて困った、と思ったらモバイルモニターにウィンドウが表示されていた、という間違いがよく起きます(笑)
話を戻して、24.04にアップグレードすると、ミラーリングができなくなってしまいました。
cinnamonのせいかな、と思い、GNOMEでログインして設定すると、ミラーリングはできるのだけど解像度が落ちてしまい、これはこれで問題あり、という状態です。
もうミラーリングは諦めようか、と思っていたところ、cinnamonのディスプレイ設定を見直していると、「不明なモニター」という怪しげな第3のモニターが。
こいつがあるせいで、ミラーリングできなかったり解像度が落ちたりするのでは。
調べてみると、マルチモニターができなくなった対処としてnvidiaのドライバーを更新してみろ、というのがあったので、やってみた(やり方は忘れた)ところ、無事ミラーリングができるようになりました。
上記の通り新規インストールすると、同じ現象に見舞われました。
うわー、どうやって解決したんだっけ!?ともう一度色々とググってみて、結果的に以下のコマンドで解決できました。
sudo apt purge 'nvidia*'
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
多分、「apt purge
」でパッケージを削除したのが効いたのだと思います。
追記: '24/5/9
よくよく考えてみたら、nvidiaのドライバを削除してオープンソースのドライバを使っているだけだわ、コレ。
もっとも、自分はゲームPCのお古だからgeforceカードを使っているだけで、それでも困らない、むしろミラーリングできない方が困るので、これでもいいか、と思ってますが。
ちなみに、nvidiaのドライバを入れ直したら、立ち上がらなくなりました。うーん。
自作サービスが起動しない。
まぁこれは23.10の頃からなのですが、プライベートで使っているWebアプリがあるのですが、こいつがPC立ち上げ時に起動しなくなりました。
しかし、起動後に「sudo systemctl start myservice
」と実行すると、問題なく実行できる。
まぁ一応動くからいいか、と放っといたのですが、これを気にちゃんと調べようと。
「sudo dmesg
」を見てみると、「graphical.target
」が見つからないとかなんとか。(このあたりはちょっと思えていない)
どうもディスプレイマネージャがlightdmなのが関係しているのかな、と思い、gdmに変更してみると、今度は「myservice.service
」が見つからない、と。
そんなはずはない、ちゃんと/etc/systemd/system
の下にあるだろ、と思い、他のサービスを参考にしようとすると、そういえばapacheをインストールしてあるのにapacheのサービスファイルが見当たらないな、ということに気づき、調べてみると/usr/lib/systemd
以下にあることがわかったので、そちらに持っていっても症状は変わりません。
(ちなみに/usr/lib/systemd
にあるのは、ubuntuのパッケージによりインストールされたものなので、自分で作ったものは/etc/systemd
に置くのが正しいようです。なので、元に戻しました。)
他にも違いがないか探してみると、そういえば自サービスはシンボリックリンクだったので、シンボリックリンクを削除してコピーすると、ちゃんと動くようになりました。
よくよく考えてみると、シンボリックリンクの参照先がルートとは別のパーティションだったので、マウントする前にサービスが起動されていたのかな?と思います。以前までは動いていたので、うかつだったなぁ。
pip install ができない。
まぁこれも23.10の頃からだし、自分としては困ってないのですが、22.04から移行した人は戸惑うかもしれないので、一応書いておきます。
(別に記事に書こうと前から思っていたのだけど、結局書く前に24.04がリリースされちゃった)
以前から、ubuntuでPythonのモジュールをインストールする際にpipコマンドを実行しようとすると、pipが見つからないというエラーになります。
これは、デフォルトでpipコマンドがインストールされていないためで、「python3-pip
」パッケージをインストールしなければならないのですが、23.10からはたとえインストールしても「pip3 install
」を実行すると、
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.
See /usr/share/doc/python3.11/README.venv for more information.
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
というメッセージが出て実行できません。
要は、「pipでインストールすると、ubuntuのパッケージとごっちゃになるから、環境を壊すことになるかもしれないよ」ということだと思います。
どうすればいいかというと、
-
上記のリスクを理解した上で、「
--break-system-packages
」オプションをつけて実行する。 - pipは使わずに、aptコマンドでubuntuのパッケージのみを使用する。
- venvを使って、個別の環境を作る。(なお、venvも「
python3-venv
」というパッケージをインストールする必要があります)
という選択肢になるかと思います。なお自分は、venvを使ってます。
ちなみに、自分はPython+GTKでプライベートで使うツールなどを作って使うことがあるのですが、venvにするとシステムのPyGObjectは使えなくなるので、仮想環境にPyGObjectをインストールしなければなりません。
この辺りは、公式サイトの「Getting Started」を参考に、以下のようにインストールします。
sudo apt install -y libgirepository1.0-dev build-essential libcairo2-dev python3-dev gir1.2-gtk-4.0
python3 -m pip install pycairo PyGObject
(公式ではgcc/pkg-configのみをインストールしていますが、自分の場合他の開発環境でも必要になりそうなので、build-essentialに変えました)
ALT-Tabによる切り替えのプレビューの背景
自分がcinnamonを気に入っている点の一つに、ALT-Tabでのウィンドウ切り替えの設定があります。(設定より、「ウィンドウ」→「Alt-Tab」)
特に、「Alt-Tabの切り替えスタイル」を「アイコンとウィンドウのプレビュー」にするのが好みです。
この設定だと、アクティブにするウィンドウが全面に出てくるので、わかりやすいのですよ。
で、以前はプレビューの際に背景が暗くなるので、アクティブになるウィンドウがよりわかりやすかったのですが、最近はそれが無くなっていて、ちょっと残念だなぁ…。
と思ったら、どうやらデスクトップのテーマの設定らしい。
「Yaru-olive」を使っていたのだけど、それだと背景が暗くならず、「cinnamon」だと暗くなるようです。
できれば、テーマをいじってでも設定をしたいな、と思い、具体的にどこの設定化を調べました。
まずテーマはシステムグローバルは「/usr/share/themes
」、ユーザは「$HOME/.themes
」に配置されます。
テーマのディレクトリには、まず「index.theme
」が必要。(これがないと、設定に出てこない)
cinnamonのデスクトップの設定は、「cinnamon/cinnamon.css
」に記述するようです。拡張子でわかるとおり、stylesheetの書式です。
問題のウィンドウプレビューの背景は、
.switcher-preview-backdrop { background-color: rgba(0, 0, 0, 0.5); }
で設定するようです。
snapのアプリ権限
普段deadbeefという音楽プレイヤーを使っているのでインストールしたのですが、ファイルが見れねーーー!!!?
…でも大丈夫。snapとの付き合いは少しはある自分は、こういうのはsnapのアプリの権限設定によるものだということをしていますから。
というわけで、アプリの設定、アプリの設定、…て、見つからないーーー!!?
GNOMEだと「設定」→「アプリ」で設定できるのですが、cinnamonにはありません。
しかたないので、ubuntu-desktop
をインストールして、GNOMEでログインし直して、設定しました。
でも、cinnamonでも設定できないものかな。
GNOMEの設定の実行ファイルは「gnome-control-center
」だとわかったので、cinnamon上で実行しようとすると、
Running gnome-control-center is only supported under GNOME and Unity, exiting
という悲しいお知らせが。
後でわかったのですが、とりあえずコマンドで snap connections
で権限の確認、snap connect
/ snap disconnect
で権限の設定ができるようなので、これでわざわざubuntu-desktop
を入れなくても設定できる…かな?
Spotify
何かわざわざ新しい記事にして書くほどの内容じゃないんで、ここに付け足しておこう。
Spotifyアプリがだいぶ良くなった気がします。(前からかもしれないけど)
以前は、日本語入力ができないくて困っていたけど、ガラッと様子が変わって作り直したのか、24.04の時点ではできるようになりました。
ただ、気に入らない点が。
曲の変わり目に「ポン」と音が鳴るんですよ。
それも、無機質な音なものだから、気分が削がれる、削がれる。
設定を見ても、そんな設定はないし、誰だよこんなクソ仕様考えたの。
…と思っていましが、ようやく消す方法が見つかりました。
- 右上のユーザのアイコンをクリック。
- メニューの「設定」を選択。
- 設定の「ディスプレイ」→「曲が変わるときにデスクトップ通知を表示」をOFFにする。
そうなんです。別に「曲の変わり目に音が鳴っていた」わけじゃないんです。「曲の変わり目に通知が表示され、その通知音が鳴っていた」んです。
…わかるかい、こんなの。