Blender でカメラやオブジェクトを動かせない

この記事を作った動機 普段常駐させているサーバがあり GPU を載せているが、それを使って Blender でレンダリングをしたいとか、RDP 経由で直接その環境を使いたいとなったときに問題が起こっていた。 具体的には、RDP 経由で Blender 自体のウィンドウやその他アプリにおいてもドラックアンドドロップなどはでき、Google Chrome においてもタブを掴んで動かしたりすることはできるが、Blender 内の 3D Viewport において、視点を回転させようとしたり、オブジェクトを G キーを押してマウスで任意の場所に移動させたりすると、ちょっとだけ動くだけで、ほとんど動かせないということがあった。 今回はその背景や機能することが確認できた対処について記録したい。 対処方法 Continuous Grabを無効化する。(Edit -> Preference -> Input -> Mouse -> Continuous Grab) 問題の様子と解決の様子 背景情報 問題としては、Continuous Grab という項目が、FPSゲームとかであるように、マウスカーソルを画面中央などにロックして、一定フレームごとのカーソルの移動量を計測することで、視点を移動させたりする仕組みが、Blender の Continuous Grab の機能で採用されていて、RDP 環境下ではうまく動作しないのではないかということは、Google Gemini 3 Fastに問題について投げてみると理屈として出てきたが、実際のところ技術的詳細がどうなっているのかは私はわかっていない。 通常のウィンドウ操作や、Blender の UI 自体の操作ではこの問題は起こらず、ドラックして動かしたりすることができており、それについては、画面の絶対座標から導き出されるカーソルの位置を利用してカーソルの移動量が計算されていて、カーソルがロックされていないので問題が起こらないということも、Google Gemini 3 Fastに問題について投げてみると理屈として出てきたが、実際のところ技術的詳細がどうなっているのかは私はわかっていない。 現状わかっていることとしては、Continuous Grabの機能を無効化しなければ、Blender において、3D Viewport が RDP 経由ではまともに動かせないということであった。今回の問題は直接 RDP を経由せずに操作した場合には起こらないことが確認できている。Windows 11 24H2 の RDP クライアントでも、Liunx 環境の Remmina RDP クライアントにおいても、Continuous Grab有効時において、今回の問題が再現することも確認している。 ...

March 20, 2026

dhcpcd が特定のインターフェースに対して DHCP するのをやめるように指定してもやめない

この記事を作った動機 dhcpcd を使って管理している PC があるが、最近その挙動について何度も DHCP して IP を取得しては、新しいものを取得するという動作をして、他の PC が接続できなくなるほど、IP プールを勝手に枯渇させるということがあった。 特定インターフェースについて、そもそも DHCP とかで勝手に設定しないように指定したつもりであったが、機能していないことが分かった。動くまで調べ、機能しているように見えるところまで持ってきたのでそれについて記録する。ただしばらく動かしてみないと実際機能しているかわからないので、すぐわかる範囲での暫定的な記録となる。 設定方法 /etc/dhcpcd.confの最上位に、denyinterfaces [DHCPしないインターフェース名1] [DHCPしないインターフェース名2] ...というように記述する。基本的に DHCP したり静的に IP などを取得し設定するインターフェースの設定より上に書かないといけないっぽいことが今回調べて分かった。denyinterface getting ignored - Raspberry Pi Forums に書かれているように、dhcpcd は設定ファイル内の順次自体が大事なように見受けられる。設定例はブログに乗せるために...として省略している部分がある。 機能しているっぽい設定例 # cat /etc/dhcpcd.conf # A sample configuration for dhcpcd. # See dhcpcd.conf(5) for details. denyinterfaces eno2 enp0s20u11 ... interface eno1 static ip_address=192.168.1.x static routers=192.168.1.x static domain_name_servers=8.8.8.8 機能していないっぽい設定例 # cat /etc/dhcpcd.conf # A sample configuration for dhcpcd. # See dhcpcd.conf(5) for details. ... interface eno1 static ip_address=192.168.1.x static routers=192.168.1.x static domain_name_servers=8.8.8.8 ... denyinterfaces eno2 enp0s20u11 問題となっているPCなどの構成情報 関係のありそうな構成情報の列挙 Arch Linux Firewalld dhcpcd nftables SoftEther VPN 今回登場するPCの説明 ルータPC 家庭用ルータに置き換えて、nftables と kea によってルータ化した PC である。基本的な機能性は家庭用ルータと変わらないように意識し、USB NIC と内蔵 NIC の2つからなる。今回説明に出てくる、具体的なインターフェース名に紐づく物理 NIC とは関係ない。 ...

March 3, 2026

Trusted Type 関連でエラーが出て、思う様にスクリプトを実行できない

この記事を作った動機 最近ちょっとした JavaScript のツールを作って使おうとしたところ、直接 HTML の文字列を innerHTML として渡すことができないことが分かった。 今の私の理解だと XSS(Cross Site Scripting) 対策のためにテキストデータとして紛れた悪意のある CSS や JavaScript コードなどを実行(反映)しないようにするために、追加された仕組みに引っかかったという認識である。“ポリシー"なるものを定義して、innerHTMLとかに設定されるテキストデータであったHTMLの文字列などを、事前に任意に定義した createHTML などの関数を通して、テキストデータの HTML化などを承認?するような動作を実装する必要があるというイメージである。 エラー内容 function setStyle(){ let style = document.createElement("style") style.innerHTML = ` .positive{ background: red; text-decoration: underline; } .negative{ background: blue; text-decoration: underline; } ` document.body.appendChild(style) } setStyle() // This document requires 'TrustedHTML' assignment. The action has been blocked. 暫定的な対処 以下はとにかく、自分で書いたスクリプトをすぐ動かしたい場合で、動作検証やプライベート目的で、理解したうえで利用することを想定したコード例であり、実用ではセキュリティの問題になるので真面目に悪意のあるコードが実行されないように createHTML などの定義を書く必要がある。 const policy = trustedTypes.createPolicy("my-policy", { createHTML: (s) => s, }); function setStyle(){ let style = document.createElement("style") style.innerHTML = policy.createHTML(` .positive{ background: red; text-decoration: underline; } .negative{ background: blue; text-decoration: underline; } `) document.body.appendChild(style) } setStyle() 参考にしたサイトとか This document requires ‘TrustedHTML’ assignment. · Issue #482 · killergerbah/asbplayer https://github.com/killergerbah/asbplayer/issues/482 (2026年2月18日) asbplayer/extension/src/pages/youtube-page.ts at dd5f49f3ab97cd5b1eefa2cde113704a125e69b5 · killergerbah/asbplayer https://github.com/killergerbah/asbplayer/blob/dd5f49f3ab97cd5b1eefa2cde113704a125e69b5/extension/src/pages/youtube-page.ts#L18 (2026年2月18日) TrustedTypePolicyFactory: createPolicy() method - Web APIs | MDN https://developer.mozilla.org/en-US/docs/Web/API/TrustedTypePolicyFactory/createPolicy (2026年2月18日) TrustedTypePolicy - Web APIs | MDN https://developer.mozilla.org/en-US/docs/Web/API/TrustedTypePolicy (2026年2月18日) Trusted Types API - Web APIs | MDN https://developer.mozilla.org/en-US/docs/Web/API/Trusted_Types_API (2026年2月18日)

February 18, 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

OBS Studio が Linux と Intel 5th CPU の組み合わせで動かない

この記事を作った動機 なんか Arch Linux 上でOBS Studioをインストールして使おうとしたら、一発では動かなかった場合があったので記録する。 問題が解決した方法 intel-media-sdkをインストールする。 yay -S intel-media-sdk # sudo pacman -S intel-media-sdk これで解決しない場合は、Chrome と Intel UHD 615 で 動画再生にハードウェアアクセラレーションを使いたい#インストールするパッケージの記事の部分について参考にしてみて試しにパッケージをインストールするということはあるかもしれない。 環境 問題が発生した当初の設定状況については、OBS Studio で Intel HD Graphics 5500 が検出され、ハードウェアエンコーダーとしてデフォルトで QSV が選択された状態である。 ハードウェア情報 Report details Date generated: 2025-12-29 17:13:30 Hardware Information: Hardware Model: Dell Inc. Latitude E7450 Memory: 16.0 GiB Processor: Intel® Core™ i5-5300U × 4 Graphics: Intel® HD Graphics 5500 (BDW GT2) Disk Capacity: 480.1 GB Software Information: Firmware Version: A20 OS Name: Arch Linux OS Build: (null) OS Type: 64-bit GNOME Version: 49 Windowing System: Wayland Kernel Version: Linux 6.18.2-arch2-1 ...

December 29, 2025

Google Chrome で AI モード と AI Overview を止めたい

この記事を作った動機 Google が正規の手順で無効にできないようにして強制的に、AI モード や AI Overview なるものを押し付けてくるので、無効化する方法についてまとめておきたい。 無効化手順 AIモード 無効化 Google Chrome の検索バーの問題の様子 chrome://flagsを開く AI モード に関連する項目を全部disabledにする 問題が解消された状態 ...

December 2, 2025

PyOCR を Windows で動かしたい

この記事を作った動機 pyocrを使うおうとしたらライブラリだけじゃなくて、OCRを実際にする部分である tesseract をインストールしないといけないことが分かったので記録をとってみる。前提として Windows 環境上で作業していて、Python環境はすでに構築されていて機能するものとする。 ちなみに、躓いた点としては、tesseract をただインストールする必要があるだけでなく、環境変数Pathを通して、tesseractコマンドが使える状態しないと、pyocr が tesseract を見つけられないという点があった。 Windows と違って、Linux や Mac 系の環境では、tesseract をインストールした時点ですでにパスが通っているところにバイナリが配置され、追加の設定が不要ということがあるかもしれないが、現時点ではまだ確かめていない。 pyocr を使えるようにする手順 pyocr ライブラリの導入 pip install pyocr tesseract をインストール インストーラの取得 Home · UB-Mannheim/tesseract Wiki から、tesseract-ocr-w64-setup-XXXXXXXXXXXXXX.exeをダウンロードする。 日本語のOCRデータが含まれるように指定する インストーラを実行し進める。ただ単に進めるだけでなく、途中で日本語向けのOCRデータを含むように明示する必要がある。 インストーラを進めている途中で出てくる以下のパスは、のちにPathという環境変数を設定するために使うため、どこかにコピーしておく。私の環境では以下のようになった。 環境変数を通す インストーラで見えていた場所に対して、環境変数のPathを設定する。なお変更の反映にはターミナルなどの再起動が必要である。また設定したのにうまく反映されない場合は PC ごと再起動した方がいいかもしれない。 環境変数が通ると、コマンドプロンプトなどで以下のように表示されるはずである。 tesseract # Usage: # C:\Program Files\Tesseract-OCR\tesseract.exe --help | --help-extra | --version # C:\Program Files\Tesseract-OCR\tesseract.exe --list-langs # C:\Program Files\Tesseract-OCR\tesseract.exe imagename outputbase [options...] [configfile...] # # OCR options: # -l LANG[+LANG] Specify language(s) used for OCR. # NOTE: These options must occur before any configfile. # # Single options: # --help Show this help message. # --help-extra Show extra help for advanced users. # --version Show version information. # --list-langs List available languages for tesseract engine. 環境変数がうまく通ってない場合の例(PowerShell) ...

December 2, 2025

Blender で出力した STL ファイルを Cura でうまくスライスできない

この記事を作った動機 Blender と Cura を使って、なんか印刷しようとしていたところ、つくったモデルが思うようにスライスできないことが分かったので、その対処方法について自分用に記録をする。 調べてみてもすぐにははっきりとしたことはわからず、全部のモデルの整合性に問題があるケースという意味では、全然網羅できてないと思うが、最終的に自分なりに心当たりのある部分を当ってみた感じにはなった。 Cura 上での挙動 問題があるとき モデルに問題があり、正常にスライスできない可能性があると、エラーメッセージが表示され、水色とピンク色であらわされる不適切な部分を示す領域がモデル上に表示される。 問題ながないとき 水色とピンク色であらわされる不適切な部分を示す領域が表示されることなく、エラーメッセージも出てこない。 ポイント 面が反転している 問題点の例 対応例 Blender 面を反転する に記録した。 余計な面が内部に隠れている 問題点の例 対応例 Edit モードで、単純に余計な面を選択して消す。 面が重なってつながっていない部分がある 問題点の例 対応例 重なっているだけでうまくつながっていない面を消し、作り直す。 面を削除する 面の作り直し 必要な辺や点を選択してから、Fキーを押すことで面を新たに作成する。 面を作り直して、全体的に整合性が取れた様子 参考にしたサイトとか Why am I getting “Your model has missing or extraneous surfaces” popups in Ultimaker Cura? https://support.makerbot.com/s/article/1633018228456 (2025年11月7日) Missing or extraneous surfaces warning in Cura : r/3Dprinting https://www.reddit.com/r/3Dprinting/comments/n6ff1w/missing_or_extraneous_surfaces_warning_in_cura/ (2025年11月7日) Flip Normals (inverted faces) – Blender Knowledgebase https://www.katsbits.com/codex/flip-normals/ (2025年11月7日) How do I flip the normal on this polygon? : r/blender https://www.reddit.com/r/blender/comments/1fbcqwc/how_do_i_flip_the_normal_on_this_polygon/ (2025年11月7日)

November 7, 2025

Blender 面を反転する

この記事を作った動機 地味に面を反転する方法がわかりづらかったので自分用に改めて記録する。 やり方 面を反転するオブジェクトを選択する 面の向きを表示する edit モードに入る 反転する面を選択する 面を反転する 面の向きが反転した後 参考にしたサイトとか Flip Normals (inverted faces) – Blender Knowledgebase https://www.katsbits.com/codex/flip-normals/ (2025年11月7日) How do I flip the normal on this polygon? : r/blender https://www.reddit.com/r/blender/comments/1fbcqwc/how_do_i_flip_the_normal_on_this_polygon/ (2025年11月7日)

November 7, 2025

Linux MIDI をとりあえず使えるようにする

この記事を作った動機 Linux 環境を使っていて、ソフトウェアシンセサイザー?とか、適当にネットでダウンロードしてきたMIDIファイルを再生するとかやってみている。 それで、Linux 環境における MIDI では、ちょっとすぐにはわからないようなことが必要だとわかったので、それをノートとして使っているこのブログに記録しようと思った。 使っているソフト Surge XT Drumstick MIDI Midi を使う 毎回起動時に特定のドライバを読み込まないと、midi が使えないようで、Drumstick MIDI は MIDI setup を開く段階でクラッシュした。 やること 有効化 sudo modprobe snd_virmidi 無効化 sudo modprobe -r snd_virmidi 起動時に自動で読み込まれるようにする /etc/systemd/system/midi.service [Unit] Description=load and unload virtual midi driver [Service] Type=simple User=root ExecStart=modprobe snd_virmidi ExecStop=modprobe -r snd_virmidi Restart=on-abort [Install] WantedBy=multi-user.target midi.serviceサービスの有効化 sudo systemctl enable midi ドライバを読み込む前の様子 ちなみに以下のエラーや挙動は、ドライバを読み込んでから、ドライバを無効化したあとに試すと症状が再現しない。再起動後は、またドライバを読み込むまで症状が再現している。現時点で私は、この挙動については正直細かくはわかっていない。 エラーが出る例 (Drumstick MIDI) Active MIDI Inputs が何も出てこない例 (Surge XT) MIDI の設定をする 基本的には、Midi Through を使っておけば、ソフトウェア上では、音を鳴らせるところまで持っていける模様である。 ...

September 24, 2025