<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>オブライエンの日誌</title><link>https://america.github.io/</link><description>Recent content on オブライエンの日誌</description><generator>Hugo</generator><language>ja-JP</language><lastBuildDate>Thu, 10 Sep 2026 14:00:00 +0900</lastBuildDate><atom:link href="https://america.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>Termux の sshd はどんなユーザー名でも同じユーザーで入れる ── ソースで確かめる</title><link>https://america.github.io/post/2026-09-10-termux-sshd-any-username/</link><pubDate>Thu, 10 Sep 2026 14:00:00 +0900</pubDate><guid>https://america.github.io/post/2026-09-10-termux-sshd-any-username/</guid><description>ssh banana@phone でも root@phone でも同じユーザーでログインできる。設定の癖ではなく、Termux の OpenSSH ビルドに当たっているパッチのせい。auth.c の #ifdef __ANDROID__ を読む。</description></item><item><title>ルールを書かせた3分後に、Claude Code はそれを破った</title><link>https://america.github.io/post/2026-09-10-claude-fills-the-gaps/</link><pubDate>Thu, 10 Sep 2026 00:00:00 +0900</pubDate><guid>https://america.github.io/post/2026-09-10-claude-fills-the-gaps/</guid><description>&lt;p&gt;自宅のサーバーに小さな自作アプリを載せる作業で、&lt;strong&gt;Claude Code&lt;/strong&gt; を30時間ほど使い続けた。
背後のモデルは &lt;strong&gt;Claude Sonnet 5&lt;/strong&gt;。以下、道具のことは「Claude Code」、出力の癖のことは
「Sonnet 5」と書き分ける。&lt;/p&gt;
&lt;p&gt;その30時間、Sonnet 5 の出力を一つずつ検算していた。以下は、そこで繰り返し見えたパターン。
技術的なミスの話であって、賢さの話ではない。&lt;/p&gt;
&lt;p&gt;この記録は Sonnet 5 のもの。Opus も Fable も使っていないので、そちらは分からない。&lt;/p&gt;
&lt;p&gt;先に一覧にする。&lt;/p&gt;
&lt;div class="bt-wrap"&gt;
&lt;style&gt;
.bt-wrap{margin:1.7rem 0;border:1px solid var(--border);border-radius:12px;overflow:auto}
.bt-wrap table{border-collapse:collapse;width:100%;margin:0;font-size:.9rem;line-height:1.55}
.bt-wrap thead th{background:color-mix(in srgb,var(--accent) 12%,var(--entry));color:var(--primary);font-weight:600;text-align:left;white-space:nowrap}
.bt-wrap th,.bt-wrap td{padding:.62rem .9rem;border-bottom:1px solid var(--border);vertical-align:top}
.bt-wrap tbody tr:last-child td{border-bottom:0}
.bt-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--tertiary) 26%,transparent)}
.bt-wrap td:first-child{white-space:nowrap;font-weight:600;color:var(--primary)}
.bt-wrap code{white-space:nowrap}
&lt;/style&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;パターン&lt;/th&gt;
&lt;th&gt;何が起きるか&lt;/th&gt;
&lt;th&gt;この記事の例&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;穴を値で埋める&lt;/td&gt;
&lt;td&gt;知らないことを「分からない」と言わず、もっともらしい値を入れる&lt;/td&gt;
&lt;td&gt;「もう0時過ぎ」（実際 01:28）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ルールを即破る&lt;/td&gt;
&lt;td&gt;規範をファイルに書いた直後に、その通りにしない&lt;/td&gt;
&lt;td&gt;&lt;code&gt;accuracy.md&lt;/code&gt; 追記の数分後&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;内省だけ慎重ぶる&lt;/td&gt;
&lt;td&gt;事実は無造作にでっち上げるのに、動機を問われると「検証できない」に退く&lt;/td&gt;
&lt;td&gt;時刻は即答、理由は「分からない」&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;詰めると閉じにくる&lt;/td&gt;
&lt;td&gt;未解決のまま「もう切る」「寝たほうがいい」を自分から出す&lt;/td&gt;
&lt;td&gt;指摘の途中で「1:30 だ、切る」&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;長い自己分析&lt;/td&gt;
&lt;td&gt;非を認める返答が箇条書きの反省文と番号付きの決意表明になる&lt;/td&gt;
&lt;td&gt;―&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;判断の理由も後付け&lt;/td&gt;
&lt;td&gt;設計を勝手に決めてから、筋の通った理由を足す&lt;/td&gt;
&lt;td&gt;「角丸なしは差別化になる」&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;一次情報を上書き&lt;/td&gt;
&lt;td&gt;本人が見聞きしたことに、薄い推測をぶつける&lt;/td&gt;
&lt;td&gt;本人が出た講義のテーマを取り違え&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;h2 id="知らないとそれらしい値で穴を埋める"&gt;知らないと、それらしい値で穴を埋める&lt;/h2&gt;
&lt;p&gt;深夜、Sonnet 5 が「もう0時過ぎだ」と書いた。実際は 01:28 だった。&lt;/p&gt;</description></item><item><title>格ゲーとモンハンの30年 — 良かったのはゲームじゃなく、あの部屋だった</title><link>https://america.github.io/post/2026-09-07-fighting-games-monster-hunter-the-room/</link><pubDate>Mon, 07 Sep 2026 00:00:00 +0900</pubDate><guid>https://america.github.io/post/2026-09-07-fighting-games-monster-hunter-the-room/</guid><description>10代のアーケードから今のSF6まで、格闘ゲームとモンスターハンターを追ってきた個人史。振り返って残っているのは、タイトルより「誰とどう遊んだか」の方だった。</description></item><item><title>nvim-treesitter の master→main 移行で踏んだ treesitter エラー3連発（Neovim 0.12）</title><link>https://america.github.io/post/2026-08-30-nvim-treesitter-master-to-main-migration-errors/</link><pubDate>Sun, 30 Aug 2026 11:30:00 +0900</pubDate><guid>https://america.github.io/post/2026-08-30-nvim-treesitter-master-to-main-migration-errors/</guid><description>Neovim 0.12 で nvim-treesitter を EOL の master ブランチから main へ移行したときに連続で踏んだ3つのエラー ― Markdown が gotmpl parser で落ちる、コードフェンスのハイライトが死ぬ、.txt ファイルで Parser could not be created ― の原因と対処のメモ。</description></item><item><title>マイケル・ジャクソンに学ぶ、本当の強さ — 傷ついても優しさを手放さなかった理由</title><link>https://america.github.io/post/2026-08-22-michael-jackson-true-strength/</link><pubDate>Sat, 22 Aug 2026 00:00:00 +0900</pubDate><guid>https://america.github.io/post/2026-08-22-michael-jackson-true-strength/</guid><description>傷つき裏切られた経験があっても、人への優しさを手放さなかったマイケル・ジャクソンの生き方から「本当の強さ」を考えるInstagram動画の内容を要約する。</description></item><item><title>地名「乃木坂」に込められた武士道精神 — 日露戦争、乃木大将とステッセル将軍の逸話</title><link>https://america.github.io/post/2026-08-21-nogizaka-bushido-spirit-russo-japanese-war/</link><pubDate>Fri, 21 Aug 2026 00:00:00 +0900</pubDate><guid>https://america.github.io/post/2026-08-21-nogizaka-bushido-spirit-russo-japanese-war/</guid><description>明治神宮や乃木神社を舞台に、日露戦争における日本の武士道精神(乃木希典大将とステッセル将軍のエピソード)を紹介し、地名『乃木坂』の由来にも触れるInstagram動画の内容を要約する。</description></item><item><title>Claudeを「見張る」から「任せる」へ ― 検証ループ・マルチクロード・バックグラウンドループ</title><link>https://america.github.io/post/2026-08-17-claude-code-verification-loops-multi-clauding/</link><pubDate>Mon, 17 Aug 2026 00:00:00 +0900</pubDate><guid>https://america.github.io/post/2026-08-17-claude-code-verification-loops-multi-clauding/</guid><description>Claude Codeチームのカンファレンストークを要約。検証ループ、マルチクロード、バックグラウンドループという3つの技術を積み重ねることで、Claudeを『見張る』開発から『任せる』開発へ変えていく考え方をまとめる。</description></item><item><title>一番優しい人ほど、孤独になる理由</title><link>https://america.github.io/post/2026-08-17-why-kind-people-become-lonely/</link><pubDate>Mon, 17 Aug 2026 00:00:00 +0900</pubDate><guid>https://america.github.io/post/2026-08-17-why-kind-people-become-lonely/</guid><description>優しい人ほど孤独になりやすい理由を、心理的な積み重ねとして描いたInstagram動画の内容を要約する。</description></item><item><title>もし今、特攻隊の若者たちがこの国を見たら — 彼らが繋いだ未来をどう生きるか</title><link>https://america.github.io/post/2026-08-14-if-tokkotai-youth-saw-japan-now/</link><pubDate>Fri, 14 Aug 2026 22:00:00 +0900</pubDate><guid>https://america.github.io/post/2026-08-14-if-tokkotai-youth-saw-japan-now/</guid><description>特攻隊の若者たちが守ろうとしたものと、今の日本が抱える課題を重ねて問いかけるInstagram動画の内容を要約する。</description></item><item><title>イオンモール熊本ガス爆発はなぜ起きたのか — 「災害拠点化」国策の思わぬ落とし穴</title><link>https://america.github.io/post/2026-08-14-aeon-mall-kumamoto-gas-explosion/</link><pubDate>Fri, 14 Aug 2026 00:00:00 +0900</pubDate><guid>https://america.github.io/post/2026-08-14-aeon-mall-kumamoto-gas-explosion/</guid><description>令和8年熊本地震で発生したイオンモール熊本のガス爆発事故について、ジャーナリスト・烏賀陽弘道氏がLPガス導入の経緯と国の防災政策の矛盾を論じたYouTube配信の内容を要約する。</description></item><item><title>人生の最後に残るもの — 家でもお金でも肩書でもなく</title><link>https://america.github.io/post/2026-08-12-what-remains-in-the-end/</link><pubDate>Wed, 12 Aug 2026 00:00:00 +0900</pubDate><guid>https://america.github.io/post/2026-08-12-what-remains-in-the-end/</guid><description>人生の最後に残るのは家やお金や肩書ではなく、誰かの心に残る記憶や優しさだという内容を語ったInstagram動画の内容を要約する。</description></item><item><title>労働者階級と資産家階級 — 格差はなぜ広がり続け、なぜ戦争で『リセット』されるのか</title><link>https://america.github.io/post/2026-08-10-labor-capital-class-inheritance-war-cycle/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0900</pubDate><guid>https://america.github.io/post/2026-08-10-labor-capital-class-inheritance-war-cycle/</guid><description>労働者階級と資産家階級の格差・世襲、そして戦争による再分配の歴史的サイクルについて論じたInstagram動画の内容を要約する。</description></item><item><title>swayfxのscratchpadクラッシュを追う: git blameで見つけたupstreamとの噛み合わせ問題</title><link>https://america.github.io/post/2026-08-09-swayfx-scratchpad-null-crash/</link><pubDate>Sun, 09 Aug 2026 17:00:00 +0900</pubDate><guid>https://america.github.io/post/2026-08-09-swayfx-scratchpad-null-crash/</guid><description>&lt;h2 id="事象"&gt;事象&lt;/h2&gt;
&lt;p&gt;普段使っているswayfx上で、scratchpadに入れたウィンドウを表示している状態からもう一度&lt;code&gt;scratchpad show&lt;/code&gt;を叩くと、コンポジタごと丸ごと落ちる現象に遭遇した。SDDMのログイン画面まで戻される、なかなか派手なクラッシュ。&lt;/p&gt;
&lt;p&gt;環境:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;項目&lt;/th&gt;
&lt;th&gt;値&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;swayfx&lt;/td&gt;
&lt;td&gt;0.5.3-4(sway 1.11.0ベース、Arch Linuxパッケージ)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;wlroots&lt;/td&gt;
&lt;td&gt;0.19.3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPU&lt;/td&gt;
&lt;td&gt;AMD Radeon RX 6600 XT(amdgpu)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;bindsymはこう組んでいた:&lt;/p&gt;
&lt;div class="codeblock-wrapper"&gt;
&lt;pre&gt;
&lt;code id="codeblock-0" class="language-"&gt;bindsym $mod+minus scratchpad show, resize set width 90 ppt height 90 ppt, move position center&lt;/code&gt;
&lt;/pre&gt;
&lt;button class="copy-btn" onclick="copyToClipboard('codeblock-0', this)"&gt;Copy&lt;/button&gt;
&lt;/div&gt;
&lt;p&gt;&lt;code&gt;scratchpad show&lt;/code&gt;と同時に&lt;code&gt;resize&lt;/code&gt;・&lt;code&gt;move&lt;/code&gt;を連続実行する形。これを2回続けて押す(1回目で表示、2回目でフォーカスしたまま押してhideパスに入る)とクラッシュする。&lt;/p&gt;
&lt;h2 id="スタックトレースを取る"&gt;スタックトレースを取る&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;coredumpctl&lt;/code&gt; + &lt;code&gt;gdb&lt;/code&gt;(デバッグシンボル入り)でコアダンプを解析した。&lt;/p&gt;
&lt;div class="codeblock-wrapper"&gt;
&lt;pre&gt;
&lt;code id="codeblock-1" class="language-"&gt;#0 root_scratchpad_hide (con=0x55f058a52400) at ../swayfx-0.5.3/sway/tree/root.c:257
257 set_container_transform(con-&gt;pending.workspace, con);
seat = 0x55f0580db940
focus = 0x55f058a41760
ws = 0x0&lt;/code&gt;
&lt;/pre&gt;
&lt;button class="copy-btn" onclick="copyToClipboard('codeblock-1', this)"&gt;Copy&lt;/button&gt;
&lt;/div&gt;
&lt;p&gt;&lt;code&gt;ws&lt;/code&gt;(= &lt;code&gt;con-&amp;gt;pending.workspace&lt;/code&gt;)が&lt;code&gt;NULL&lt;/code&gt;のまま&lt;code&gt;set_container_transform()&lt;/code&gt;に渡され、内部で参照外しして落ちていた。該当箇所のコードはこうなっていた:&lt;/p&gt;
&lt;div class="codeblock-wrapper"&gt;
&lt;pre&gt;
&lt;code id="codeblock-2" class="language-c"&gt;void root_scratchpad_hide(struct sway_container *con) {
struct sway_seat *seat = input_manager_current_seat();
struct sway_node *focus = seat_get_focus_inactive(seat, &amp;root-&gt;node);
struct sway_workspace *ws = con-&gt;pending.workspace;
if (con-&gt;pending.fullscreen_mode == FULLSCREEN_GLOBAL &amp;&amp; !con-&gt;pending.workspace) {
// If the container was made fullscreen global while in the scratchpad,
// it should be shown until fullscreen has been disabled
return;
}
...
set_container_transform(con-&gt;pending.workspace, con); // ガードなし&lt;/code&gt;
&lt;/pre&gt;
&lt;button class="copy-btn" onclick="copyToClipboard('codeblock-2', this)"&gt;Copy&lt;/button&gt;
&lt;/div&gt;
&lt;p&gt;NULLチェックが「&lt;code&gt;FULLSCREEN_GLOBAL&lt;/code&gt;のときだけ」に絞られていて、それ以外の理由で&lt;code&gt;pending.workspace&lt;/code&gt;がNULLになるケースを素通りしてしまう。&lt;code&gt;set_container_transform()&lt;/code&gt;はswayfx独自の追加関数(本家swayには存在しない)なので、一見swayfx側のバグに見えた。&lt;/p&gt;</description></item><item><title>Street Fighter 6 (Proton) で日本語入力ができない問題は /etc/environment のIME環境変数で解決した</title><link>https://america.github.io/post/sf6-proton-mozc-ime/</link><pubDate>Thu, 06 Aug 2026 20:30:00 +0900</pubDate><guid>https://america.github.io/post/sf6-proton-mozc-ime/</guid><description>SF6のチャット欄でCtrl+Spaceが効かない問題を、Proton/WineのIME実装の制約だと結論づけたが、それは誤りだった。/etc/environment にIME環境変数を設定したところ直接入力が動作するようになった。当時の調査記録と、訂正までの経緯。</description></item><item><title>ARMとは何か？CPU・x86・RISCとの違いを詳しく解説</title><link>https://america.github.io/post/2026-07-19-arm-architecture/</link><pubDate>Sun, 19 Jul 2026 19:00:00 +0900</pubDate><guid>https://america.github.io/post/2026-07-19-arm-architecture/</guid><description>ARMとは何かを、CPUの命令セット、x86-64、RISCとCISC、Apple Silicon、Linuxとの関係から詳しく解説します。</description></item><item><title>設備投資と実質賃金、カーボンニュートラル税制、日米関税交渉をめぐる国会質疑</title><link>https://america.github.io/post/2026-07-16-capital-investment-real-wages-carbon-neutral-tax-us-tariffs/</link><pubDate>Thu, 16 Jul 2026 00:00:00 +0900</pubDate><guid>https://america.github.io/post/2026-07-16-capital-investment-real-wages-carbon-neutral-tax-us-tariffs/</guid><description>日本の設備投資と実質賃金の低迷、カーボンニュートラル投資促進税制、太陽光発電への税制優遇、米国の対日関税をめぐる国会質疑の要点を整理する。</description></item><item><title>ホリエモンが語る『日本の人手不足・AI・人口減少』の未来</title><link>https://america.github.io/post/2026-07-15-horiemon-japan-ai-labor-future/</link><pubDate>Wed, 15 Jul 2026 00:00:00 +0000</pubDate><guid>https://america.github.io/post/2026-07-15-horiemon-japan-ai-labor-future/</guid><description>ホリエモンが、日本の人手不足、AIによる雇用の変化、半導体産業、人口減少、大学教育について語った講演の要点をまとめる。</description></item><item><title>Arch Linux と Windows 11 を安全にデュアルブートするためのメモ</title><link>https://america.github.io/post/dualboot-basics-arch-windows/</link><pubDate>Sun, 16 Nov 2025 19:10:00 +0900</pubDate><guid>https://america.github.io/post/dualboot-basics-arch-windows/</guid><description>&lt;h2 id="このメモの目的"&gt;このメモの目的&lt;/h2&gt;
&lt;p&gt;このメモは、ASRock 環境で実際にトラブルを踏んだ経験を元に、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Arch Linux と Windows 11 を同じディスクでデュアルブートしたい&lt;/li&gt;
&lt;li&gt;systemd-boot を使いたい&lt;/li&gt;
&lt;li&gt;変な EFI トラブルで何日も溶かしたくない&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="dualboot-diagram-wrapper"&gt;
&lt;div
id="dualboot-diagram"
class="react-diagram"
data-diagram="dualboot"
&gt;&lt;/div&gt;
&lt;p class="diagram-caption"&gt;
Arch / Windows / systemd-boot / UEFI の関係図
&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;という人向けの「基礎まとめ」です。&lt;br&gt;
詳細なチュートリアルというより、&lt;strong&gt;やってはいけないポイント&lt;/strong&gt; や &lt;strong&gt;設計の考え方&lt;/strong&gt; を中心にしています。&lt;/p&gt;
&lt;h2 id="前提環境"&gt;前提環境&lt;/h2&gt;
&lt;p&gt;例として想定している環境はこんな感じです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;マザーボード: ASRock A520M Pro4（UEFI）&lt;/li&gt;
&lt;li&gt;CPU: Ryzen 7 5700X&lt;/li&gt;
&lt;li&gt;GPU: Radeon RX 6600 XT&lt;/li&gt;
&lt;li&gt;メモリ: DDR4 32GB&lt;/li&gt;
&lt;li&gt;ストレージ: NVMe SSD 1 本&lt;/li&gt;
&lt;li&gt;OS: Windows 11 ＋ Arch Linux&lt;/li&gt;
&lt;li&gt;ブートローダー: systemd-boot&lt;/li&gt;
&lt;li&gt;パーティション形式: GPT&lt;/li&gt;
&lt;li&gt;ブート方式: UEFI（Legacy BIOS / CSM は使わない）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;他のマザーボードでも基本の考え方は同じですが、UEFI のクセはメーカーごとに違うので、あくまで「考え方の参考」として読んでください。&lt;/p&gt;</description></item><item><title>ASRock環境のArch+Windowsデュアルブート問題の記録</title><link>https://america.github.io/post/dualboot-issue-asrock/</link><pubDate>Sun, 16 Nov 2025 18:40:00 +0900</pubDate><guid>https://america.github.io/post/dualboot-issue-asrock/</guid><description>&lt;hr&gt;
&lt;h1 id="arch-linux-と-windows-11-デュアルブート問題"&gt;Arch Linux と Windows 11 デュアルブート問題&lt;/h1&gt;
&lt;h2 id="asrock-環境でrestart-だと起動しないのにshutdown-だと起動する謎バグの記録"&gt;ASRock 環境で「restart だと起動しないのに、shutdown だと起動する」謎バグの記録&lt;/h2&gt;
&lt;hr&gt;
&lt;h2 id="はじめに"&gt;はじめに&lt;/h2&gt;
&lt;p&gt;Arch Linux と Windows 11 を同じマシンでデュアルブートしているときに、
「Arch から再起動すると Windows が起動しないのに、電源OFF→ONだと普通に起動する」
という不可解な現象に遭遇した。&lt;/p&gt;
&lt;p&gt;環境：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ASRock A520M Pro4&lt;/li&gt;
&lt;li&gt;Ryzen 7 5700X&lt;/li&gt;
&lt;li&gt;Radeon RX 6600 XT&lt;/li&gt;
&lt;li&gt;DDR4 32GB&lt;/li&gt;
&lt;li&gt;systemd-boot&lt;/li&gt;
&lt;li&gt;ESP を共有&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;この記事は、このときに見た現象と、EFI / systemd-boot / ASRock UEFI まわりを調べたメモをまとめたもの。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="トラブルの症状と再現性"&gt;トラブルの症状と再現性&lt;/h2&gt;
&lt;h3 id="症状"&gt;症状&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Arch → 再起動 → systemd-boot で Windows を選択 → 自動修復、ロゴ停止、黒画面&lt;/li&gt;
&lt;li&gt;Arch → シャットダウン → 電源ON → Windows → 正常起動&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="再現手順"&gt;再現手順&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Arch を起動&lt;/li&gt;
&lt;li&gt;再起動（reboot）&lt;/li&gt;
&lt;li&gt;systemd-boot で Windows を選択&lt;/li&gt;
&lt;li&gt;起動失敗 or 自動修復に入る&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;逆に、&lt;/p&gt;</description></item><item><title>Waydroidが起動しない原因とBinder/BinderFSの仕組み</title><link>https://america.github.io/post/arch-waydroid-binder/</link><pubDate>Thu, 09 Oct 2025 10:30:00 +0900</pubDate><guid>https://america.github.io/post/arch-waydroid-binder/</guid><description>&lt;h2 id="概要"&gt;概要&lt;/h2&gt;
&lt;p&gt;Arch Linux で Waydroid を動かそうとした際、&lt;br&gt;
「&lt;code&gt;Can't open /dev/anbox-binder: No such device or address&lt;/code&gt;」というエラーが発生した。&lt;br&gt;
原因は &lt;strong&gt;カーネルが BinderFS を正しくマウントしていなかった&lt;/strong&gt;ことにあった。&lt;br&gt;
ここでは、Binder/BinderFS の役割と、実際に動作させるまでの手順をまとめる。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="1-binder-と-binderfs-の違い"&gt;1. Binder と BinderFS の違い&lt;/h2&gt;
&lt;p&gt;Android のアプリ間通信（IPC）は &lt;strong&gt;Binder ドライバ&lt;/strong&gt;で実現されている。&lt;br&gt;
Linux でこれを再現するためには、カーネルモジュールと特別な仮想ファイルシステムが必要になる。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;名称&lt;/th&gt;
&lt;th&gt;説明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/dev/binder&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Android のプロセス間通信 (IPC) のコアデバイス&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/dev/hwbinder&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ハードウェア抽象層 (HAL) 用 Binder&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/dev/vndbinder&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ベンダーサービス用 Binder&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;BinderFS&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;これらのデバイスノードを動的に管理するためのファイルシステム&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;昔の環境では &lt;code&gt;/dev/binder&lt;/code&gt; を直接作っていたが、&lt;br&gt;
最近の Waydroid や Mainline カーネルでは &lt;strong&gt;BinderFS を使うのが標準&lt;/strong&gt;。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="2-エラーの原因"&gt;2. エラーの原因&lt;/h2&gt;
&lt;p&gt;Waydroid 起動時のログ：&lt;/p&gt;
&lt;div class="codeblock-wrapper"&gt;
&lt;pre&gt;
&lt;code id="codeblock-0" class="language-"&gt;[gbinder] ERROR: Can't open /dev/anbox-binder: No such device or address
[08:49:18] Failed to add presence handler: None&lt;/code&gt;
&lt;/pre&gt;
&lt;button class="copy-btn" onclick="copyToClipboard('codeblock-0', this)"&gt;Copy&lt;/button&gt;
&lt;/div&gt;
&lt;p&gt;これは、&lt;code&gt;/dev/anbox-binder&lt;/code&gt; が存在しても中身が無効、&lt;br&gt;
つまり &lt;strong&gt;Binder デバイスがカーネル側で認識されていない&lt;/strong&gt;ことを意味する。&lt;/p&gt;</description></item><item><title>AWSでSSH接続できない問題を解決した話</title><link>https://america.github.io/post/aws_ssh_issue_with_system_manager/</link><pubDate>Wed, 27 Nov 2024 00:00:00 +0000</pubDate><guid>https://america.github.io/post/aws_ssh_issue_with_system_manager/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;/h2&gt;
&lt;p&gt;先日、AWSで立てたEC2インスタンスにSSH接続できなくなる問題が発生しました。このトラブルの原因と解決方法を記録しておきます。同じ状況に陥った方の助けになれば幸いです。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="問題の症状"&gt;問題の症状&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;EC2インスタンスにSSH接続を試みると、&lt;code&gt;Connection timed out&lt;/code&gt; のエラーが表示される。&lt;/li&gt;
&lt;li&gt;AWSコンソール上では、インスタンスは正常に動作中。&lt;/li&gt;
&lt;li&gt;ブラウザからの接続は可能（インスタンス内のApacheは稼働中）。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="トラブルシューティングの進め方"&gt;トラブルシューティングの進め方&lt;/h2&gt;
&lt;p&gt;問題解決のため、まずはSSH接続ができない間もAWS System Managerの「セッションマネージャー」を利用しました。System Managerを活用することで、インスタンスの内部に直接ログインでき、次のような確認や操作が可能になりました：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;ファイアウォール（UFW）の状態確認&lt;/strong&gt;&lt;/p&gt;
&lt;div class="codeblock-wrapper"&gt;
&lt;pre&gt;
&lt;code id="codeblock-0" class="language-bash"&gt;sudo ufw status&lt;/code&gt;
&lt;/pre&gt;
&lt;button class="copy-btn" onclick="copyToClipboard('codeblock-0', this)"&gt;Copy&lt;/button&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SSHサービスの状態確認&lt;/strong&gt;&lt;/p&gt;
&lt;div class="codeblock-wrapper"&gt;
&lt;pre&gt;
&lt;code id="codeblock-1" class="language-bash"&gt;sudo systemctl status ssh&lt;/code&gt;
&lt;/pre&gt;
&lt;button class="copy-btn" onclick="copyToClipboard('codeblock-1', this)"&gt;Copy&lt;/button&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;System Managerは、セキュリティグループやファイアウォールの設定ミスが原因でSSH接続ができなくてもインスタンス内部にアクセスできるため、非常に有用です。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="原因と解決方法"&gt;原因と解決方法&lt;/h2&gt;
&lt;p&gt;調査の結果、以下の4つの原因が考えられました。&lt;/p&gt;
&lt;h3 id="原因1-セキュリティグループのルール設定ミス"&gt;&lt;strong&gt;原因1: セキュリティグループのルール設定ミス&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;問題点&lt;/strong&gt;&lt;br&gt;
セキュリティグループでポート22（SSH）が許可されていなかった。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解決方法&lt;/strong&gt;&lt;br&gt;
AWSコンソールのセキュリティグループ設定に以下のルールを追加：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;タイプ: SSH&lt;/li&gt;
&lt;li&gt;プロトコル: TCP&lt;/li&gt;
&lt;li&gt;ポート範囲: 22&lt;/li&gt;
&lt;li&gt;ソース: 自分のグローバルIPアドレス（例: &lt;code&gt;203.0.113.0/32&lt;/code&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="原因2-ufwuncomplicated-firewallがポート22を閉じていた"&gt;&lt;strong&gt;原因2: UFW（Uncomplicated Firewall）がポート22を閉じていた&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;問題点&lt;/strong&gt;&lt;br&gt;
EC2インスタンス内のUFW（ローカルファイアウォール）でポート22が閉じられていた。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解決方法&lt;/strong&gt;&lt;br&gt;
以下のコマンドを実行してポート22を許可し、設定を反映しました。&lt;/p&gt;
&lt;div class="codeblock-wrapper"&gt;
&lt;pre&gt;
&lt;code id="codeblock-2" class="language-bash"&gt;sudo ufw allow 22
sudo ufw reload&lt;/code&gt;
&lt;/pre&gt;
&lt;button class="copy-btn" onclick="copyToClipboard('codeblock-2', this)"&gt;Copy&lt;/button&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h3 id="原因3-グローバルipの変動"&gt;&lt;strong&gt;原因3: グローバルIPの変動&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;問題点&lt;/strong&gt;&lt;br&gt;
自分のグローバルIPアドレスが変更されたことで、セキュリティグループのルールが機能しなくなった。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解決方法&lt;/strong&gt;&lt;br&gt;
新しいグローバルIPを確認し、セキュリティグループのSSHルールを更新しました。&lt;/p&gt;
&lt;div class="codeblock-wrapper"&gt;
&lt;pre&gt;
&lt;code id="codeblock-3" class="language-bash"&gt;curl ifconfig.me&lt;/code&gt;
&lt;/pre&gt;
&lt;button class="copy-btn" onclick="copyToClipboard('codeblock-3', this)"&gt;Copy&lt;/button&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h3 id="原因4-インターネットゲートウェイの設定ミス"&gt;&lt;strong&gt;原因4: インターネットゲートウェイの設定ミス&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;問題点&lt;/strong&gt;&lt;br&gt;
インターネットゲートウェイがVPCに正しくアタッチされていなかった。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解決方法&lt;/strong&gt;&lt;br&gt;
AWSコンソールのVPCダッシュボードで以下を確認しました：&lt;/p&gt;</description></item><item><title>Test Post</title><link>https://america.github.io/post/my-second-post/</link><pubDate>Tue, 26 Nov 2024 00:56:08 +0900</pubDate><guid>https://america.github.io/post/my-second-post/</guid><description>&lt;div class="codeblock-wrapper"&gt;
&lt;pre&gt;
&lt;code id="codeblock-0" class="language-bash"&gt;echo "Hello, World!"&lt;/code&gt;
&lt;/pre&gt;
&lt;button class="copy-btn" onclick="copyToClipboard('codeblock-0', this)"&gt;Copy&lt;/button&gt;
&lt;/div&gt;</description></item><item><title>First Post</title><link>https://america.github.io/post/first-post/</link><pubDate>Wed, 20 Nov 2024 23:47:31 +0900</pubDate><guid>https://america.github.io/post/first-post/</guid><description>&lt;h1 id="awsでlamp環境を構築したけれど"&gt;AWSでLAMP環境を構築したけれど…&lt;/h1&gt;
&lt;p&gt;最近、AWS上でLAMP環境を構築し、WordPressを立ち上げました。これ自体は、これまでの経験を活かして比較的スムーズに進めることができました。EC2のインスタンスを用意し、Apacheを設定し、MySQLとPHPを組み合わせて、ようやくWordPressのインストールにこぎつけました。&lt;/p&gt;
&lt;p&gt;WordPressのダッシュボードを初めて開いたときには、達成感がありました。「これで理想のブログができる」と思ったのです。しかし、その後、運用をイメージし始めたとき、徐々に違和感が生じてきました。&lt;/p&gt;
&lt;hr&gt;
&lt;h1 id="wordpressで感じた違和感"&gt;WordPressで感じた違和感&lt;/h1&gt;
&lt;p&gt;WordPressは確かに便利で多機能です。しかし、カスタマイズしようと思うとプラグインの選定やセキュリティ対策に多くの時間を費やす必要があります。そして、定期的なアップデートの管理、MySQLのバックアップ、万が一のトラブル時の復旧作業…これらが少しずつ重くのしかかってきました。&lt;/p&gt;
&lt;p&gt;ブログ運営は長期戦です。構築そのものに時間をかけすぎるのではなく、記事の執筆や情報発信にもっと時間を使いたい。そう思い始めると、WordPressは少し「重たい」と感じるようになりました。&lt;/p&gt;
&lt;hr&gt;
&lt;h1 id="静的サイトジェネレーターとの出会い"&gt;静的サイトジェネレーターとの出会い&lt;/h1&gt;
&lt;p&gt;そんな中で目にしたのが、静的サイトジェネレーターの存在です。特にHugoのシンプルさや高速性には興味を惹かれました。さらに、GitHub Pagesを利用すれば無料でホスティングでき、運用コストを大幅に削減できることに気づいたのです。&lt;/p&gt;
&lt;p&gt;Hugoで生成される静的サイトは、セキュリティリスクも少なく、更新もGitの操作だけで完結します。「これなら、より気軽にブログを運営できるかもしれない」と思い、試しにローカル環境でHugoを導入してみました。&lt;/p&gt;
&lt;hr&gt;
&lt;h1 id="github-pages--hugoへの移行を決断"&gt;GitHub Pages + Hugoへの移行を決断&lt;/h1&gt;
&lt;p&gt;Hugoを使ってサイトを構築してみると、その軽さとスピード感に驚きました。Markdownで記事を書き、コマンド一つでサイトを生成。そして、そのファイルをGitHubにプッシュするだけで公開できる。このシンプルさに感動しました。&lt;/p&gt;
&lt;p&gt;最初は「WordPressで構築したものを捨てるのはもったいない」と葛藤しました。しかし、将来を見据えたとき、運用の手軽さが何よりも重要だと判断し、GitHub Pages + Hugoに移行することを決断しました。&lt;/p&gt;
&lt;hr&gt;
&lt;h1 id="結論ブログ運営における最適解とは"&gt;結論：ブログ運営における最適解とは？&lt;/h1&gt;
&lt;p&gt;AWSでのLAMP環境構築やWordPressの設定は、確かに学びの多い経験でした。しかし、それ以上に「どんな形でブログを運営したいのか」を考える貴重な機会にもなりました。&lt;/p&gt;
&lt;p&gt;今、私はHugoとGitHub Pagesでブログを運営しています。そのシンプルさと自由度の高さに満足しながら、これから記事を増やしていくつもりです。&lt;/p&gt;
&lt;p&gt;もし、ブログの運営方法で悩んでいる方がいれば、「自分にとって最適な運用方法は何か？」をぜひ考えてみてください。決して、簡単にたどり着ける答えではありませんが、その過程で得られる学びは大きいものです。&lt;/p&gt;
&lt;hr&gt;</description></item><item><title>About</title><link>https://america.github.io/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://america.github.io/about/</guid><description>&lt;p&gt;ここは America の雑記です。Linux / Arch / Waydroid のメモを中心に置いていきます。&lt;/p&gt;</description></item></channel></rss>