Linux カーソル 設定や作成

このページは、まだ未完成です。。。 nicotalk&キャラ素材配布所 http://www.nicotalk.com/charasozai_kt.html (2024年5月16日) この記事を作った動機 Linux 環境 + GNOME におけるカーソルテーマのインストールや作り方がわかりにくかったので自分用にまとめを作りたい。作り方の部分に関しては、主に、Create your own mouse cursor theme | Developer のやり方を元にしている。 まだ、現段階(2025/9/28)では、何も手を付けてなくて、調べたことをまとめ、とりあえずカーソルテーマを作るための一筋の段取りを見立てるという段階なので、実際にこのやり方が機能するかは確かめられていない。この記事はその過程において、思考整理的な意味がある。 使うツール GNOME tweaks xcursorgen yay -S xorg-xcursorgen gnome-tweaks # pacman -S xorg-xcursorgen gnome-tweaks カーソルの設定の仕方 GNOME tweaks を使う 以下は、カーソルテーマ設定画面の例である。 カーソルのインストール カーソルデータのフォルダ構造 cursorThemeName/ ├── cursors │ ├── default │ └── ... # 他にも色々ある └── index.theme local index.theme を含むフォルダごと以下のディレクトリに配置する。 ~/.local/share/icons/ global index.theme を含むフォルダごと以下のディレクトリに配置する。 /usr/share/icons/ カーソルの作り方 カーソル専用のフォルダを作る cursorThemeName/ ├── cursors # フォルダ └── index.theme # プレインテキスト index.theme を書く とりあえずこのファイルがあればとにかくテーマとして GNOME tweaks などからは認識される。 ...

September 28, 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

linux カーネルの更新に失敗する

この記事を作った動機 単に linux カーネルの更新に失敗することに気づいたので、症状と対処法を記録するだけ。ていうか調べたらすでにいっぱい記事あるけど、まあ自分用の記録として。 環境 System Details Report Report details Date generated: 2025-08-31 20:19:38 Hardware Information: Hardware Model: Dell Inc. XPS 13 9365 Memory: 8.0 GiB Processor: Intel® Core™ i7-8500Y × 4 Graphics: Intel® UHD Graphics 615 (AML-KBL) Disk Capacity: 1.0 TB Software Information: Firmware Version: 2.24.0 OS Name: Arch Linux OS Build: rolling OS Type: 64-bit GNOME Version: 48 Windowing System: Wayland Kernel Version: Linux 6.14.6-arch1-1 症状 カーネルが細分化された結果、従来のカーネルとうまく噛み合わず、更新に失敗する。 yay # ... # (895/895) パッケージの整合性をチェック [############################] 100% # (895/895) パッケージファイルのロード [############################] 100% # (895/895) ファイルの衝突をチェック [############################] 100% # エラー: 処理を完了できませんでした (衝突しているファイル) # linux-firmware-nvidia: /usr/lib/firmware/nvidia/ad103 がファイルシステムに存在しています # linux-firmware-nvidia: /usr/lib/firmware/nvidia/ad104 がファイルシステムに存在しています # linux-firmware-nvidia: /usr/lib/firmware/nvidia/ad106 がファイルシステムに存在しています # linux-firmware-nvidia: /usr/lib/firmware/nvidia/ad107 がファイルシステムに存在しています # エラーが発生したため、パッケージは更新されませんでした。 # -> Failed to install layer, rolling up to next layer.error:error installing repo packages # ... 対処方法 単に linux と linux-firmware を再インストールする。 ...

August 31, 2025

VLC 動画を再生できないことがある

この記事を作った動機 なんか最近 VLC をただパッケージマネージャでインストールするだけでは、デコードやら何やら色々必要なプラグインが欠けた状態になるらしく、まともに動画を再生できないということがあったので記録するだけ。 うまく動画が再生できないことがわかったあと、pacman を使うことで、plugin として存在していて、まだインストールしていないパッケージがあることを理解した。それで欠けていそうなパッケージをインストールしてみると問題が解決したので、そのことを忘れないうちに残しておきたい。 pacman -Qi vlc # Name : vlc # Version : 3.0.21-27 # Description : Free and open source cross-platform multimedia player and framework # Architecture : x86_64 # URL : https://www.videolan.org/vlc/ # Licenses : GPL-2.0-or-later LGPL-2.1-or-later # Groups : None # Provides : None # Depends On : bash hicolor-icon-theme vlc-gui-qt=3.0.21 # Optional Deps : vlc-gui-ncurses: for ncurses TUI # vlc-gui-skins2: for Skins2 GUI # vlc-plugins-all: for all plugins # vlc-plugins-extra: for extra plugins # vlc-plugins-visualization: for visualization plugins # vlc-plugin-aalib: for ASCII art video output support # vlc-plugin-aom: for AOM AV1 codec support # vlc-plugin-aribb24: for ARIB STD-24 codec and demux support # vlc-plugin-aribb25: for ARIB STD-25 stream filter support # vlc-plugin-ass: for SSA/ASS subtitle codec support # vlc-plugin-avahi: for mDNS/DNS-SD services discovery support # vlc-plugin-bluray: for Blu-ray access support # vlc-plugin-caca: for color ASCII art video output support # vlc-plugin-cddb: for CDDB access support # vlc-plugin-chromecast: for Chromecast stream out support # vlc-plugin-dca: for DTS Coherent Acoustics codec support # vlc-plugin-dvb: for DVB access, mux and demux support # vlc-plugin-dvd: for DVD access support # vlc-plugin-ffmpeg: for FFMPEG based access, codec, demux, packetizer, VDPAU, video chroma and video filter support # vlc-plugin-firewire: for FireWire device access support # vlc-plugin-fluidsynth: for FluidSynth codec support # vlc-plugin-freetype: for subtitle and on screen display text rendering support # vlc-plugin-gme: for Game Music Emulation demux support # vlc-plugin-gstreamer: for GStreamer codec support # vlc-plugin-jack: for JACK access and audio output support # vlc-plugin-kate: for kate karaoke codec support # vlc-plugin-kwallet: for kwallet keystore support # vlc-plugin-libsecret: for libsecret keystore support # vlc-plugin-lirc: for infrared remote control support # vlc-plugin-live555: for RTP/RTSP stream access support # vlc-plugin-mad: for MPEG Audio Decoder audio filter support # vlc-plugin-matroska: for Matroska demux support # vlc-plugin-mdns: for mDNS services discovery support # vlc-plugin-modplug: for MOD demux support # vlc-plugin-mpeg2: for MPEG2 codec support # vlc-plugin-mtp: for MTP device access and discovery support # vlc-plugin-musepack: for MusePack demux support # vlc-plugin-nfs: for NFS access support # vlc-plugin-notify: for notification support # vlc-plugin-quicksync: for Intel QuickSync H264/H262 codec support # vlc-plugin-samplerate: for samplerate audio filter support # vlc-plugin-sdl: for SDL codec support # vlc-plugin-sftp: for SFTP access support # vlc-plugin-smb: for SMB access support # vlc-plugin-soxr: for SoX Resampler audio filter support # vlc-plugin-srt: for SRT subtitle file support # vlc-plugin-svg: for SVG codec and text renderer support # vlc-plugin-udev: for ALSA services discovery support using udev # vlc-plugin-upnp: for UPnP services discovery support # vlc-plugin-x264: for H264/AVC encoding support # vlc-plugin-x265: for H265/HEVC encoding support # vlc-plugin-zvbi: for VBI access (also over V4L2) and codec support # Required By : None # Optional For : None # Conflicts With : vlc-plugin # Replaces : vlc-plugin # Installed Size : 40.06 MiB # Packager : David Runge <dvzrv@archlinux.org> # Build Date : Thu Jul 24 05:35:16 2025 # Install Date : Tue Aug 12 20:18:56 2025 # Install Reason : Explicitly installed # Install Script : No # Validated By : Signature このようにプラグインなどとして各種機能がVLCにおいて分割されるようになったのが、最近なのかは知らないが、linux ファームウェアも色々なんか分割してたりするので、VLC も肥大化かメンテナンスのために、なんかあったのかなと思ったり、元からだけど、今までは問題が出なかっただけなのかなと思ったり。 ...

August 12, 2025

GRUB で Windows も起動する

この記事を作った動機 単に今までめんどくさくて放置していた、Windows と Linux の デュアルブート環境において、GRUB を利用しているとき、Windows OS の選択肢が出てこないということについて、対応した時にわかったことを記録したいというだけ。 ちなみに今回の作業をするまでは単に BIOS 側で、.efi ファイルを指定することで、Linuxを起動するエントリと、Windowsを起動するエントリを作って、BIOSのブートメニューで選択していた。 なお今回の記事では前提として、GRUB が入っており、以下に示すコマンドはすでに使えることを想定している。 grub-install grub-mkconfig 環境 System Details Report(GNOME settings からのコピペ) Report details Date generated: 2025-08-04 14:45:58 Hardware Information: Hardware Model: Dell Inc. XPS 15 9575 Memory: 16.0 GiB Processor: Intel® Core™ i7-8705G × 8 Graphics: Intel® HD Graphics 630 (KBL GT2) Disk Capacity: (null) Software Information: Firmware Version: 1.20.0 OS Name: Arch Linux OS Build: rolling OS Type: 64-bit GNOME Version: 48 Windowing System: Wayland Kernel Version: Linux 6.15.7-arch1-1 パティーション構成 どんなパーティション構成で、デュアルブートを構成しているかも示す。Windows も Linux もどちら側も UEFI で動作しており、それぞれ個別に起動用の EFI パーティションを持っているという構成である。 ...

August 4, 2025

libvirtd のファイヤウォール設定

この記事を作った動機 libvirtを使った仮想環境で、ファイヤウォールの設定をしないと、仮想マシンがネットにつながらないので、その記録をするだけ。 やり方 仮想マシンとのインタフェースを確認する ip a # ... # 8: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc htb state UP group default qlen 1000 # link/ether 52:54:00:2d:fb:f7 brd ff:ff:ff:ff:ff:ff # inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 # valid_lft forever preferred_lft forever # ... ファイヤウォールを設定する インタフェース名が、virbr0 であることを想定する。 sudo firewall-cmd --permanent --direct --passthrough ipv4 -I FORWARD -i virbr0 -j ACCEPT sudo firewall-cmd --permanent --direct --passthrough ipv4 -I FORWARD -o virbr0 -j ACCEPT # sudo firewall-cmd --permanent --direct --passthrough ipv4 -I FORWARD -i [ネットワークインタフェース名] -j ACCEPT # sudo firewall-cmd --permanent --direct --passthrough ipv4 -I FORWARD -o [ネットワークインタフェース名] -j ACCEPT sudo systemctl restart firewalld 参考にしたサイトとか Firewall blocks internet on bridge in KVM virtual machine - English / Network/Internet - openSUSE Forums https://forums.opensuse.org/t/firewall-blocks-internet-on-bridge-in-kvm-virtual-machine/138737 (2025年8月2日)

August 2, 2025

ネットワークドライブの削除と作成

この記事を作った動機 ネットワークドライブがつながらないとき、再接続しようと思うと、記録がない場合不便すぎたので記録するだけ。 やり方 前提として、以下の項目を置いておく Z: ドライブ 192.168.1.33 SMB サーバの IP datafolder マウントポイント 接続 net use Z: \\192.168.1.33\datafolder /USER:[UserName] [Password] 削除 net use Z: /Delete 参考にしたサイトとか Net use | Microsoft Learn https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/gg651155(v=ws.11) (2025年8月2日) Deleting Mapped network drive - Microsoft Q&A https://learn.microsoft.com/en-us/answers/questions/3253887/deleting-mapped-network-drive?forum=windows-all&referrer=answers (2025年8月2日)

August 2, 2025

cron が動かない

この記事を作った動機 cron を使ってみようと思って重い腰を持ち上げてみたら、意図したとおりにうまく動かせずにつまずいたのでその記録をとるだけ。うまくわかった気がしないし、間違いがあるかもしれないが、ご了承ください。 cron の構造 # 分 時 日(一か月単位) 月 日(一週間単位) * * * * * /path/to/script.sh 確認事項 cron はインストールされているか? yay -Qs cron # pacman -Qs cron # local/cronie 1.7.2-1 # Daemon that runs specified programs at scheduled times and related tools エディターを設定したか? デフォルトだと vi が利用されるようになっており、不便なことがあると思うので設定した方がいいかも。 # neovim -> "nvim" に設定 # visual studio code -> "code" に設定 export EDITOR=nvim echo $EDITOR # nvim cron サービスが実行されているか? 確認 systemctl status cronie # systemctl status crond # ● cronie.service - Command Scheduler # Loaded: loaded (/usr/lib/systemd/system/cronie.service; enabled; preset: disabled) # Active: active (running) since Mon 2025-07-28 21:53:50 JST; 1h 7min ago # Invocation: 748b761f9921445f8a759eb430f3507f # Main PID: 354161 (crond) # Tasks: 2 (limit: 629145) # Memory: 1.3M (peak: 4.5M) # CPU: 1.667s # CGroup: /system.slice/cronie.service # ├─354161 /usr/sbin/crond -n # └─355485 /usr/sbin/anacron -s # # 7月 28 22:58:00 hostName CROND[361012]: (username) CMDEND (/path/to/script.sh) # 7月 28 22:58:00 hostName CROND[361012]: pam_unix(crond:session): session closed for user username # 7月 28 22:59:00 hostName crond[361097]: pam_unix(crond:session): session opened for user username(uid=1000) by username(uid=0) # ... 有効化 systemctl enable --now cronie # systemctl enable --now crond 例(crontab -l の内容) 毎分実行 * * * * * /path/to/script.sh 各時間 5 分目に実行 0時 5分に実行 1時 5分に実行 2時 5分に実行 … ...

July 28, 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

VPN越しにHTTPやSSH通信だけ通らなかった話とMTU設定

この記事を作った動機 なんか、キャリアネットワークをデザリングを経由して使って、さらにVPN接続を介した通信のうち、HTTPとSSHだけが繋がらないということがあった。 それで対策としてMTUを小さく設定することをしたのでそのことを記録するだけ。 ちなみになぜMTUが大きすぎるとだめなのかわかっていないが、多分大きすぎるサイズのパケットはなんとなくどこかで落とされている気がする。 VPNや多段NAT構成だとルーティングされているうちに、ヘッダが積み重なって、ネットワークのパケットのサイズが大きくなりすぎたりするのかもしれない。 ネットワークの構成 サーバーやLAN内のルータ マンションのNAT キャリアネットワーク スマホ(デザリング) PCとか 状況 A -> キャリアネットワークのときで、直接マンションのNATを超えたとき B -> キャリアネットワークのときで、VPSなどの固定IPを持ったサーバーを経由したとき C -> 光回線などの固定回線で、直接マンションのNATを超えたときと、VPSなどの固定IPを持ったサーバーを経由したときの両方について含まれる 状況別の表 A B C Ping ✅ OK ✅ OK ✅ OK SMB(ファイル共有) ✅ OK 確かめていない ✅ OK DNS ✅ OK ✅ OK ✅ OK SSH ❌ Failed ✅ OK ✅ OK HTTP(HTTPS) ❌ Failed ❌ Failed ✅ OK MTU設定方法(要管理者権限) デフォルトで設定されているMTUのサイズ 1500 今回うまくいったMTUのサイズ 1000 一時的な設定(とりあえずすぐ設定したいとき) ip コマンドを使う sudo ip link set dev [ネットワークアダプタ名] mtu [設定したいMTUサイズ] ip コマンドを使う例 # 例 # ip a # ... # 4: vpn_vpnhome: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000 # link/ether 5e:76:29:d3:1b:85 brd ff:ff:ff:ff:ff:ff # inet 192.168.1.203/24 scope global vpn_vpnhome # valid_lft forever preferred_lft forever # sudo ip link set dev vpn_vpnhome mtu 1000 # ip a # ... # 4: vpn_vpnhome: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1000 qdisc fq_codel state UNKNOWN group default qlen 1000 # link/ether 5e:76:29:d3:1b:85 brd ff:ff:ff:ff:ff:ff # inet 192.168.1.203/24 scope global vpn_vpnhome # valid_lft forever preferred_lft forever 永続化設定(networkmanagerを使っているとき) sudo nmcli connection modify [ネットワークアダプタ名] 802-3-ethernet.mtu [設定したいMTUサイズ] # vpn_vpnhome の MTU サイズを 1000 に変更 # sudo nmcli connection modify vpn_vpnhome 802-3-ethernet.mtu 1000 追記 2025年8月1日 なんか何となくブックマークをあさっていたら、TU,MSS の計算と最適化の便利な手段をまとめるというサイトにたどり着いた。それで、さらにリンクをたどって、Visual packet size calculator — Daniil Baturinというところに行くと、こんな記述が目に止まった。 ...

July 21, 2025