<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>tekito.net</title><link>https://tekito.net/</link><description>Recent content on tekito.net</description><generator>Hugo</generator><language>ja-jp</language><lastBuildDate>Sun, 05 Apr 2026 18:00:00 +0900</lastBuildDate><atom:link href="https://tekito.net/index.xml" rel="self" type="application/rss+xml"/><item><title>近況</title><link>https://tekito.net/posts/2026-04-05-life-lately/</link><pubDate>Sun, 05 Apr 2026 18:00:00 +0900</pubDate><guid>https://tekito.net/posts/2026-04-05-life-lately/</guid><description>&lt;p&gt;&lt;a href="https://x.com/rim_buei" class="external-link" target="_blank" rel="noopener"&gt;X の方&lt;/a&gt; でも近況をポストしておりますが、ゲームや旅行についての話題が中心ですので、普段そちらではあまり書かないことを中心に、近況を書いてみます。&lt;/p&gt;
&lt;h1 id="出来事"&gt;
 出来事
 &lt;a class="heading-link" href="#%e5%87%ba%e6%9d%a5%e4%ba%8b"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;2 年ほど前に兄が他界しました。&lt;/p&gt;
&lt;p&gt;私と兄は子どもの頃から仲がよく、病に倒れる直前まで毎日のように連絡を取り合ったり、ゲームで遊んだりしていました。私にとって兄はとても大きな存在であり、精神的に依存していた部分もあったため、その死の衝撃はとてつもなく大きなものでした。&lt;/p&gt;
&lt;p&gt;その後、年単位で体調の悪い状態が続いていました。常に頭の中に霧がかかったような感覚があり、思考力が低下して、少し複雑なことや難しいことに直面すると、思考が止まってしまい、とにかく無理がきかなくなっていました。ひどいときには、脳が炎症を起こして破壊され続けているかのような感覚に悩まされることもありました。&lt;/p&gt;
&lt;p&gt;最近は時間とともに立ち直りつつあって、体調不良の症状も軽くなり、いまはこうしてブログを書くくらいには気力も湧くようになっています。&lt;/p&gt;
&lt;h1 id="お仕事"&gt;
 お仕事
 &lt;a class="heading-link" href="#%e3%81%8a%e4%bb%95%e4%ba%8b"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;2 度、転職をしました。&lt;/p&gt;
&lt;p&gt;2019 年に初めて転職し、子どもの頃からの夢であったビデオゲーム業界の会社で 5 年間働きました。その後、2024 年に 2 度目の転職をし、元の会社に出戻りをさせていただきました。現在もソフトウェアエンジニアとして働いています。&lt;/p&gt;
&lt;p&gt;AI の台頭によってソフトウェアエンジニアリングの在り方が大きく変わろうとしている昨今ですが、いまのところ私の身の回りでは、そこまで大きな変化はなく、引き続き開発や運用の業務に取り組んでいます。ただ、今後については改めてちゃんと考えていく必要があると感じています。&lt;/p&gt;
&lt;h1 id="私生活"&gt;
 私生活
 &lt;a class="heading-link" href="#%e7%a7%81%e7%94%9f%e6%b4%bb"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;今年の 2 月に結婚しました。&lt;/p&gt;
&lt;p&gt;将来のことについては考えてもわからないことが多いので、私は臨機応変に動けるような姿勢をなんとなく取りつつ、あまり考えない性格なのですが、兄の死をきっかけに、将来について改めて考えるようになりました。まさか自分が結婚するとは思ってもいなかったため、いまは模索しながら、慌ただしい日々を過ごしています。&lt;/p&gt;
&lt;p&gt;また、ゲームの方では、3 年ほど前に気まぐれでインストールしたポケモン GO にドハマりしてしまい、それからずっと私の中でポケモンブームが続いています。最近は Switch 2 を買って、ポケモン ZA を遊んでます。&lt;/p&gt;</description></item><item><title>12 年ぶりの Blog 更新</title><link>https://tekito.net/posts/2026-01-15-12-years-since-last-blog/</link><pubDate>Thu, 15 Jan 2026 21:00:00 +0900</pubDate><guid>https://tekito.net/posts/2026-01-15-12-years-since-last-blog/</guid><description>&lt;p&gt;お久しぶりです。&lt;/p&gt;
&lt;p&gt;早いもので、前回の Blog 更新から約 12 年も経ってしまいました (唖然)。&lt;/p&gt;
&lt;p&gt;Blog 記事自体はまったく書いていなかったものの、ほそぼそとしたメンテは続けておりました。たとえば、この &lt;a href="https://tekito.net" class="external-link" target="_blank" rel="noopener"&gt;tekito.net&lt;/a&gt; をホストしているサーバをさくらの VPS から DigitalOcean に移行したり、ドメインをお名前から Cloudflare に移管したり、Static site generator を Pelican から Hugo に乗り換えたり、Let&amp;rsquo;s Encrypt を使って HTTPS 化したり。。。&lt;/p&gt;
&lt;p&gt;今では Blog は自ホストするよりも、&lt;a href="https://note.com" class="external-link" target="_blank" rel="noopener"&gt;note&lt;/a&gt; や &lt;a href="https://medium.com" class="external-link" target="_blank" rel="noopener"&gt;Medium&lt;/a&gt; のようなサービスを使って書くのがすっかり一般的になりましたね。&lt;/p&gt;
&lt;p&gt;12 年という時間の中で、私の身の回りにもさまざまな変化がありました。そのあたりの近況については、また改めて記事を書こうと思います。&lt;/p&gt;</description></item><item><title>静的サイトジェネレータ Pelican で Blog を書こう</title><link>https://tekito.net/posts/2013-12-16-building-a-blog-with-pelican/</link><pubDate>Mon, 16 Dec 2013 02:10:00 +0900</pubDate><guid>https://tekito.net/posts/2013-12-16-building-a-blog-with-pelican/</guid><description>&lt;p&gt;先日ブログを Wordpress から &lt;a href="http://getpelican.com/" class="external-link" target="_blank" rel="noopener"&gt;Pelican&lt;/a&gt; に移行しました。&lt;/p&gt;
&lt;p&gt;Wordpress は機能が充実していて、使っていてスゲー！と思うところは多々あったのですが、利用者が多いせいか、なにかと攻撃の的になりやすく、セキュリティ面での管理にわずらわしさを感じていました。&lt;/p&gt;
&lt;p&gt;この辺りの不満は静的サイトジェネレータで解消できそうだったので、そのうちのひとつである &lt;a href="http://getpelican.com/" class="external-link" target="_blank" rel="noopener"&gt;Pelican&lt;/a&gt; に移行してみました。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://getpelican.com/" class="external-link" target="_blank" rel="noopener"&gt;Pelican&lt;/a&gt; は Python で書かれた OSS です。似たようなツールに Ruby で書かれた &lt;a href="http://octopress.org/" class="external-link" target="_blank" rel="noopener"&gt;octopress&lt;/a&gt; というのがあるようですが、特に比較検討はしていません。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://getpelican.com/" class="external-link" target="_blank" rel="noopener"&gt;Pelican&lt;/a&gt; は Markdown 形式や reStructuredText 形式でブログ記事を書けて、そこから HTML ファイルを自動生成できます。ちょっとした作業メモなどを普段からそれらの形式で書いていれば、サクッとブログ記事に発展させられるところがいいですね。&lt;/p&gt;
&lt;p&gt;実際に Wordpress から移行してみてわかったメリット/デメリットは以下が挙げられます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;メリット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;セキュリティ面の安心感がある&lt;/li&gt;
&lt;li&gt;とっつき易いマークアップ言語で記事が書ける&lt;/li&gt;
&lt;li&gt;サーバのソフトウェアをアップデートしてもブログが壊れない&lt;/li&gt;
&lt;li&gt;記事作成＆推敲をオフラインでできる&lt;/li&gt;
&lt;li&gt;記事閲覧時のレスポンスが早い&lt;/li&gt;
&lt;li&gt;記事をバックアップしやすい&lt;/li&gt;
&lt;li&gt;テーマをカスタマイズしやすい&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;デメリット&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;公式ドキュメントは充実しているが Wordperss と較べ情報量は圧倒的に少ない&lt;/li&gt;
&lt;li&gt;テーマやプラグインが少なく何かと自力解決が必要&lt;/li&gt;
&lt;li&gt;記事生成処理がクライアントに依存する&lt;/li&gt;
&lt;li&gt;コメント欄が Disqus (メリット？)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="インストール"&gt;
 インストール
 &lt;a class="heading-link" href="#%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;公式ドキュメントは &lt;a href="http://docs.getpelican.com/" class="external-link" target="_blank" rel="noopener"&gt;こちら&lt;/a&gt; にあります。&lt;/p&gt;
&lt;p&gt;僕は Debian の &lt;code&gt;python-pelican&lt;/code&gt; パッケージをインストールして使っていますが、Pelican の公式ドキュメントでは &lt;code&gt;virtualenv&lt;/code&gt; を使った仮想環境内で利用することが推奨されています。ここでは公式ドキュメントに倣ってインストールします。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ sudo apt-get install virtualenv
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ mkdir ~/python-virtualenvs
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ virtualenv ~/python-virtualenvs/pelican
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ cd ~/python-virtualenvs/pelican
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ . bin/activate
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ pip install pelican
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これでインストールは完了です。&lt;/p&gt;</description></item><item><title>シグナルをブロックすると fork() 後の子プロセスもブロックされた状態で生成される</title><link>https://tekito.net/posts/2013-12-03-child-processes-inherit-the-signal-mask/</link><pubDate>Tue, 03 Dec 2013 23:30:00 +0900</pubDate><guid>https://tekito.net/posts/2013-12-03-child-processes-inherit-the-signal-mask/</guid><description>&lt;p&gt;シグナルをブロックした状態で &lt;code&gt;fork()&lt;/code&gt; すると、子プロセスもシグナルをブロックした状態で生成されます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-c++" data-lang="c++"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#include&lt;/span&gt; &lt;span style="color:#75715e"&gt;&amp;lt;cstdio&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#include&lt;/span&gt; &lt;span style="color:#75715e"&gt;&amp;lt;cstdlib&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#include&lt;/span&gt; &lt;span style="color:#75715e"&gt;&amp;lt;csignal&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#include&lt;/span&gt; &lt;span style="color:#75715e"&gt;&amp;lt;unistd.h&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#include&lt;/span&gt; &lt;span style="color:#75715e"&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;main&lt;/span&gt;(&lt;span style="color:#66d9ef"&gt;void&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sigset_t blockmask;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sigemptyset(&lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt;blockmask);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sigaddset(&lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt;blockmask, SIGTERM);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sigprocmask(SIG_BLOCK, &lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt;blockmask, NULL);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pid_t pid &lt;span style="color:#f92672"&gt;=&lt;/span&gt; fork();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; (pid &lt;span style="color:#f92672"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; perror(&lt;span style="color:#e6db74"&gt;&amp;#34;fork&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; exit(EXIT_FAILURE);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; } &lt;span style="color:#66d9ef"&gt;else&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; (pid &lt;span style="color:#f92672"&gt;==&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;/* child */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sigset_t checkmask;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sigemptyset(&lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt;checkmask);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sigprocmask(&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;, NULL, &lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt;checkmask);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; (sigismember(&lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt;checkmask, SIGTERM)) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; std&lt;span style="color:#f92672"&gt;::&lt;/span&gt;cout &lt;span style="color:#f92672"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;SIGTERM is blocked.&amp;#34;&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;&amp;lt;&lt;/span&gt; std&lt;span style="color:#f92672"&gt;::&lt;/span&gt;endl;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; } &lt;span style="color:#66d9ef"&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;/* parent */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sleep(&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;return&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;出力結果:&lt;/p&gt;</description></item><item><title>MXE + Qt を使って Linux で Windows GUI アプリをクロスビルドする</title><link>https://tekito.net/posts/2013-10-18-cross-building-for-windows-on-linux-with-mxe-and-qt/</link><pubDate>Fri, 18 Oct 2013 00:00:00 +0900</pubDate><guid>https://tekito.net/posts/2013-10-18-cross-building-for-windows-on-linux-with-mxe-and-qt/</guid><description>&lt;p&gt;&lt;img src="sample.jpg" alt="Hello, Windows!"&gt;&lt;/p&gt;
&lt;h2 id="環境"&gt;
 環境
 &lt;a class="heading-link" href="#%e7%92%b0%e5%a2%83"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Debian GNU/Linux jessie amd-64 (Linux 3.10.11)&lt;/p&gt;
&lt;h2 id="依存パッケージのインストール-debian"&gt;
 依存パッケージのインストール (Debian)
 &lt;a class="heading-link" href="#%e4%be%9d%e5%ad%98%e3%83%91%e3%83%83%e3%82%b1%e3%83%bc%e3%82%b8%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab-debian"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;まずは &lt;a href="https://mxe.cc/#requirements-debian" class="external-link" target="_blank" rel="noopener"&gt;MXE のドキュメント&lt;/a&gt; に従って、必要なパッケージをインストールします。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ apt-get install autoconf automake bash bison bzip2 \
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cmake flex gettext git g++ intltool \
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; libffi-dev libtool libltdl-dev libssl-dev \
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; libxml-parser-perl make openssl patch perl \
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pkg-config scons sed unzip wget xz-utils
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="mxe-で-windows-向けの-qt-ビルド環境を作成する"&gt;
 MXE で Windows 向けの Qt ビルド環境を作成する
 &lt;a class="heading-link" href="#mxe-%e3%81%a7-windows-%e5%90%91%e3%81%91%e3%81%ae-qt-%e3%83%93%e3%83%ab%e3%83%89%e7%92%b0%e5%a2%83%e3%82%92%e4%bd%9c%e6%88%90%e3%81%99%e3%82%8b"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;MXE は Debian のパッケージリポジトリにはありません。&lt;/p&gt;</description></item><item><title>Pelican へ移行</title><link>https://tekito.net/posts/2013-10-14-blogging-with-pelican/</link><pubDate>Mon, 14 Oct 2013 15:24:00 +0900</pubDate><guid>https://tekito.net/posts/2013-10-14-blogging-with-pelican/</guid><description>&lt;p&gt;Blog を Wordpress から &lt;a href="http://getpelican.com/" class="external-link" target="_blank" rel="noopener"&gt;Pelican&lt;/a&gt; へ移行しました。&lt;/p&gt;</description></item><item><title>Linux 3.x の仮想マシンから VMware Fusion の共有フォルダが見えない</title><link>https://tekito.net/posts/2013-09-28-linux-vmware-fusion/</link><pubDate>Sat, 28 Sep 2013 01:57:00 +0900</pubDate><guid>https://tekito.net/posts/2013-09-28-linux-vmware-fusion/</guid><description>&lt;p&gt;VMware Fusion 上の Linux 仮想マシンから Mac の共有フォルダが見えなくなることが、たびたび (Linux カーネルをアップデートするたび？) あります。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ ls /mnt/hgfs/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(見えない...。)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;どうも &lt;code&gt;vmhgfs&lt;/code&gt; (VMware Host-Guest File System) というカーネルモジュールがロードされていないことが原因らしい。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ lsmod | grep vmhgfs
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(ロードされてない...。)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;いままでこうなったときは VMware Tools を再インストールして修復していました。しかし、VMware Tools は Linux 3.x に対応していないのか、モジュールのビルドに失敗するなど、色々とおかしくなっており、今回は VMware Tools を再インストールしても問題は解消せず。仕方なく手で直しました。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;とりえあず共有フォルダが使えるようになるところまでです。この記事は参考程度に、修復の実施は自己責任でお願いします。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="環境"&gt;
 環境
 &lt;a class="heading-link" href="#%e7%92%b0%e5%a2%83"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;VMware Fusion 5.03&lt;/li&gt;
&lt;li&gt;ホスト: OS X 10.8.5 (Mountain Lion)&lt;/li&gt;
&lt;li&gt;ゲスト: Linux 3.10.11 (Debian GNU/Linux jessie amd-64)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="そもそも"&gt;
 そもそも
 &lt;a class="heading-link" href="#%e3%81%9d%e3%82%82%e3%81%9d%e3%82%82"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;試していませんが &lt;code&gt;open-vm-tools&lt;/code&gt; を使うとすぐに解消できるかもしれません。&lt;/p&gt;</description></item><item><title>acpid を使ってサスペンド</title><link>https://tekito.net/posts/2011-08-20-acpid/</link><pubDate>Sat, 20 Aug 2011 22:58:00 +0900</pubDate><guid>https://tekito.net/posts/2011-08-20-acpid/</guid><description>&lt;p&gt;ノート PC のモニタ開閉時に acpid を使ってサスペンド/復帰する設定を行いました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ThinkPad X60&lt;/li&gt;
&lt;li&gt;Debian GNU/Linux wheezy&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="はじめに"&gt;
 はじめに
 &lt;a class="heading-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;acpid では ACPI イベントを捕捉して、それに応じたアクションを実行できます。&lt;/p&gt;
&lt;p&gt;シンプルな仕組みで、設定も簡単。動作は自由に定義できるので便利です。&lt;/p&gt;
&lt;p&gt;acpid については以下のサイトに詳しいです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://wiki.archlinux.org/title/Acpid" class="external-link" target="_blank" rel="noopener"&gt;acpid - ArchWiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nekolinux.blogspot.com/2009/10/acpi.html" class="external-link" target="_blank" rel="noopener"&gt;りぬーめも Arch Linux on S101: acpiの仕組みとか&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="イベントの確認"&gt;
 イベントの確認
 &lt;a class="heading-link" href="#%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88%e3%81%ae%e7%a2%ba%e8%aa%8d"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;イベントは &lt;code&gt;acpi_listen&lt;/code&gt; コマンドで確認できます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;acpi_listen&lt;/code&gt; コマンドを実行してノート PC のモニタをパタパタさせてみたところ、lid イベントが発生していることが確認できました。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ acpi_listen
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;button/lid LID close
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;video/switchmode VMOD 00000080 00000000
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;processor LNXCPU:00 00000081 00000000
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;button/lid LID open
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="アクションの定義"&gt;
 アクションの定義
 &lt;a class="heading-link" href="#%e3%82%a2%e3%82%af%e3%82%b7%e3%83%a7%e3%83%b3%e3%81%ae%e5%ae%9a%e7%be%a9"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;イベントに対するアクションは &lt;code&gt;/etc/acpi/events/&lt;/code&gt; 以下で定義します。&lt;/p&gt;</description></item><item><title>Guacamole でウェブブラウザからデスクトップ環境を使ってみた</title><link>https://tekito.net/posts/2011-01-22-guacamole/</link><pubDate>Sat, 22 Jan 2011 04:26:00 +0900</pubDate><guid>https://tekito.net/posts/2011-01-22-guacamole/</guid><description>&lt;p&gt;&lt;a href="https://guacamole.apache.org/" class="external-link" target="_blank" rel="noopener"&gt;Guacamole&lt;/a&gt; はHTML5とAjaxで実現されたVNCクライアントです。&lt;/p&gt;
&lt;p&gt;ウェブブラウザさえあれば、どこからでもアクセスできるし便利そうなので試してみました。&lt;/p&gt;
&lt;p&gt;&lt;img src="guacamole.jpg" alt="Guacamole"&gt;&lt;/p&gt;
&lt;p&gt;(Guacamoleを使ってノートPCからデスクトップPCにつないでみた様子。Chromeの中でChromeを立ち上げてしまうセンスの無さ&amp;hellip;。)&lt;/p&gt;
&lt;p&gt;実際にGuacamoleを使ってグリグリ動かしている動画が &lt;a href="https://guacamole.apache.org/" class="external-link" target="_blank" rel="noopener"&gt;公式サイト&lt;/a&gt; にもあるので、そちらも参照のこと。&lt;/p&gt;
&lt;p&gt;Guacamoleは日本語だと「ガカモレ」とか「ワカモレ」と発音するようです。&lt;/p&gt;
&lt;p&gt;基本的に &lt;a href="https://guacamole.apache.org/" class="external-link" target="_blank" rel="noopener"&gt;公式サイト&lt;/a&gt; に載ってるインストール手順通りでハマるところはありませんでしたが、ググっても日本語記事が少ないようなのでメモ。&lt;/p&gt;
&lt;h2 id="はじめに"&gt;
 はじめに
 &lt;a class="heading-link" href="#%e3%81%af%e3%81%98%e3%82%81%e3%81%ab"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Guacamoleを利用するためには &lt;code&gt;vncserver&lt;/code&gt;, &lt;code&gt;apache&lt;/code&gt;, &lt;code&gt;tomcat&lt;/code&gt; のほか &lt;strong&gt;デスクトップ環境&lt;/strong&gt; が必要です。デスクトップ環境の構築方法については触れないので、その辺りが分からない方はググってください。&lt;/p&gt;
&lt;p&gt;また、この記事はとりあえず実験的に動かすことを目的にしているので、継続して利用するのであれば設定を見直す必要があります。&lt;/p&gt;
&lt;h2 id="インストール手順"&gt;
 インストール手順
 &lt;a class="heading-link" href="#%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e6%89%8b%e9%a0%86"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;まずは必要なパッケージをインストールする。(debian squeezeの場合)&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ sudo apt-get install vnc4server apache2 tomcat6
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Apache Tomcat&lt;/p&gt;
&lt;p&gt;ApacheとTomcatはインストール直後に既に実行されていたが、一応確認。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ /etc/init.d/apache2 status
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Apache2 is running (pid 1250).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ /etc/init.d/tomcat6 status
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Tomcat servlet engine is running with pid 2601.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;netstat&lt;/code&gt; すると8080番でTomcatがLISTENしているので、アクセスしてみる。&lt;/p&gt;</description></item><item><title>bash のビルトインコマンド “local” について</title><link>https://tekito.net/posts/2010-11-23-local-command-in-bash/</link><pubDate>Tue, 23 Nov 2010 19:52:00 +0900</pubDate><guid>https://tekito.net/posts/2010-11-23-local-command-in-bash/</guid><description>&lt;p&gt;実験のまとめ。&lt;/p&gt;
&lt;h2 id="前置き"&gt;
 前置き
 &lt;a class="heading-link" href="#%e5%89%8d%e7%bd%ae%e3%81%8d"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;bash&lt;/code&gt; では特に指定しない限り、 &lt;strong&gt;変数は常にグローバル&lt;/strong&gt; な変数として扱われてしまいます。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;function&lt;/span&gt; foo&lt;span style="color:#f92672"&gt;()&lt;/span&gt; &lt;span style="color:#f92672"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; hoge&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;foo&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;foo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo $hoge &lt;span style="color:#75715e"&gt;# foo と出力される&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;変数をつくるたびに、グローバルな領域を汚染していくのはよろしくないので、ここではグローバル化の対策として &lt;code&gt;bash&lt;/code&gt; のビルトインコマンド &lt;code&gt;local&lt;/code&gt; を使用します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;function&lt;/span&gt; foo&lt;span style="color:#f92672"&gt;()&lt;/span&gt; &lt;span style="color:#f92672"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; local hoge&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;foo&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;foo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo $hoge &lt;span style="color:#75715e"&gt;# 空出力&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;このように、明示的にローカルな変数だよーって宣言してあげると、関数をでたときには忘れる。なんだか逆な気がしますが&amp;hellip;。&lt;/p&gt;
&lt;h2 id="本題"&gt;
 本題
 &lt;a class="heading-link" href="#%e6%9c%ac%e9%a1%8c"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;bash&lt;/code&gt; では &lt;strong&gt;for ループに使用する変数&lt;/strong&gt; や、&lt;strong&gt;read で受け取る変数&lt;/strong&gt; も他の変数と同様に、特に指定しない限りグローバル変数になります。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;function&lt;/span&gt; foo&lt;span style="color:#f92672"&gt;()&lt;/span&gt; &lt;span style="color:#f92672"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; hoge in &lt;span style="color:#e6db74"&gt;`&lt;/span&gt;echo one two three&lt;span style="color:#e6db74"&gt;`&lt;/span&gt;; &lt;span style="color:#66d9ef"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; :
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;function&lt;/span&gt; bar&lt;span style="color:#f92672"&gt;()&lt;/span&gt; &lt;span style="color:#f92672"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; read piyo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;foo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;bar
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo $hoge &lt;span style="color:#75715e"&gt;# three と出力される&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo $piyo &lt;span style="color:#75715e"&gt;# 入力された文字列が出力される&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;対策として &lt;code&gt;local&lt;/code&gt; を使用したいところですが、 &lt;strong&gt;for や read の変数名の前に local を置くと&lt;/strong&gt; 残念ながら &lt;strong&gt;構文エラー&lt;/strong&gt; になってしまいます。&lt;/p&gt;</description></item><item><title>nouveau でデュアルモニタの設定をしてみた</title><link>https://tekito.net/posts/2010-11-20-dual-monitor-with-nouveau/</link><pubDate>Sat, 20 Nov 2010 18:27:00 +0900</pubDate><guid>https://tekito.net/posts/2010-11-20-dual-monitor-with-nouveau/</guid><description>&lt;p&gt;nouveauはNVIDIAのVGA用の非公式ディスプレイドライバで、2.6.33からはカーネルにマージされているらしい。&lt;/p&gt;
&lt;p&gt;デュアルモニタの設定でやることは &lt;strong&gt;nouveauの導入&lt;/strong&gt; と &lt;strong&gt;xorg.confの設定&lt;/strong&gt; だけ。&lt;/p&gt;
&lt;p&gt;検索してもあまり日本語のサイトがヒットしなかったので、メモついでに記事にしときます。&lt;/p&gt;
&lt;h2 id="nouveauの導入"&gt;
 nouveauの導入
 &lt;a class="heading-link" href="#nouveau%e3%81%ae%e5%b0%8e%e5%85%a5"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;お使いのディストリビューションに依る部分です。&lt;/p&gt;
&lt;p&gt;fedora は 13 以降、debian は testing 以降であればメインリポジトリにあるようです。&lt;/p&gt;
&lt;p&gt;ちなみに debian testing の netinst したら最初から適用されていました。&lt;/p&gt;
&lt;p&gt;検索してもなければ、仕方がないのでソースからコンパイルしましょう。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://nouveau.freedesktop.org/wiki/Source" class="external-link" target="_blank" rel="noopener"&gt;nouveau Wiki - Source&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ただ、ソースからコンパイルするくらいなら、NVIDIA公式のドライバを使ってもいいかも&amp;hellip;。&lt;/p&gt;
&lt;h2 id="xorgconfの設定"&gt;
 xorg.confの設定
 &lt;a class="heading-link" href="#xorgconf%e3%81%ae%e8%a8%ad%e5%ae%9a"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;1枚のグラフィックカードでデュアル出力した場合の設定例です。&lt;/p&gt;
&lt;p&gt;以下、&lt;code&gt;xorg.conf&lt;/code&gt; の設定全文。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/etc/X11/xorg.conf&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Section &amp;#34;ServerLayout&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; identifier &amp;#34;Layout&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; screen 0 &amp;#34;screen0&amp;#34; 0 0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Endsection
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Section &amp;#34;Monitor&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Identifier &amp;#34;Monitor0&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Option &amp;#34;PreferredMode&amp;#34; &amp;#34;1920x1080&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Option &amp;#34;Primary&amp;#34; &amp;#34;True&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;EndSection
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Section &amp;#34;Monitor&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Identifier &amp;#34;Monitor1&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Option &amp;#34;PreferredMode&amp;#34; &amp;#34;1920x1080&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Option &amp;#34;RightOf&amp;#34; &amp;#34;Monitor0&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Option &amp;#34;Primary&amp;#34; &amp;#34;False&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;EndSection
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Section &amp;#34;Device&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Identifier &amp;#34;Device0&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Driver &amp;#34;nouveau&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Option &amp;#34;monitor-DVI-D-1&amp;#34; &amp;#34;Monitor0&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Option &amp;#34;monitor-VGA-1&amp;#34; &amp;#34;Monitor1&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;EndSection
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Section &amp;#34;Screen&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Identifier &amp;#34;screen0&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Device &amp;#34;Device0&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Monitor &amp;#34;Monitor0&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; DefaultDepth 24
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; SubSection &amp;#34;Display&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Depth 24
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Modes &amp;#34;1920x1080&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; EndSubSection
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;EndSection
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;解像度はMonitor0、Monitor1共に1920x1080としています。&lt;/p&gt;</description></item><item><title>WordPress へ移行</title><link>https://tekito.net/posts/2010-11-15-blogging-with-wordpress/</link><pubDate>Mon, 15 Nov 2010 23:52:00 +0900</pubDate><guid>https://tekito.net/posts/2010-11-15-blogging-with-wordpress/</guid><description>&lt;p&gt;blogger.comからWordPressに移行しました。&lt;/p&gt;
&lt;p&gt;bloggerで書いた記事のうちCZ-900のレビュー記事だけはお引越し。&lt;/p&gt;</description></item><item><title>ロジクール Illuminated Keyboard CZ-900 レビュー</title><link>https://tekito.net/posts/2010-02-10-cz-900-review/</link><pubDate>Wed, 10 Feb 2010 21:53:00 +0900</pubDate><guid>https://tekito.net/posts/2010-02-10-cz-900-review/</guid><description>&lt;p&gt;先日ロジクール Illuminated Keyboard CZ-900購入し、使用しはじめてそろそろ一ヶ月経つので、ここらでレビュー。&lt;/p&gt;
&lt;p&gt;CZ-900はデザインに凝ったキーボードでもありますが、デザインは好みや利用する場面にも左右されると思うので、この記事では主に &lt;strong&gt;利便性や機能的な面&lt;/strong&gt; に着目して書きました。「デザインは気に入ったけど&amp;hellip;」って方はぜひ参考にしていただけると幸い。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ロジクール Illuminated Keyboard CZ-900&lt;/li&gt;
&lt;li&gt;定価1万円。実勢価格7〜9千円。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="キー配列"&gt;
 キー配列
 &lt;a class="heading-link" href="#%e3%82%ad%e3%83%bc%e9%85%8d%e5%88%97"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;キーピッチ19mmの日本語配列フルキーボード。ただしかな印字はないので、かな入力者は対象とされていないようだ。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Deleteキーが大きく設計されている&lt;/strong&gt; のが特徴的で、文章作成時には押しやすくて非常によい。Enterキーが細く設計されていることも相まって、小指で簡単に押しにいける。ただし、利用するソフトウェアによってはInsert/Deleteキーに対となる機能を振り分けるキーバインドがあるため、その場合においては逆に使いづらくなるのではないかと思う。&lt;/p&gt;
&lt;p&gt;Deleteキーは大きくてよいのだが、 &lt;strong&gt;半角/全角キーと￥キーは細く設計されている点&lt;/strong&gt; が気になる。どちらのキーもそれなりにタッチする機会があるキーなので、ときおりここでタイプミスが生じた。これらのキーが細くなってしまったのは、Enterキーを細く設計した弊害なのだろうか。&lt;/p&gt;
&lt;p&gt;F1〜F12キーにはFnキーとの絡みでホットキーが割り当てられている。このあたりをカスタマイズするとゲーム用途で活躍しそう。もちろんそれ以外の用途でも、あるに越したことはない。しかし、これら &lt;strong&gt;最上段のキーは小さく(縦が短い)、やや押しづらい&lt;/strong&gt; という難点がある。スペース的に余裕があるのだから、もう少し大きくてもよかったと思う。&lt;/p&gt;
&lt;p&gt;配列の最下段のキートップは膨らんだ曲線形をしている。これはCtrlキーやAltキーと他のキーを同時押しする際に、距離を稼げるように設計されているかな？&amp;hellip;僕にはキートップが膨らんでいることの恩恵はあまり感じられなかった。&lt;/p&gt;
&lt;h2 id="外観"&gt;
 外観
 &lt;a class="heading-link" href="#%e5%a4%96%e8%a6%b3"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;パームレストはゴム素材でできており、感触は非常に良く、落ち着く。ゴム自体はペラペラなので押すと若干たわむが、キーボード使用中には特に気にならない。パームレスト部分は取り外しができないため、汚れると厄介かも。&lt;/p&gt;
&lt;p&gt;キーボード底にはスタンドがついているが、このスタンドの作りが若干脆く、キーボードの上から強い衝撃を受けるとポキッと折れてしまいそう。&lt;/p&gt;
&lt;p&gt;接続は無線ではなく、USBケーブルによって行う。ケーブルは右上からの片出し。ケーブル自体は一般的なキーボードのケーブルよりも細く、やや不安に感じた。ただ、キーボードのケーブルには負担が掛かることも少ないので、これでも充分といえば充分なのかもしれない。キーボードにはUSB接続用の端子はない。&lt;/p&gt;
&lt;p&gt;CapsLock/NumLock/ScrollLockの表示に癖があり、それぞれオンにするとテンキーの下方にマークが点灯される。デザインは素敵だが、慣れるまで若干わかりづらい。&lt;/p&gt;
&lt;h2 id="イルミネーション機能"&gt;
 イルミネーション機能
 &lt;a class="heading-link" href="#%e3%82%a4%e3%83%ab%e3%83%9f%e3%83%8d%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e6%a9%9f%e8%83%bd"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;このキーボードが他のキーボードと一線を画す機能がイルミネーション機能。キーの下にバックライトが搭載されており、特殊な印字加工をされたキートップが透けて光る仕組みになっている。これにより、 &lt;strong&gt;暗い部屋での利用も可能&lt;/strong&gt; となっている。僕はイルミネーション機能を目的として買ったのではないけれど、実際使ってみると、とても上品に光り好印象。カッコイイ。&lt;/p&gt;
&lt;p&gt;イルミネーション機能による利便性について、最も気になった点はF1〜F12キー、PrintScreenキー、Pause/Breakキーにおいては &lt;strong&gt;ホットキー表示のみしか点灯しない&lt;/strong&gt; こと。暗い部屋で使った場合、F1〜F12キーはキーの並びからなんとなく把握できるが、PrintScreenキーは位置がわからなくなりそう。&lt;/p&gt;
&lt;p&gt;イルミネーション機能の不具合として、キーボードの接続形態や接続先マザーボードによっては、 &lt;strong&gt;PCの電源を落としても点灯状態が継続されたまま&lt;/strong&gt; になってしまう現象が起こる。これはキーボードからの入力でPCを立ち上げる機能をマザーボードがサポートしている場合などに起こり、 &lt;strong&gt;常にUSB給電されてしまっていることが原因&lt;/strong&gt; である。僕の場合はCPU切替器を介して接続すると、点灯したままになってしまった。その場合にはPCの電源OFFでもキー入力は受け付けているので(それが原因だからだ)、点灯調節キーで消灯状態にはできる。この現象は利用するマザーボードのBIOSの設定次第で解決できる可能性はある。&lt;/p&gt;
&lt;h2 id="打鍵感"&gt;
 打鍵感
 &lt;a class="heading-link" href="#%e6%89%93%e9%8d%b5%e6%84%9f"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;キーボードのキーにはパンタグラフ式スイッチが採用されている。&lt;/p&gt;</description></item><item><title>ロジクール Illuminated Keyboard CZ-900 購入</title><link>https://tekito.net/posts/2010-01-14-cz-900/</link><pubDate>Thu, 14 Jan 2010 21:26:00 +0900</pubDate><guid>https://tekito.net/posts/2010-01-14-cz-900/</guid><description>&lt;p&gt;近頃ノートパソコンのキーボードに触れる機会が度々あり、その都度キーボードが気になっていた。というのも、いままで自宅では1年ほど前に購入した &lt;a href="http://www.diatec.co.jp/products/det.php?prod_c=588" class="external-link" target="_blank" rel="noopener"&gt;Realforce 91UDK-G (東プレ)&lt;/a&gt; を使っていたのだが、僕にはどうもノートのキーボードの方が打ちやすく感じた。&lt;/p&gt;
&lt;p&gt;Realforceシリーズは静電式スイッチ、ノートはパンタグラフ式スイッチ。同じキーボードとは言え、叩くと全く違ったもの。世間では静電式スイッチの製品が割と持てはやされていて、僕もそれに多少影響されてRealforce 91UDK-Gの購入に踏みきったのだけれど(もちろん実際に触ってみてよいと感じた)、先述した体験から次第にパンタグラフ式スイッチのキーボードへの感心が強まり、ひとつ買ってみることにした。&lt;/p&gt;
&lt;p&gt;最近僕はネットのレビューを参考にしてその場(ネット)で買い物をすることも多いけれど、キーボードをネットのレビューのみを鵜呑みにして買うコトには少々不安感を覚えたので、実際にパンタグラフ式のキーボードを叩きにアキバへ行って買うことにした。&lt;/p&gt;
&lt;p&gt;事前にネットでリサーチして、購入候補として挙がっていたのは以下の2製品。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;G85-23100JAADSF (Cherry)&lt;/li&gt;
&lt;li&gt;EIPH108 (シグマA・P・O)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;実を言うとテンキーレスのキーボードが欲しかったのだけれど、パンタグラフ式でテンキーレスの製品となると、ほとんど(現状全て?)がコンパクトキーボードとなってしまうようで、テンキーレスは断念した。&lt;/p&gt;
&lt;p&gt;ではなぜこの2製品に絞ったかというと、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;今使っているRealforce 91UDK-Gの配列に近い(重要)&lt;/li&gt;
&lt;li&gt;接続形態が無線ではない&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;というかなり消極的な理由から。Realforce 91UDK-Gの無駄のないスッキリとしたデザインが気に入っていたので、変態配列のもの(パンタグラフ式キーボードには特に多く感じる)は避けた。僕の理想としてはRealforce 91UDK-Gをパンタグラフ仕様にしてもらえれば、それが一番だと思っている。&lt;/p&gt;
&lt;p&gt;実際アキバに行って上記の2製品を中心に、様々なキーボードを叩いてみた所感としては、G85-23100JAADSFはキーストロークが非常に浅く、キータッチも柔らかいので、パンタグラフで頻発しがちな隣接キーの誤爆がチョット心配になった。それに対してEIPH108はキーストロークもそこそこあり、キータッチもしっかりしている。加えて赤色モデルの色がネットの写真でみたのよりも落ち着いた色合いで、好印象。&lt;/p&gt;
&lt;p&gt;もうEIPH108にしてしまおうかと、いろんなお店での価格チェックをしながらキーボードを叩いて回っていたところ、 ロジクール CZ-900の叩き心地のよさに目(手?)を奪われた。&lt;/p&gt;
&lt;p&gt;CZ-900のキータッチはEIPH108を更にしっかりさせた感じで、パンタグラフ式キーボードではかなり固い部類にはいるのではないかと思う。ストロークもパンタグラフ式のキーボードとしては深め。そして何よりも気に入ったポイントが、キーを押下したときの反発が強いこと。反発が強いお陰ですぐに次のキーをタッチしにいけるのがよい。この叩き心地はメカニカル式スイッチに似た心地よさがある。&lt;/p&gt;
&lt;p&gt;ロジクールの製品は完全にノーマークだったので、嬉しい誤算。当初予定していた金額よりもだいぶ出費が増えてしまうが、CZ-900を買うことにした。
まだ使いはじめて数時間だけれど、購入後に気づいた点もあるので、そちらについてはまた後日レビューとしてまとめようと思う。&lt;/p&gt;
&lt;p&gt;また、CZ-900の他に&amp;quot;クレバリー製オリジナルキーボード&amp;quot;の叩き心地もよかった。やや壊れやすそうな印象が気になったが、こちらは2000円程度だったので、コストパフォーマンスは高そう。&lt;/p&gt;</description></item></channel></rss>