GTX1080Ti と GNONE と RDP で真っ白画面の不具合が起こる

記録 簡潔さのために、最初に結論を持ってくることにする。 効果があったこと 効果があったことは、gnome-remote-desktop を 50.0-1 から 49.0-1 にダウングレードすることである。安全のために自動でアップグレードされないよう/etc/pacman.confにおいて、ignorePkg の項目にgnome-remote-desktopやGDMを設定しておくことが推奨される。 試して失敗したこと、微妙だったこと Nvidia のドライバの以下のバージョンを試す 580 580 のちょっと古いバージョン 575 (カーネルバージョンを下げる必要がある。) 550 異なるデスクトップ環境(KDE)を使う Google Gemini Fast 3 に症状を具体的に投げて、提案される環境変数を試す。 Google 検索で gnome-remote-desktop や PipeWire などが吐き出すエラーについて、コピペして調べてフォームラムなどにあたってみる。 egl-gbm、egl-wayland、egl-wayland2 の 3 つのうち、egl-gbmとegl-wayland を /usr/share/egl/egl_external_platform.d/ gnome-remote-desktop 別の手段として VNC サーバである wayvnc を試してみたが、GNOME ではそもそも動作不能であった。 CUDA のバージョンを Arch Linux - cuda 13.2.1-1 (x86_64) から AUR (en) - cuda12.0 に下げた。 この記事を作った動機や経緯 最近 GNOME を動かしている GTX1080Ti を搭載するサーバ環境において、 Virt-Manager 経由で仮想マシンを立ち上げようとしたところ、部分的に更新をした影響でシステムが中途半端な状態になり、起動できないことがあった。そこでいつもどうり、すべてのパッケージを yay コマンドより更新して再起動をかけたところ異変が起こった。 具体的には、GNOME デスクトップ環境で RDP 接続時において画面が真っ白になる症状が起こった。GPU が接続されている物理ディスプレイには正しく画面が表示されているが、RDPからは内容が全く見えず、Remmina においては真っ白でマウスやキーボード入力は動作する状態で、Windows 11 25H2 の Win32 の方の伝統的な RDP クライアントでは真っ黒になってしばらくして切断されてしまうという挙動になった。結論としては、gnome-remote-desktopパッケージが新しすぎる場合、PipeWire を正しく初期化できず、pw-topなどで確認すると、音声だけ転送され画面は一切転送されていないことが分かった。 ...

April 15, 2026

Linux 環境において、GNOME などが認識するショートカットを作成する

この記事を作った動機 GNOME デスクトップ環境などにおいて特定のスクリプトを実行するなど、定型処理を気軽に行うために、ショートカット(デスクトップエントリ)を作成したいということがあった。しかし、.desktopという拡張子を持つファイルを所定の場所に作れば、ショートカットができることがわかっていたものの、その内容がめんどくさくて、放置していたことがあった。 そこで今回はExample Desktop Entry File | Desktop Entry Specificationの.desktopエントリの例を参考に、最低限私が使いたいように加工した物をテンプレートとして記録しておくことにした。 事前情報 [userName]と書かれている部分は、適宜存在するユーザのホームディレクトリ名などに書き換える。 設定内容 .desktopの内容 スクリプトを実行する場合には、Terminal=trueを指定すること、実行権限を付与すること(“chmod +x [対象のスクリプトやバイナリ]")やインタプリンタなどを指定するシバンが先頭に必要である。(例:”#!/bin/bash","#!/bin/python") [Desktop Entry] Version=1.0 Type=Application Name=A sample sortcut Comment=This is a sample desktop entry text. Terminal=true Exec=/path/to/script.sh Icon=[icons フォルダ直下に配置した画像名か、画像までのファイル名を含めた絶対パス 拡張子も書く] .desktopのファイルの配置場所 特定のユーザだけ /home/[userName]/.local/share/applications 全体に反映 /usr/share/applications アイコン画像の配置場所と利用方法 icons フォルダに直接画像を配置する場合は、デスクトップエントリの記述においてIcon=[拡張子を含めたファイル名]で通り、すべてのパスを書く必要はない。階層構造を作るには、Icon Theme Specification に従って厳密にインデックスなどをテキストで指定する必要があり手間がかかるので今回は省略する。それ以外の場所に配置する場合は、デスクトップエントリの記述においてIcon=[画像のファイル名を含めた絶対パス]とする必要がある。 特定のユーザだけ /home/[userName]/.local/share/icons 全体に反映 /usr/share/icons 例 例として、ゆっくり霊夢をアイコンとしたecho "ゆっくりしていってね!"を実行するスクリプトへのショートカットの作成について、以下に示す。 .desktopファイル 配置場所 /home/[userName]/.local/share/applications/yukkuri.desktop 内容 [Desktop Entry] Version=1.0 Type=Application Name=Yukkuri say something meaningless Comment=Yukkuri will say something meaningless. Terminal=true Exec=/home/[userName]/script/yukkuri/say.sh Icon=/home/[userName]/.local/share/icons/yukkuri/reimu/normal.png スクリプト 配置場所 /home/[userName]/script/yukkuri/say.sh 内容 #!/bin/bash echo "ゆっくりしていってね!" 画像 配置場所 /home/[userName]/.local/share/icons/yukkuri/reimu/normal.png ゆっくり霊夢の画像 (normal.png) 動作例 期待したとおりに動作している例 ...

April 2, 2026

Nvidia のドライバを導入する

この記事を作った動機 最近元々 Windows が入っていたPCに対しても、linux環境に乗り換えるようになった過程で、Nvidia 製の GPU である Quadro M620 に対して、プロプライエタリな Nvidia社が提供しているドライバをインストールしようとしたところ問題が発生したため、具体的に何をしたか記録を取る。 基本的に今回起こった問題としては、aur から Nvidia のプロプライエタリなドライバを導入しただけでは設定不足で、正しく起動できず、カーネルなどを読み込み終わったあとに、画面が切り替わろうとするとき、解像度がおかしくなったり、画面が映らなくなったり、ケーブルを抜き差しすることで突然映るようになったりという挙動になった。 問題が何なのか調べたりLLM(Gemini)に投げつけたりしたところ、initramfsで起動する段階で Nvidiaのドライバを読み込んでないと、その後の起動後にディスプレイの EDID の情報が正しく読み込めないのではないかということが分かった。これは、起動時には画面が映らなかったり解像度がおかしい状態になることと、ケーブルを抜き差しすると映るようになることからも、起動時に Nvidia のモジュールがロードされていなかった場合に、その後の初期化フェーズで Nvidia のドライバが読み込まれても提携できてないということで、説明がつくように思われる。 ちなみに設定不足のときに、dmesgでカーネルのメッセージを見ると以下のようなエラーが出ていた。 dmesg | grep nvidia ... R* [nvidia-drm] [GPU ID 0x00000100] Failed to add encoder for NvKmsKapiDisplay 0x00000001 ... 環境 環境 System Details Report Report details Date generated: 2026-01-17 20:53:19 Hardware Information: Hardware Model: HP HP Z2 Mini G3 Workstation Memory: 16.0 GiB Processor: Intel® Xeon® E3-1225 v5 × 4 Graphics: Quadro M620 Disk Capacity: 512.1 GB Software Information: Firmware Version: N53 Ver. 01.91 OS Name: Arch Linux OS Build: (null) OS Type: 64-bit GNOME Version: 49 Windowing System: Wayland Kernel Version: Linux 6.18.5-arch1-1 ...

January 18, 2026

GNOME OSK extension IdeaList

この記事を作った動機 単に日本語入力環境の改善を考えていたら他にも欲しい機能が出てきたので記録するだけ。 前回の記事 GNOME OSK 日本語入力 一時的な解決策 Idea List コマンドキー Gnome OSK では、ミニマリスティック過ぎて、Ctrl+S でセーブとかキーボードショートカットが困難である。そこで基本的なキー操作はコマンドとして定義し、汎用性のために、Alt と Ctrl キーも追加するみたいな方向性にしたい。 以下は追加したい理想のキーについて列挙したものである。 Ctrl+S -> セーブ キー Ctrl+C -> コピー キー Ctrl+V -> 貼り付け キー Ctrl+Z -> 元に戻す キー Ctrl+Y -> やり直す キー Ctrl Alt キーサイズ調整 Gnome OSK のキーサイズは Windows の OSK に比べて小さいように思う。正直かなり押しづらいので、もうちょいキーサイズを好みに合わせて、大きくしたり小さくしたりできるようにしたいと思った。 サイズ設定のインターフェイスについては、OSK 側には設定用のボタンを追加するか、ブラウザから設定画面にアクセスしてもらうようにするか、OSK に埋め込まれている設定画面があるならそこに項目を追加してみてもいいかなと思ったりしている。 アプリケーションのサイズ、位置の最適化 Windows では、スクリーンキーボードを使うと、自動的にウィンドウが変形されたり、テキストの位置に合わせて移動したりする。しかし GNOME ではそういう機能は基本現状ないっぽくて、なんかターミナル使ったら OSK の下に出力と入力部分が隠れてしまったりする。なのでこれを多少マシにしたい。 カーソルの画面上の位置を認識して、ウィンドウの表示位置を調整する Wayland をネイティブにサポートしているアプリでは、ウィンドウサイズやコンテンツの全体についての可視性についても考慮したい。 フローティングモード キーボードが画面を全体的に覆う感じじゃなくて、Windows みたいに、ウィンドウモードみたいなことができるようにしたい。アプリケーション側の最適化が困難な、XWayland 上で動いているアプリとかでも、OSK をまともに動かせるようにしたい。 OSK 自動隠し機能の無効化 OSK を固定するキーみたいなものを実装し、スクリーンキーボードが自動で隠れると鬱陶しいときに明示的に操作できるようにする。 ...

August 22, 2025

GNOME OSK 日本語入力 一時的な解決策

この記事を作った動機 なんか ChatGPT に色々要望を投げたら、とりあえず動くものが自分で理解してなにか作れる前にできたので、まずはそっちに集中しようかなと思いまとめを作ろうとしてみた。 結局まともに動かせるようにするために、 ChatGPT とのやり取りで出てきた着想を元に、色々調べて自分で組み合わせたり、コードを書いたりすることになった。 前回の記事 GNOME OSK 周りの調査 機能の概要 Gnome 拡張機能として、トップバーに全角半角切り替えキーを表示し、押したら、入力モードがアルファベットを直接入力するモードと、日本語をローマ字で入力するモードに切り替えられるようにする。 主にタッチパネル環境を使って日本語入力するときに、Gnome OSK が US配列しか日本語レイアウトを指定しても表示しないために、補助として作った。 想定された利用する状況としては、以下のようなものがある。 GNOME 47 以降 タッチパネル運用 GNOME OSK を利用する Wayland 環境 ちなみに X11 環境である場合は、onboardなどすでにある OSK とかを使ったほうがいいかもしれない。 リポジトリ 基本的な動作 pyhton のキーイベントを送る常駐サーバがある。 (セキュリティの都合により汎用性はなく “`” の日本語キーボードで言う全角半角キー相当のキーイベントしか送らない) ボタンが押されたら、localhost 経由で Gnome 拡張機能からリクエストを送る python サーバ 必要なパッケージ python python-uinput python-websockets yay -S python python-uinput python-websockets 最新版 最初は、ChatGPT に書いてもらったコードを動かしていたが、次第に HTTP 通信だと限界があることがわかり、 WebSocket へ移行した過程で、結局自分でネットで python のsockets の公式ライブラリなり、色んなサイトを漁ってコードを書くことになった。ChatGPT が書いたコードについては、uinput 以外は、結局いろんなサイトからの試しながら切り貼りといった感じである。 ...

August 21, 2025

動画壁紙 GNOME

このページは、まだ未完成です。。。 nicotalk&キャラ素材配布所 http://www.nicotalk.com/charasozai_kt.html (2024年5月16日) このツールを作りたい理由 wallpaper engine みたいなことを、Linux 環境の GNOME、wayland 上でやりたいと思った。githubにコードやコンパイル済みのバイナリは上げておいて、いろんなlinuxディストリビューションで無料で使えるものがあるといいなと思った。 どう実装したいか? GJS を使って、GNOME 拡張機能として実装したい。そもそもできるのか、具体的にどうするのかは現時点ではまだ見通しが立っていない。 参考にしたサイトとか 現時点では特になし。

August 13, 2025

GNOME OSK 周りの調査

このページは、まだ未完成です。。。 nicotalk&キャラ素材配布所 http://www.nicotalk.com/charasozai_kt.html (2024年5月16日) この記事を作った動機 GNOME には、スクリーンキーボードがデフォルトで実装されているが、日本語レイアウトが存在しないようで、全角半角切り替えキーさえ出てこないという非常に不便な挙動をしているということがあった。そこで、自分で何かしらしてどうにか全角半角キーを追加したいと思った次第。 考えていること 拡張機能として実装する Gnome-shell 自体を変更してしまう OSK自体にボタンを埋め込まずに、Fcitx5のIME の横にパネルメニューボタンとして、切り替えボタンを表示する わかったこと data/osk-layouts/配下に日本語レイアウトが存在しない us.json としてアメリカ配列などについては存在するが、jp.json や ja.json みたいなのは存在していない。 ja.json を us.json などからコピーして作るとき 全角半角切り替えキーは、action として記述できる模様。ただ、GJS側でどうやってアクションを処理すればいいのか不明。 us.json の action 例 ... { "action": "emoji", "iconName": "osk-emoji-picker-symbolic" }, { "action": "languageMenu", "iconName": "osk-layout-symbolic" }, { "action": "hide", "iconName": "osk-hide-symbolic" } ... jp.json のイメージ ... { "action": "zenkakuHankaku", "iconName": "osk-zenkakuHankaku-symbolic" }, ... GJS のアクションの実装方法が不明 調査が必要なことがわかる。fcitx5 を私は使っているがそれについても GJS からどうできるのか調べる必要がありそうである。DBusあたりが重要なのかな?とはなんとなく思っているところである。 data/gnome-shell-osk-layouts.gresource.xml のイメージ ただキーボードレイアウトとactionの実装をするだけでなく、リソースとして以下のように登録してレイアウトを認識させる必要がありそう。 ...

August 10, 2025

電力プロファイル設定をできるようにする

この記事を作った動機 Arch linux や Gnome をただ導入しただけでは有効になっていないどころか、インストールすらされていない機能を有効にする方法について、一応ノートとして記録を残すだけ。 デーモンのインストール yay -Sy power-profiles-daemon # sudo pacman -S power-profiles-daemon デーモンの有効化 sudo systemctl enable --now power-profiles-daemon 電力管理が有効になった様子 参考にしたサイトとか Re-enable the GNOME Power Profile service - Ask Ubuntu https://askubuntu.com/questions/1526049/re-enable-the-gnome-power-profile-service (2025年7月25日) Arch Linux - power-profiles-daemon 0.30-1 (x86_64) https://archlinux.org/packages/extra/x86_64/power-profiles-daemon/ (2025年7月25日)

July 25, 2025

Icons

ここはどこ? ここはただ単に自分専用の chrome 拡張機能とか、このブログ用のアイコンとか作る過程で、適当に簡易的に作成した画像とか置いていくだけです。 notepad - chrome 拡張機能 clear.png close.png copy.png input.png move.png resize.png save.png other - nyanmo main blog PC.png exitfullscreen.png window.png おもちゃせっと.png おもちゃ箱.png はんだ.png はんだごて.png ガムテープ.png スマホ.png プラスチックほうき.png LLM-bias-visualization ひらめきバルブ.png ZenkakuHankaku-Key 全角半角キー.png

May 19, 2025

Gnome Mutter と ネットワーク共有フォルダ(SMB CIFS)

この記事を書いた動機 ただ単に、すぐに気づけなかったけど、後々気づいたことがあったので、それを記録するだけです。具体的には、Gnome の mutter において、ネットワークドライブ上を参照している場合においても、サムネイルを表示するようにすることについて、記事を書いていく予定です。 Gnome Mutter と ネットワーク共有フォルダ デフォルトの設定 gnome mutter ではデフォルトで、ネットワーク共有フォルダの中身のサムネイルなどを表示しない。 サムネイルを表示する設定に変更 以下の画面で、サムネを表示したりその他情報についてどうするか、設定できる。デフォルトでは、全ての項目がトラブルを避けるためか、ネットワーク共有フォルダなどを含まない、端末上のディスク内にしか機能しないように設定されている。 設定を開く サムネイルを表示するように設定を変更 変更後の様子 設定を変更し、ネットワーク共有フォルダ等をのぞいてみると、サムネイルなどが見えるようになったりする。 参考にしたサイト ただ気づいたことを書いただけなので特になし。

January 6, 2025