<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>digital matter &#187; Software</title>
	<atom:link href="http://blog.loadlimits.info/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.loadlimits.info</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Tue, 22 Jun 2010 10:46:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Linuxで複数ユーザで使えるリモートデスクトップ環境を作る</title>
		<link>http://blog.loadlimits.info/2010/02/linux%e3%81%a7%e8%a4%87%e6%95%b0%e3%83%a6%e3%83%bc%e3%82%b6%e3%81%a7%e4%bd%bf%e3%81%88%e3%82%8b%e3%83%aa%e3%83%a2%e3%83%bc%e3%83%88%e3%83%87%e3%82%b9%e3%82%af%e3%83%88%e3%83%83%e3%83%97%e7%92%b0/</link>
		<comments>http://blog.loadlimits.info/2010/02/linux%e3%81%a7%e8%a4%87%e6%95%b0%e3%83%a6%e3%83%bc%e3%82%b6%e3%81%a7%e4%bd%bf%e3%81%88%e3%82%8b%e3%83%aa%e3%83%a2%e3%83%bc%e3%83%88%e3%83%87%e3%82%b9%e3%82%af%e3%83%88%e3%83%83%e3%83%97%e7%92%b0/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 12:47:01 +0000</pubDate>
		<dc:creator>hotpi</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[解決]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[xrdp]]></category>

		<guid isPermaLink="false">http://blog.loadlimits.info/2010/02/linux%e3%81%a7%e8%a4%87%e6%95%b0%e3%83%a6%e3%83%bc%e3%82%b6%e3%81%a7%e4%bd%bf%e3%81%88%e3%82%8b%e3%83%aa%e3%83%a2%e3%83%bc%e3%83%88%e3%83%87%e3%82%b9%e3%82%af%e3%83%88%e3%83%83%e3%83%97%e7%92%b0/</guid>
		<description><![CDATA[今回やりたかったのは、社内で複数の人が一台の共有マシンを使って、とある時間のかかる処理をするための環境作成です。
最初はxinetd+Xvfb+x11vncでgdmをあーやってこーやって…って色々試していたのですが、Windowsのリモートデスクトップ接続をクライアントに使えた方が便利だなぁとか思ってRDPで転送する方法がないか調べたところ、むしろさっきまで小難しくやろうとしていたすべてをまるっとまとめてやってくれるxrdpというものを発見！
これならシンクライアントっぽいものが一瞬で作れる！ということでさっそく導入してみたので手順解説します。

このxrdp、デフォルトのままならリモートデスクトップユーザからシステムに変更を加える作業はできないので、今回の用途に最適です。
xrdp &#124; Get xrdp at SourceForge.net
ユーザの追加も、通常通りLinuxにユーザ追加するだけで、リモートデスクトップログインできるようになります。
VNCに対する利点は多分こんなところ

画像解像度がクライアント側から変更できる       
Windowsユーザに追加クライアントをインストールしてもらう必要がない 

設定にあたってはこちらのブログのエントリが大変参考になりました。これがないとまともにキーボード使えませんでした。

xrdp 0.5.0 (cvsベース) &#8211; Sceneries through the lenses 
xrdp 0.5.0 rpm for CentOS 5.4 x64 &#8211; Sceneries through the lenses 
xrdp 0.5.0 / 日本語入力 &#8211; Sceneries through the lenses 

サーバはUbuntu Server 9.10(Karmic Koala)を使いました。別にUbuntuデスクトップ版でも良かった説。
とりあえずインストール時にこれらを選択しておきます。インストール後なら$ sudo taskselでもOK。

Basic Ubuntu server 
OpenSSH Server 
Ubuntu desktop 

xrdpですが、aptやSourceForgeからtar.gzでダウンロードできるものはバージョンが古く、Windows7のリモートデスクトップ接続クライアントに対応していません。なので、cvsレポジトリから最新を持ってくる必要があります。
今回チェックアウトしたものは2009-12-26に最終更新されたバージョンです。
まずは下準備とチェックアウトまで。
$ [...]]]></description>
			<content:encoded><![CDATA[<p>今回やりたかったのは、社内で複数の人が一台の共有マシンを使って、とある時間のかかる処理をするための環境作成です。</p>
<p>最初はxinetd+Xvfb+x11vncでgdmをあーやってこーやって…って色々試していたのですが、Windowsのリモートデスクトップ接続をクライアントに使えた方が便利だなぁとか思ってRDPで転送する方法がないか調べたところ、むしろさっきまで小難しくやろうとしていたすべてをまるっとまとめてやってくれるxrdpというものを発見！</p>
<p>これならシンクライアントっぽいものが一瞬で作れる！ということでさっそく導入してみたので手順解説します。</p>
<p><a href="http://blog.loadlimits.info/wp-content/uploads/2010/02/WS000001.png"><img style="border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px" border="0" alt="WS000001" src="http://blog.loadlimits.info/wp-content/uploads/2010/02/WS000001_thumb.png" width="307" height="240" /></a></p>
<p>このxrdp、デフォルトのままならリモートデスクトップユーザからシステムに変更を加える作業はできないので、今回の用途に最適です。</p>
<p><a href="http://sourceforge.net/projects/xrdp/" target="_blank">xrdp | Get xrdp at SourceForge.net</a></p>
<p>ユーザの追加も、通常通りLinuxにユーザ追加するだけで、リモートデスクトップログインできるようになります。</p>
<p>VNCに対する利点は多分こんなところ</p>
<ul>
<li>画像解像度がクライアント側から変更できる      <br /><a href="http://blog.loadlimits.info/wp-content/uploads/2010/02/WS000000.png"><img style="border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px" border="0" alt="WS000000" src="http://blog.loadlimits.info/wp-content/uploads/2010/02/WS000000_thumb.png" width="260" height="240" /></a> </li>
<li>Windowsユーザに追加クライアントをインストールしてもらう必要がない </li>
</ul>
<p>設定にあたってはこちらのブログのエントリが大変参考になりました。これがないとまともにキーボード使えませんでした。</p>
<ul>
<li><a href="http://blog.goo.ne.jp/thaniwa/e/133521d46ed5d450224dfb6b7ea0499e" target="_blank">xrdp 0.5.0 (cvsベース) &#8211; Sceneries through the lenses</a> </li>
<li><a href="http://blog.goo.ne.jp/thaniwa/e/0b2fc72034c3b330989dd2c8a5ec4a73" target="_blank">xrdp 0.5.0 rpm for CentOS 5.4 x64 &#8211; Sceneries through the lenses</a> </li>
<li><a href="http://blog.goo.ne.jp/thaniwa/e/7da32303f57992beb7bea88e62fa5291" target="_blank">xrdp 0.5.0 / 日本語入力 &#8211; Sceneries through the lenses</a> </li>
</ul>
<p>サーバはUbuntu Server 9.10(Karmic Koala)を使いました。別にUbuntuデスクトップ版でも良かった説。</p>
<p>とりあえずインストール時にこれらを選択しておきます。インストール後なら$ sudo taskselでもOK。</p>
<ul>
<li>Basic Ubuntu server </li>
<li>OpenSSH Server </li>
<li>Ubuntu desktop </li>
</ul>
<p>xrdpですが、aptやSourceForgeからtar.gzでダウンロードできるものはバージョンが古く、Windows7のリモートデスクトップ接続クライアントに対応していません。なので、cvsレポジトリから最新を持ってくる必要があります。</p>
<p>今回チェックアウトしたものは2009-12-26に最終更新されたバージョンです。</p>
<p>まずは下準備とチェックアウトまで。</p>
<p>$ sudo aptitude update    <br />$ sudo aptitude install cvs autoconf libtool libssl-dev libpam0g-dev libx11-dev libxfixes-dev tightvncserver scim scim-anthy     <br />$ cd ~/     <br />$ mkdir xrdp     <br />$ cd xrdp     <br />$ cvs -d:pserver:anonymous@xrdp.cvs.sourceforge.net:/cvsroot/xrdp login     <br />$ cvs -z3 -d:pserver:anonymous@xrdp.cvs.sourceforge.net:/cvsroot/xrdp co .     <br />$ cd xrdp</p>
<p>で、前述のブログを参考にいくつかファイルを修正します。</p>
<p>$ vi xrdp/lang.c    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if ((code &gt;= 0) &amp;&amp; (code &lt; 128))</p>
<p>を    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if ((code &gt;= 0) &amp;&amp; (code &lt; 135))</p>
<p>に。</p>
<p>$ vi xrdp/xrdp_types.h    <br />&#160;&#160;&#160; struct xrdp_key_info keys_noshift[128];     <br />&#160;&#160;&#160; struct xrdp_key_info keys_shift[128];     <br />&#160;&#160;&#160; struct xrdp_key_info keys_altgr[128];     <br />&#160;&#160;&#160; struct xrdp_key_info keys_capslock[128];     <br />&#160;&#160;&#160; struct xrdp_key_info keys_shiftcapslock[128];</p>
<p>を</p>
<p>&#160;&#160;&#160; struct xrdp_key_info keys_noshift[135];    <br />&#160;&#160;&#160; struct xrdp_key_info keys_shift[135];     <br />&#160;&#160;&#160; struct xrdp_key_info keys_altgr[135];     <br />&#160;&#160;&#160; struct xrdp_key_info keys_capslock[135];     <br />&#160;&#160;&#160; struct xrdp_key_info keys_shiftcapslock[135];</p>
<p>に。</p>
<p>$ ./bootstrap    <br />$ ./configure     <br />$ make     <br />$ sudo make install</p>
<p>次は日本語キーボード用にキーマップを作成します。キーマップファイルは/usr/local/bin/xrdp-genkeymapを使って作ることもできるのですが、「\」や「_」のキーが効かなくなる現象があるので、<a href="http://blog.goo.ne.jp/thaniwa/e/0b2fc72034c3b330989dd2c8a5ec4a73" target="_blank">さきほどのエントリ</a>からコピーしてきます。</p>
<p>とは言ってもファイル単体では公開されていないので、xrdp-0.5.0-instfiles.patchから当該部分を引っこ抜いてくる形になります。</p>
<p>ちなみに自分で生成する場合は、GUI上の端末から（ここ重要）    <br />$ sudo /usr/local/bin/xrdp-genkeymap /etc/xrdp/km-0411.ini     <br />でOKです。</p>
<p>それ以外は普通にSSHから作業できます。認識する名前別にキーマップの複製。lnでもいいかも。</p>
<p>$ cd /etc/xrdp/    <br />$ sudo cp km-0411.ini km-e0200411.ini     <br />$ sudo cp km-0411.ini km-e0210411.ini     <br />$ sudo cp km-0411.ini km-e0010411.ini     <br />$ sudo vi /etc/xrdp/startwm.sh</p>
<p>startwm.shの内容は<a href="http://blog.goo.ne.jp/thaniwa/e/7da32303f57992beb7bea88e62fa5291" target="_blank">前述のエントリ</a>からまるごとコピペして上書きします。が、Ubuntuで試したところ、ログイン後にキー配列がめちゃくちゃになる現象（「qwerty」が「c.gvn 」になる）があるので、一行追加して対策します。</p>
<p>export XKL_XMODMAP_DISABLE=1</p>
<p>を、for WindowManager in $SESSIONSの前にでも入れておきます。</p>
<p>で、あとは起動するだけです。</p>
<p>$ sudo /etc/xrdp/xrdp.sh start</p>
<p><a href="http://blog.loadlimits.info/wp-content/uploads/2010/02/WS000002.png"><img style="border-right-width: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px" border="0" alt="WS000002" src="http://blog.loadlimits.info/wp-content/uploads/2010/02/WS000002_thumb.png" width="307" height="240" /></a></p>
<p>複数のユーザが同時にログインしても問題なく動作します。1200&#215;1920とかの解像度でもストレスなく作業できました。</p>
<p>Mac OS Xな人々には<a href="http://www.microsoft.com/japan/mac/products/remote-desktop/default.mspx" target="_blank">Remote Desktop Connection Client for Mac 2</a>もあるのでばっちりです。</p>
<p>追記：あ、右シフトキーが効かない現象がありました。謎。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loadlimits.info/2010/02/linux%e3%81%a7%e8%a4%87%e6%95%b0%e3%83%a6%e3%83%bc%e3%82%b6%e3%81%a7%e4%bd%bf%e3%81%88%e3%82%8b%e3%83%aa%e3%83%a2%e3%83%bc%e3%83%88%e3%83%87%e3%82%b9%e3%82%af%e3%83%88%e3%83%83%e3%83%97%e7%92%b0/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>自作ドライバを配布するためのインストーラー</title>
		<link>http://blog.loadlimits.info/2010/01/%e8%87%aa%e4%bd%9c%e3%83%89%e3%83%a9%e3%82%a4%e3%83%90%e3%82%92%e9%85%8d%e5%b8%83%e3%81%99%e3%82%8b%e3%81%9f%e3%82%81%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%a9%e3%83%bc/</link>
		<comments>http://blog.loadlimits.info/2010/01/%e8%87%aa%e4%bd%9c%e3%83%89%e3%83%a9%e3%82%a4%e3%83%90%e3%82%92%e9%85%8d%e5%b8%83%e3%81%99%e3%82%8b%e3%81%9f%e3%82%81%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%a9%e3%83%bc/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 13:43:45 +0000</pubDate>
		<dc:creator>hotpi</dc:creator>
				<category><![CDATA[Driver]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[UMDF]]></category>
		<category><![CDATA[windows 7]]></category>

		<guid isPermaLink="false">http://blog.loadlimits.info/2010/01/%e8%87%aa%e4%bd%9c%e3%83%89%e3%83%a9%e3%82%a4%e3%83%90%e3%82%92%e9%85%8d%e5%b8%83%e3%81%99%e3%82%8b%e3%81%9f%e3%82%81%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%a9%e3%83%bc/</guid>
		<description><![CDATA[DPInst.exeというものがとにかく便利すぎたのでメモ。
何せ上記実行ファイルを配布したいinfと同じフォルダに置くだけ。DPInst.exeを実行すればインストールが開始されます。
参考にしたのはこちらのサイト。
DPInst.exeの使い方 / How to use DPInst.exe WinUSB.sys事始め/ウェブリブログ
インストール画面をカスタマイズしたい場合に限り、定義XMLファイルを設置すればいいようです。
サンプルとして使えるXMLや画像一式は以下のフォルダにあります。
C:\WinDDK\7600.16385.0\src\setup\DPInst
日本語の場合はlanguage codeに0&#215;0411をセット。
&#60;language code=&#34;0&#215;0411&#34;&#62;
あとはUTF-8にして日本語で記述できます。
0&#215;0411を定義しておかないと、
現在の言語では、デバイス ドライバのインストール ウィザードはサポートされません。
このパッケージを提供した製造元に問い合わせてください。

と表示されて先に進めません。
ちなみにNSISでやることを最初考えていて、それは以下のページに書いてありました。
Driver installation and update &#8211; NSIS
こっちはまだ試していないのですが、アプリケーションとかも一緒にインストールする場合にはNSISの方が便利かも。
]]></description>
			<content:encoded><![CDATA[<p>DPInst.exeというものがとにかく便利すぎたのでメモ。</p>
<p>何せ上記実行ファイルを配布したいinfと同じフォルダに置くだけ。DPInst.exeを実行すればインストールが開始されます。</p>
<p>参考にしたのはこちらのサイト。</p>
<p><a href="http://winusb.at.webry.info/200807/article_1.html" target="_blank">DPInst.exeの使い方 / How to use DPInst.exe WinUSB.sys事始め/ウェブリブログ</a></p>
<p>インストール画面をカスタマイズしたい場合に限り、定義XMLファイルを設置すればいいようです。</p>
<p>サンプルとして使えるXMLや画像一式は以下のフォルダにあります。</p>
<p>C:\WinDDK\7600.16385.0\src\setup\DPInst</p>
<p>日本語の場合はlanguage codeに0&#215;0411をセット。</p>
<p>&lt;language code=&quot;0&#215;0411&quot;&gt;</p>
<p>あとはUTF-8にして日本語で記述できます。</p>
<p>0&#215;0411を定義しておかないと、</p>
<blockquote><p>現在の言語では、デバイス ドライバのインストール ウィザードはサポートされません。</p>
<p>このパッケージを提供した製造元に問い合わせてください。</p>
</blockquote>
<p>と表示されて先に進めません。</p>
<p>ちなみにNSISでやることを最初考えていて、それは以下のページに書いてありました。</p>
<p><a href="http://nsis.sourceforge.net/Driver_installation_and_update" target="_blank">Driver installation and update &#8211; NSIS</a></p>
<p>こっちはまだ試していないのですが、アプリケーションとかも一緒にインストールする場合にはNSISの方が便利かも。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.loadlimits.info/2010/01/%e8%87%aa%e4%bd%9c%e3%83%89%e3%83%a9%e3%82%a4%e3%83%90%e3%82%92%e9%85%8d%e5%b8%83%e3%81%99%e3%82%8b%e3%81%9f%e3%82%81%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%a9%e3%83%bc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
