GNOMEは Linuxにおける代表的なデスクトップ環境で、マイクロソフトのRDPにも対応しているので Windows標準のリモートデスクトップクライアント(mstsc.exe)から接続して利用することができる。別々の複数ユーザーが同じLinuxマシンに同時にリモートデスクトップ接続することも可能なので、いわゆるVDIのような利用方法も可能だ(Windowsだとサーバー版でしかそういう利用のしかたができないよう制限されている)。
自分はデスクのWindowsマシンからリモートデスクトップを複数枚開いてLinuxで作業しているのだが、そのうち一つはライブ配信専用マシンとなっている。mstscはクリップボード共有を切る設定もできるので、配信画面に誤って他の作業の内容をペーストしてしまう事故も防ぐことができている。
GNOMEは気を利かせてリモートデスクトップ中はGUIのアニメーション効果を無効にしてくれるようになっている。ネットワーク越しの画面表示は遅延しがちなのでレスポンスを悪くしないための措置だ。しかし、ライブ配信用の画面は見栄えが重要なため少し動作が遅延してもアニメーションしてくれたほうが良い。
探してみたところ、同じことを考えている人がいた。
特に設定でこの挙動を変えられるようにはなっておらず、アニメーションを無効にする措置がソースコードに固定で記述されているようだ。
ソースコードの変更
gnome-remote-desktopの src/grd-session.c に次のような処理がある。
g_variant_builder_add (&properties_builder, "{sv}",
"disable-animations",
g_variant_new_boolean (TRUE));
この TRUE により、リモートデスクトップセッションではアニメーション無効化が指定されている。ここを FALSE に変更するだけのパッチを当てれば目的の動作になる。
diff '--color=auto' -ru a/src/grd-session.c b/src/grd-session.c
--- a/src/grd-session.c 2026-02-16 18:30:55.000000000 +0900
+++ b/src/grd-session.c 2026-05-06 08:28:49.569038508 +0900
@@ -1700,7 +1700,7 @@
g_variant_new_string (remote_desktop_session_id));
g_variant_builder_add (&properties_builder, "{sv}",
"disable-animations",
- g_variant_new_boolean (TRUE));
+ g_variant_new_boolean (FALSE));
properties_variant = g_variant_builder_end (&properties_builder);
screen_cast_proxy = grd_context_get_mutter_screen_cast_proxy (priv->context);
Gentoo Linuxだからできること
一般のLinuxディストリビューションでは、自分の手元でだけソフトウェアを改造してもアップデートが降ってくれば上書きされてしまうためその都度やりなおさないといけない。しかし Gentooは違う。パッケージのインストール時には毎回ソースコードがローカルでビルドされるため、所定の位置にパッチが置いてあればいつも自動でそのパッチが適用される仕組みが用意されているのだ。
今回の GNOME Remote Desktopでは、次のような場所に前述のパッチを置いておけば良い。
/etc/portage/patches/net-misc/gnome-remote-desktop/no-disable-animations.patch
以後 GNOME Remote Desktopのアップデート時には常にこのパッチが適用されるため、アップデートで元に戻ってしまうことはない。
AIコーディングエージェントがソースコードをあっという間に調べて自分の希望通りに改造してくれる今の時代には、なんともちょうど良い仕組みではないか[1]。
注意点
GNOME Remote Desktopでは H.264によるビデオ圧縮が利用できる環境が非常に限られており、少なくともGNOME 49までは NVIDIAのGPUでしかビデオ圧縮が有効にならない。H.264のない接続環境でアニメーションを有効にすると使用感がだいぶ悪くなる可能性があることに注意されたい。
関連記事
ソースコードを常にコンパイルするためCPUパワーは際限なく必要である。 ↩︎