lewing isc.tamu.edu Larry Ewing and The GIMP, CC0, via Wikimedia Commons
Linux関係について適当にメモ書きしてます。結構いい加減かもですがあしからず。
lewing isc.tamu.edu Larry Ewing and The GIMP, CC0, via Wikimedia Commons
Linux関係について適当にメモ書きしてます。結構いい加減かもですがあしからず。
この記事を作った動機 なんか、キャリアネットワークをデザリングを経由して使って、さらに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というところに行くと、こんな記述が目に止まった。 ...
この記事を作った動機 なんか最近 AUR に Stable Diffusion WebUIが出現していて気軽に試せそうだったのでインストールして使ってみたということがあった。 その過程で記録しておきたいことがあったので、Stable Diffusion WebUI の導入過程とともに記事を書こうと思った。 環境 System Details Report Report details Date generated: 2025-07-13 20:41:10 Hardware Information: Hardware Model: HP ProLiant DL60 Gen9 Memory: 32.0 GiB Processor: Intel® Xeon® E5-2620 v4 × 16 Graphics: Unknown ※ GTX1080ti Disk Capacity: 30.0 TB Software Information: Firmware Version: U15 OS Name: Arch Linux OS Build: rolling OS Type: 64-bit GNOME Version: 48 Windowing System: X11 Kernel Version: Linux 6.15.5-arch1-1 導入 yay コマンドでインストール yay -Sy stable-diffusion-webui コンフィグの場所 /etc/stable-diffusion-webui/webui.conf ...
このページは、まだ未完成です。。。 nicotalk&キャラ素材配布所 http://www.nicotalk.com/charasozai_kt.html (2024年5月16日) この記事を書いた動機 Google Chrome が図々しく至るところで、“Set as default browser” と表示を出してくてあまりにうざいのと、そのプロンプトの止め方がlinux環境だとあまり見つけづらかったので、自分用に記録するだけ。 問題の状態 解決された状態 追記(2025年5月31日) 最近、実はこの記事で書いた方法も機能しないことに気づいた。最初から機能していなかったのか、それとも最近機能していなかったのかは定かではない。更に調べる必要がありそうである。 環境 Arch Linux Gnome wayland やり方(機能しない) 環境変数で、“CHROME_DEFAULT_BROWSER_CHECK_ENABLED=0"と設定する。 ターミナルで環境変数を設定 export CHROME_DEFAULT_BROWSER_CHECK_ENABLED=0 /etc/environmentで自動的に環境変数を設定 何かいちいち毎回起動時に環境変数を設定するsystemdスクリプトを書いて管理するのめんどいので、以下のように設定してみた。これでも機能したので、私は良しとしている。以下は、wayland向けの設定であり、x11を使っているなら、.xprofileあたりに設定する必要があると思われる。 # # This file is parsed by pam_env module # # Syntax: simple "KEY=VAL" pairs on separate lines # GTK_IM_MODULE=fcitx5 QT_IM_MODULE=fcitx5 XMODIFIERS=@im=fcitx5 CHROME_DEFAULT_BROWSER_CHECK_ENABLED=0 機能しないやり方 chrome://flags “Version 136.0.7103.59 (Official Build) (64-bit)“では、デフォルトブラウザを尋ねる(押し付ける)を無効化するフラグ (Default Browser Prompt Refresh) がなかった。Googleは更に"Be evil"に。。。どうも調べているうちにわかったこととしては、もはやレジストリとか、OSごとに異なる方法を使う必要があるようで、もう呆れる。 chrome://policy これは機能しないというより、単にlinux環境において、どうやってグループポリシーを設定するかめんどくさくて一旦置いたというのが正しい。一応オプションの存在自体は確認できた。直接chrome 側から設定できるという感じではない。Windowsであれば、何か適当にローカルグループポリシーを設定すればOS側からchrome側に反映されるようであるが、試していない。 ...
この記事を作った動機 Google Chrome を linux環境で使っていて、動画再生が安定せず、フレームが落ちまくり、CPUをめちゃくちゃに使い込むということがあったので、それに対処したときの記録を残すというだけです。 環境 XPS 13 2in1 (9365) Intel® UHD Graphics 615 wayland 48 Chrome (バージョン: 135.0.7049.84(Official Build) (64 ビット)) lsmod | grep i915 i915 4714496 61 i2c_algo_bit 20480 1 i915 drm_buddy 24576 1 i915 ttm 110592 1 i915 intel_gtt 28672 1 i915 drm_display_helper 270336 1 i915 cec 94208 2 drm_display_helper,i915 video 81920 3 dell_wmi,dell_laptop,i915 インストールするパッケージ GNOME 環境が動く状態が前提。必要そうなものは全部入れているので、いらないものもあるかもしれない。もしくは、インストールしたけど、色々探しているうちに存在を忘れていて、ここにはちゃんと書けていないものがあるかもしれない。 libva-intel-driver intel-media-driver lib32-mesa 1:25.0.3-1 mesa ~/.config/chrome-flags 今のところ、以下の設定で、ハードウェアアクセラレーションが機能することが確認できた。intel-gpu-tools をインストールして、intel_gpu_top で video の項目が動画再生時になんか動いてそうだったら、とりあえず成功したということだと思う。 ...
この記事を作った動機 なんか linux 環境で chrome を使ってたら、いちいちキーボード・ショートカットのポップアップが出てくるようになった。起動するたびに出てきて鬱陶しいので、調べたところ、一時的な対応として、起動フラグがあることが見つかったので、記録するだけ。 ~/.config/chrome-flags.conf ... --disable-features=GlobalShortcutsPortal ... 参考にしたサイトとか Opening Google Chrome has started automatically opening “Shortcuts - System Settings” with it - how to…not do that? : r/kde https://www.reddit.com/r/kde/comments/1jauzpa/opening_google_chrome_has_started_automatically/ (2025年4月21日)
この記事を作った動機 Wayland環境を使っていて、いちいち設定を見に行くのがめんどくさいので、ここにメモ書きとして乗せるだけ。「fcitx5 の日本語入力ができない問題を何とかする」ということに注目している。 ~/.config/code-flags.conf を以下のように編集 --enable-features=UseOzonePlatform --gtk-version=4 --enable-wayland-ime --wayland-text-input-version=3 # これは実験した跡 #--ozone-platform=x11 #--ozone-platform-hint=auto 必要なパッケージ 上記だけでは動かない場合、この記事でも書いている、fcitx5 関連のパッケージをインストールする。以下は、gnomeの設定のメモ ⚙の引用である。 パッケージのインストール 私は普段 fcitx5 を常用しているので、それらをインストール。 # 通常はこれだけ入れればうまく行くかも yay -S fcitx5 fcitx5-mozc fcitx5-input-support fcitx5-configtool # なんかうまく動かないと思ったらここらへんも確認してみるといいかも yay -S fcitx5-qt fcitx5-gtk fcitx5-anthy 関連するページ gnomeの設定のメモ ⚙ 参考にしたサイトとか Visual Studio Code - ArchWiki https://wiki.archlinux.jp/index.php/Visual_Studio_Code (2025年4月12日) Wayland - ArchWiki https://wiki.archlinux.jp/index.php/Wayland#Electron (2025年4月12日) Using Fcitx 5 on Wayland - Fcitx https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland (2025年4月12日)
この記事を書いた動機 単純に普段、linux 環境を使っていて、chmod コマンドの詳しい忘れていることがあり、いちいち調べるのが面倒くさいので、私にとって使いやすい形で記録を取っただけです。 chmod テーブル Permission Octal Decimal — 000 0 –x 001 1 -w- 010 2 -wx 011 3 r– 100 4 r-x 101 5 rw- 110 6 rwx 111 7 参考にしたサイトとか Chmod Command Cheat Sheet & Quick Reference https://quickref.me/chmod.html (2025年4月10日)
この記事を作った動機 systemd を使って何かしらスクリプトを実行したい(例えば、自動的にネットワークドライブをマウントする)ときとかあるのですが、そのたびに検索したり過去に書いたスクリプトを漁るのは面倒なので、自分用にメモ書きのテンプレを置くだけです。本当にただの自分用テンプレなので、説明とかは全然していません。 配置場所 root で実行したい任意のサービス 操作には管理者権限で、sudo systemctl enable [サービス名]のようにする必要がある。 /etc/systemd/system/ ユーザーごとの任意のサービス 操作には、systemctl --user enable [サービス名]のようにして、--userスイッチが必要であり、サービスが保存されているユーザにログインして操作を行う必要がある。 ~/.config/systemd/user/ テンプレ After= は必ずしも指定する必要はない。依存するものがなければ、この項目はなくてもいい模様である。 スクリプトの実行 最小構成だと、Exec周りは、ExecStartだけでとりあえず動かすことができる。 [Unit] Description=a systemd service run a script. After= [Service] WorkingDirectory= Type=simple User=root # Group=[GroupName] # Environment="env=variable" ExecStartPre= ExecStart= ExecStartPost= ExecStopPre= ExecStop= ExecStopPost= Restart=on-failure [Install] WantedBy=multi-user.target プログラムの常駐 こちらも、最小構成だと、Exec周りは、ExecStartだけでとりあえず動かすことができる。ただ終了が強制終了になってしまうので注意する。 [Unit] Description=a systemd service run a script. After= [Service] WorkingDirectory= Type=forking User=root # Group=[GroupName] # Environment="env=variable" ExecStartPre= ExecStart= ExecStartPost= ExecStopPre= ExecStop= ExecStopPost= Restart=on-failure [Install] WantedBy=multi-user.target After= の設定 以下のようにして、どのサービスなどのあとにサービスを実行したいか、参考になると思われる。 ...
この記事を作った動機 arch linux をインストールするときに、いちいち忘れたことが出てきては、wiki を見に行くということをしていたので、自分が普段やっている工程をただ書き出そうというだけです。 いつもどうり、とにかく動くこと優先なので、ロケーション設定とか、なんかいろいろ抜けてたりする可能性は大いになります。 ISO ファイルのダウンロード Arch Linux - Downloads ISO ファイルの書き込み linux ここでの、/dev/sda は、USBドライブを意味している。 sudo dd if="archlinux-2025.03.01-x86_64.iso" of=/dev/sda status=progress windows Rufus などのツールなど、なんでもいいのでISOファイルを扱うツールをダウンロードして、USBメモリに書き込む。細かいことは今回は省略する。 USB メモリから起動 ここは各PCに固有の仕様に依存するので省略する。 キーボードレイアウト 日本語キーボードのときは、レイアウト設定を変更しないと、後々キーの記号と入力される記号が異なる(US配列と日本語配列の違い)というめんどくさいことになるので、変更しておく。 loadkeys jp106 wifi につなげる インターネットが必要なので、wifiにつなげる。"[wlan0]“のところには、station listで表示される任意の wifi カードを選択する。 iwctl station list station [wlan0] scan station [wlan0] get-networks station [wlan0] connect [targetNetworkName] # パスワードを入力 exit # ping が通ればOK ping google.com ping 8.8.8.8 ディスクの初期化 ディスク構成の確認 以下の例では、SSD と sd カードが刺さっているときの表示例である。今回は、以下の例 (/dev/nvme0n1) とは異なるが、/dev/sda にインストールするという前提で話を進める。 ...
この記事を作った動機 linux上で、cifsとVPNを使って自分のファイルサーバにアクセスしているのですが、以下のような不満点があり、どうしたらいいか考えてみた結果、いくつか興味深いオプジョンが見つかったので、それを記録しておくだけです。ちなみに、完全な解決とまでは行ってないですが、多少改善が見られた程度って感じです。 大きなファイルをやり取りすると、同時に他のファイル操作をしたときにもっさりする なにかと、特にvpn環境だと理由不明のファイルマネージャ等のプチフリが多発する ちょっとしたまとめ sudo mount -t cifs -o user=username,password="password",gid=1000,uid=1000,vers=3.11,multichannel,max_channels=16,compress //192.168.xxx.xxx/shareName /Path/To/Mount/Point 特に気になったオプション vers=3.11 smbプロトコルのバージョンを指定する項目で、以下のバージョンが選べる模様です。新しいほどいろんな機能が使えるようです。今回の場合は、使いたい機能が、3.11にあるので、それを指定している前提で、その他気になったオプションをリストアップします。 vers=arg SMB protocol version. Allowed values are: • 1.0 - The classic CIFS/SMBv1 protocol. • 2.0 - The SMBv2.002 protocol. This was initially introduced in Windows Vista Service Pack 1, and Windows Server 2008. Note that the initial release version of Windows Vista spoke a slightly different dialect (2.000) that is not supported. • 2.1 - The SMBv2.1 protocol that was introduced in Microsoft Windows 7 and Windows Server 2008R2. • 3.0 - The SMBv3.0 protocol that was introduced in Microsoft Windows 8 and Windows Server 2012. • 3.02 or 3.0.2 - The SMBv3.0.2 protocol that was introduced in Microsoft Windows 8.1 and Windows Server 2012R2. • 3.1.1 or 3.11 - The SMBv3.1.1 protocol that was introduced in Microsoft Windows 10 and Windows Server 2016. • 3 - The SMBv3.0 protocol version and above. • default - Tries to negotiate the highest SMB2+ version supported by both the client and server. If no dialect is specified on mount vers=default is used. To check Di‐ alect refer to /proc/fs/cifs/DebugData Note too that while this option governs the protocol version used, not all features of each version are available. The default since v4.13.5 is for the client and server to negotiate the highest possible version greater than or equal to 2.1. In kernels prior to v4.13, the default was 1.0. For kernels between v4.13 and v4.13.5 the default is 3.0. multichannel manページを読んでいる限り、一つだけでなく複数のデータをやり取りするための、よくわかってないですが、複数のTCPセッション(複数の通信路)みたいなのを開くっぽいです。これを指定して見ると、大きなファイルを操作していても快適にファイルマネージャとか、レスポンスよくいろんなファイル操作が行える傾向にありました。一つだけの通信路では、やはり厳しいものがあるようです。 ...