トップ 最新 追記
【ソース+水=麦茶色の何か】

半期 四半期 全カテゴリ

今日の一言


2009/11/02(Mon) ゼミナール発表終了! [長年日記] 編集

_ [FC][Ubuntu][Linux][Windows][研究関係][雑記]ひとつのキーボードとマウスで複数のコンピュータを使用する(Synergy)

Synergyはタイトルのことをソフトウェアだけで実現できる素晴らしいソフト!

対応プラットフォームの幅も広く、Windowsは95からのほぼ全てのバージョンで動作可能。また、Linux/UNIXや、Mac OS Xでも動作できる。

詳しくはSynergyでググるべし。

*前提:すべてのコンピュータをTCP/IPネットワークで接続する必要があり、また、動かしたいPC全てにこのソフトを入れる必要がある。

以下、使い方の概要だけ述べる。

まず、公式サイト(http://synergy2.sourceforge.net/)に行って、インストールしたいOSに合ったものをDownLoadページからDLする。

で、OSに合わせて適当にインストール。

Windowsの場合は.exeをクリックして後は普通にインストール。

rpm系Unixの場合はrpmをインストール。

それ以外のUnixの場合はソースからなので少し面倒だが、基本的には解凍して、

 $ ./configure
 $ make
 # make install

でいけるはず。

*XTestがないと言われた場合は、

 $ sudo apt-get install libxtst-dev

で入れる。

*ubuntuでは

 $ sudo apt-get install synergy

でも出来るっぽい。というか、自分の場合はmakeで失敗したのでapt-getの方をお薦めする。

未確認だが、macの場合は「synergyc」と「synergys」を/usr/local/binに、設定ファイル「synergy.conf」を/etcにでも配置すればいいらしい。というか、配置場所はどこでもよさそう。

んで、設定を行う。

Windows

XPの場合は、ほとんどGUIでできるので問題ないはず。分からなければググれ。

特にこのページ(http://e0166.blog89.fc2.com/blog-entry-435.html)がかなり役に立った。

ザくっとまとめる。

サーバの場合

synergy.exeをダブルクリックして synergyを起動。

〜〜(server)と書かれている部分にチェックを入れ、configureをクリック。

screens:の下の方の+をクリックして、サーバにしたいPCの名前と「クライアントとなるマシンの名前」を登録する。

(コンピューター名は、マイコンピュータを右クリックし、プロパティを開き、コンピューター名タブをクリックすれば確認できる)

*というか、Synagyを起動させて「info」ってボタンを押せば必要な情報が全て分かるはず。

で、次に、Links:の下にあるNew Linksをクリックして、

画面のどの方向にどのPCの画面を配置するかを指定する。(サーバを中心とした配置)

あとはStartを押してサーバーを起動すればサーバーの設定は完了。

クライアントの場合

〜〜(server)と書かれている部分にチェックを入れ、サーバー側のコンピューター名(動かない場合はIPアドレス)を入力。

で、入力後、『Start』ボタンを押せば起動できる。

Unix

サーバの場合

エディタで、/etc/synergy.confを直接編集する。

section: screens
  [server-machine]:
  [client-machine]:
end
section: links
  [server-machine]:
    right = [client-machine]
  [client-machine]:
    left = [server-machine]
end

それぞれ、

[server-machine] をprimary screenを持つコンピュータのホスト名に、

[client-machine] を secondary screenを持つコンピュータのホスト名に置き換えること。

スクリーンの位置は、right/left/up/downが指定できる.

で、設定ファイルを書き換えたら、

 $ synergys -f --config synergy.conf

としてフォアグラウンドモードで起動してテスト。(停止はctrl+c)

正常に起動することが確認できたら、synergyを、バックグラウンドで起動

 $ synergys

*100805追記

上記にしたがって「synergy.conf」を書いたのに次のようなエラー

 DEBUG: synergys.cpp,1051: opening configuration "synergy.conf"
 DEBUG: synergys.cpp,1058: cannot open configuration "synergy.conf"
 synergys: no configuration available

が出た場合、「synergy.conf」の場所が分からないだけということがありえる。

なので、パスを設定するか、

 $ synergys -f --config /etc/synergy.conf

 $ synergys --config /etc/synergy.conf

のように、明示的に指定する必要がある。

クライアントの場合
 $ synergyc -f [server-host-name]

を打つだけでOK。

ここで、[server-host-name]はsynergy サーバーを実行しているコンピュータのホスト名で置き換えること。

ただ、まずは念のために

 $ synergyc -f [server-host-name]

としてフォアグラウンドで起動してテストした方がいいと思う。

自動起動させる

どっかで見かけたメモ書きの内容の更にメモ書き。深刻なダメージを受けても責任は持たん。

*ログイン画面で起動している必要がないなら、Ubuntuなら普通に、起動時に動かすプログラムをGUIで設定できるはず。

というわけで、以下メモ。

ログイン前に自動起動する場合には /etc/gdm/Init/Default の

「sysmodmap=/etc/X11/Xmodmap」の直前に、

ログイン後に自動起動する場合には、 /etc/gdm/PreSession/Default の「XSETROOT=`gdmwhich xsetroot`」の直前に、

サーバorクライアントの起動処理を書く。

<サーバの場合>

SYNERGYS=`gdmwhich synergys`
if [ x$SYNERGYS != x ] ; then
$SYNERGYS --config /etc/synergy/synergy.conf
fi

<クライアントの場合>

SYNERGYC=`gdmwhich synergyc`
if [ x$SYNERGYC != x ] ; then
$SYNERGYC [server-host-name]
fi

[server-host-name]はサーバのホスト名(IPアドレス)で置き換えること。

Mac

知らん。

動かない場合

ファイアーウォールが邪魔をしている可能性大。

ポート (24800) を開けておくこと。

最後に一言

コレとVNCを併用すると、凄く使い勝手がいい!・・・らしいよ?

_ [Ubuntu][Linux][プロジェクト実習][雑記]特定のIPアドレスからの接続を許可する

ufwでは次のコマンドで可能。

 $ sudo ufw allow from 192.168.0.3

これは192.168.0.3からの通信を全て受け付けるように設定である。

また、

 $ sudo ufw allow from 192.168.0.3 to any port 24800

と書くと、特定のポート(24800)を,192.168.0.3というホストに対して許可できる。

その他のLinuxについては知らん。

_ [FC][Ubuntu][Linux][Windows][Mac][研究関係][雑記]コンピュータ名の調べ方

Windowsの場合

マイコンピュータを右クリックし、プロパティを開き、コンピューター名タブをクリック。

Vistaの場合は、コンピュータを開いて、システムのプロパティをクリックしても見れる。

*訂正

Windowsだとローマ字の大文字と小文字の区別がないが、他のOSだと区別されることが多い。

なので、正しい名前を得たい場合は、コマンドプロンプトを開いて、

 C:\> hostname

と打つのが確実。

Linuxの場合

ターミナルを開いて

 $ hostname

以上!

Macの場合

Dockの「システム環境設定」をクリック。

んで、「インターネットとネットワーク」から「共有」をクリックすれば見れる。

*訂正。

これだと正確な名前が出ないので、Synagyなどでこの名前を登録しても使えないっぽい。

なので、Linuxと同様に、ターミナルを開いて

 $ hostname

するのが確実っぽい。

まとめ

とりあえず「hostname」を打て!以上!


2009/11/04(Wed) 高専祭延期・・・残念 [長年日記] 編集

_ [Emacs][Debian][FC][Ubuntu][Linux][研究関係][雑記]emacsの使い方

自分自身まだあんまり使えてないので、役立ちそうだと思ったページを挙げる。当然のことながら、著作権はリンク先のページにあるので悪用はしないこと。

http://www.nls.ics.saitama-u.ac.jp/~tohru/Lectures/ICSEXP/LaTeX/refcardja.pdf

とりあえずコレに書かれているのをマスターできればほとんどの作業ができるようになるはず。(リンクを張るのに問題があれば即効で消しますす)

どうやら、「GNU Emacs Reference Card」でググればいろいろでるっぽい。後は頑張れ。

_ [Windows][研究関係][雑記]フォルダを右クリックからコマンドプロンプトで開く

Windowsだと、ファイル名に全角文字が混ざっていることが多々あり、CUIでの操作がしにくい。

なので、任意のところまでGUIで行って、目的のフォルダについたらコマンドプロンプトを開く方が早い場合がある。

Vistaの場合

なんと、Vistaにはもともとこの機能が搭載されている。

が、どういうわけか、普通に右クリックしただけでは使えない。

使うには、

 「Shift」を押しながら、対象のフォルダを「右クリック」

する必要がある。

・・・なぜこんな微妙な機能をデフォルトに?

Vistaはファイルをコマンドプロンプトへドラッグ&ドロップしても、ファイルのパス名がコピーされなくなったあたり、CUIのユーザを完全に切り捨てたのかと思っていたのだが・・・

XP以前のWindows

*ここではレジストリを直にいじるので、自身がない人はコレ用のフリーソフトでも探した方が賢明です。

ではオペ開始。

スタートメニューから「ファイル名を指定して実行」を選び、「regedit」と入力して「OK」ボタンをクリック。

レジストリエディタが起動したら、キーを次のようにたどる。

「HKEY_CLASSES_ROOT」→「Directory」→「shell」

で、「shell」を右クリックして「新規」−「キー」を選び、「cmd」というキーを作成。

「(既定)」をダブルクリックして、値のデータに「コマンドプロンプトで開く」と入力して「OK」ボタンをクリック。

(どうやら、これがメニューに表示される項目名となるらしい)

さらに、「cmd」を右クリックし、「新規」−「キー」を選んで「command」というキーを作成。

「(既定)」をダブルクリックして、値のデータに

 cmd.exe /k "cd %l"

と入力して「OK」ボタンをクリック

(「/k」と「"cd %l"」の前にはそれぞれ半角スペースが1つ必要。)

これで、再起動後は、右クリックメニューに「コマンドプロンプトで開く」が出来る。


2009/11/05(Thu) 明日は京大へ [長年日記] 編集

_ [Windows][研究関係][雑記]コマンドプロンプトでTab補完を有効にする

まず、「スタートメニュー」 → 「ファイル名を指定して実行」を開き、「regedit.exe]と入力して「OK」をクリック。

で、

 HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor

を選択。

「CompletionChar」をダブルクリックし、「値のデータ」 に「9」を入力。

同様に、「PathCompletionChar」をダブルクリックし、「値のデータ」に「9」を入力。

これで再起動後はTab補完(っぽいもの)ができるようになっているはず。

_ [Emacs][Debian][FC][Ubuntu][Linux][Windows][研究関係][雑記]Emacsを勉強する前の基本知識

Emacsの使い方を調べていると、大抵

 C-

とか

 M-

という表記がされている。(というか、この表記でコマンドを列挙しているのが一般的)

なので初見の場合、「・・・これ自体が何を表しているかが分からん!」という事態に陥リ兼ねない(実体験)。

というわけで一応メモっとく。

 「C-」:「Ctrl」キーを押しながら
 「M-」:「Alt」キーを押しながら

<例>

「C-x s」 と書いてある場合、

 「Ctrl」キーを押しながら「x」 を入力、そのあと「s」を入力

を指す。

* Mは本来メタキーを指すが、一般的なのキーボードではメタキーがない場合が多いため、「Altキー」で代用しているっぽい。

_ [Windows][雑記]WindowsにOSXのDockっぽいランチャを追加するアプリ

未確認だが、それっぽいアプリの中では、「XWindows Dock」というのが良さげ。

これ以外だと「Winstep Nexus Dock」というのもいい感じ。(http://www.winstep.net/index.asp?cat=nexus

時間ができたら試すかも。Mac持ってないけどね!

_ [Ubuntu][Linux][雑記]UbuntuにOSXのDockっぽいランチャを追加するアプリ

未確認だが、それっぽいアプリの中では、「Cairo-Dock」というのが良さげ。

インストールはココ(http://developer.berlios.de/project/showfiles.php?group_id=8724&release_id=13820)からソースかdebパッケージを取ってきて入れるだけー。

これ以外だと「Avant Window Navigator」というのもあるらしいが、正常に動かすまでの設定が不便でやや重めっぽい。

*アプリケーションの追加と削除で「Avant」で検索すれば出てくるとの噂も・・・(未確認)

時間ができたら試すかも。Mac持ってないけどね!

_ [Ubuntu][Linux][研究関係]XTestライブラリがないと言われた場合

 $ sudo apt-get install libxtst-dev

で入れられる。


2009/11/06(Fri) フライング気味に・・・ [長年日記] 編集

_ [FC][Ubuntu][Linux][Windows][研究関係][雑記]LinuxにVNCサーバを設定する

安易なVNCの使用は本気で危険なので、自己責任でお願いします。というか、自分のやったことに責任を持てない人はやめた方がいいです。

vinoを使う(Ubuntuの場合)

UbuntuにはデフォルトでVNCサーバ(vino)が入っている。

なので、特にこだわりがなければ、これを使えばいい。

使い方は、

 「システム」→「設定」→「リモートデスクトップ」

で、「共有」の下の

 「他のユーザが自分のデスクトップを表示できる」
 「他のユーザがデスクトップを操作できる」

の両方にチェックを入れるだけ。

ただし、「セキュリティ」の下の

 「このマシンへの接続を毎回確認する」

にチェックが入っていると、毎回サーバ側で許可をする必要があるため、非常に不便。

なので、自分はセキュリティは落ちるが、コレのチェックを外し、代わりに

 「パスワードの入力を要求する」

を有効にしている。(右側のスペースにパスワードを入れる)

「通知スペース」の設定はご自由に。

丁寧なことに、接続するためのアドレスや名前も表示されているので、好みのビューワでそれにアクセスすればリモートで操作できる。

(Ubuntu以外のLinux、というか、ファイアーウォールが動いているOSのためにメモるが、vinoはポート5900番を開ける必要がある)

かなり使い勝手がいいが、こちらの操作に合わせてサーバ側の画面も連動して動くため、やや重め。

また、複数のユーザが入ったり、ログイン画面から起動ができないのが不便。

vnc4serverを使う

vinoとはちょっと使用用途が違う感じのするVNCサーバ。

Ubuntuの場合
 $ sudo apt-get install vnc4server

でインストールし、パスワードを設定。

 $ sudo vncpasswd

なにも引数を与えなかった場合、パスワードは

 HOME/.vnc/passwd

に保管される。

で、実行。

 $ vncserver

しばらくすると何やらメッセージが出てくる。

ここで注目すべきは最後の行。

 Log file is /home/?????/.vnc/ubuntu???:1.log

と出ていた場合、":1"というディスプレイを使ってVNCが起動したことを示している。

これで、VNCビューワから接続できる。

*設定によっては、~/.vncがrootの所有になっている場合がある。 その場合は一般ユーザでvncserverが立てられないため、

 $ sudo chown -R {username} ~/.vnc

で所有者を自分にしておく({username}はユーザ名で置き換えること)

閑話休題。

このままだとウィンドウマネージャがtwmなので使いづらい。

というか、自分の環境だと表示できなかった。

なので、vncserverのXの設定ファイル(~/.vnc/xstartup)を(各ユーザ毎に)若干書き換える。

(~/.vnc/xstartupは一度vncserverを起動させていないと生成されないっぽいので注意)

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

を、

# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
/bin/sh /etc/X11/xinit/xinitrc
exit $?

に変更。

もしくは、

 $ cd ~/.vnc
 $ mv ./xstartup xstartup_bak
 $ ln -s /etc/X11/Xsession xstartup

とすれば現在自分が使っているXの設定をそのまま使えるので、どちらを使うかはお好みで。

FCの場合
 # yum install vnc vnc-server

でインストールし、パスワードを設定。

 # vncpasswd

なにも引数を与えなかった場合、パスワードは

 HOME/.vnc/passwd

に保管される。

<!!ココから!!>

/etc/sysconfig/vncserversを以下のように変更

  1. VNCSERVERS="2:myusername"
  1. VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"

VNCSERVERS="1:root"

VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd"

<!!ココまでは、別になくてもよさそう?!!>

で、実行。

 $ vncserver

しばらくすると何やらメッセージが出てくる。

ここで注目すべきは最後の行。

 Log file is /home/?????/.vnc/ubuntu???:1.log

と出ていた場合、":1"というディスプレイを使ってVNCが起動したことを示している。

これで、VNCビューワから接続できる。

*設定によっては、~/.vncがrootの所有になっている場合がある。 その場合は一般ユーザでvncserverが立てられないため、

 # chown -R {username} ~/.vnc

で所有者を自分にしておく({username}はユーザ名で置き換えること)

閑話休題。

このままだとウィンドウマネージャがtwmなので使いづらい。

なので、vncserverのXの設定ファイル(~/.vnc/xstartup)を(各ユーザ毎に)若干書き換える。

FCの場合は、単純にコメントから出して

# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc

にするだけでいい。

(/etc/X11/xinit/xinitrcの実行権の問題らしい)

*vncサーバ用ポート5901を許可する

GUIで設定してもいいが、/etc/sysconfig/iptablesに以下の一文を追加し、

 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT

再起動してもいい。

 # /etc/init.d/iptables restart

*VNC Viewerで開いた場合に、

GNOME 設定デーモン (gconfd) を起動する際にエラーが発生しました。〜

というエラーが出る場合、

 # yum install dbus-x11

を行えば解決できる。

vnc4serverをログイン画面から有効にする

先ずはxinetdをインストール。

 $ sudo apt-get install xinetd

んで、xinetdを使ってvnc4serverを起動させるために、/etc/xinetd.d/xvncを設定。

service xvnc
{
disable = no
socket_type = stream
wait = no
user = nobody
group = tty
server = /usr/bin/Xvnc
server_args = -inetd -geometry 1280x1024 -depth 24 -query localhost -once PasswordFile=/etc/vnc_passwd -extension XFIXES
}

サービスとして起動させるため、/etc/servicesに以下の記述を追加。

 xvnc 5901/tcp # VNC Server

これで5901ポートでVNCサーバが動くようになる。

で、/etc/xinetd.d/xvncに書いたように、パスワードの場所としてデフォルト以外の場所を指定したので、パスワードを設定しなおす。

 $ sudo vncpasswd /etc/vnc_passwd

さらに、/etc/xinetd.d/xvncに書いた通りに所有者とグループを変更する。

 $ sudo chown nobody.tty /etc/vnc_passwd

さらに、リモートからのログインができるように、/etc/gdm/gdm.conf-customの[xdmcp]の下にEnable=trueに書き換える。

(これはGUIで「設定」→「ログイン画面」からでも設定できる)

[xdmcp]
Enable=true

これで(サービスの)再起動後は、/etc/servicesに設定したポート(5901番ポート)にアクセスすればリモートで操作できるはず。

サーバを停止するには

 $ vncserver -kill :1

のように、

 $ vncserver -kill [ウインドウ番号]

とすればOK。

ビューワを入れる

「Ultr@VNC」とか「RealVNC」とか、いろいろあるので自分の好きなのを選べばOK。

基本的にはどれからでもつながるはず。

Good luck.


2009/11/09(Mon) ホルモンうめぇ!? [長年日記] 編集

_ [Firefox][Ubuntu][Windows][FC][Linux][雑記]Firefoxにインストールされているプラグインを確認

アドレスバーに

 about:plugins

を入力すれば、インストールされているプラグインの一覧が表示される。

_ [Firefox][Ubuntu][FC][Linux][雑記]Firefoxにadobeのflashプレイヤーを導入

公式サイト

http://www.adobe.com/jp/products/flashplayer/

から、.tar.gzファイルをDLし、解凍。

.soファイルが出来るので、~/.mozilla/plugins/に入れる。

 $ mkdir ~/.mozilla/plugin
 $ mv libflashplayer.so ~/.mozilla/plugin/

後は再起動すればきちんと導入されているはず。


2009/11/10(Tue) アップグレードは危険だ [長年日記] 編集

_ [FC][Ubuntu][Linux][研究関係][雑記]ファイルシステムを強制的にチェックする

単純な話、e2fsckを実行すればいいだけ。(ディスクサイズにもよるが、基本的にめちゃくちゃ時間がかかります)

が、e2fsckを実行するときは、チェックしたいデバイスをアンマウントしなくてはならない。

と、いうことで、今まで使っていた以外のLinuxから動かす必要がある。

そこでKnoppixやUbuntuのようなCDからブートできるLinuxを使う。

これらにはe2fsckだけでなくパーティション操作用のgparted等もデフォルトで入っているので、いざというときの為にも一枚持っておいて損はない。

閑話休題。

これらを起動させ、端末で以下のコマンドを実行(/dev/hha2をチェックしたい場合の例)

 # e2fsck -c -f /dev/hda2

ここで、/dev/hda2は必ずアンマウントしておく事。

なお、不良ブロックが見つかると、修復するかどうかを確認するメッセージが表示される。

が、大量にある場合は毎回キーを入力するのが面倒になる。というか、ずっと画面の前についているのは時間がもったいない。

その場合は-pオプションを指定すれば、全てにyesと答えた事になる。

 # e2fsck -c -f -p /dev/hda2

2009/11/11(Wed) あがー [長年日記] 編集

_ [FC][Ubuntu][Linux][研究関係][雑記]Linuxにsshでログインできるようにする

ログインしたい対象のLinuxにopenssh-serverを入れればいい。

 $ sudo apt-get install openssh-server

もしくは

 # yum install openssh-server

(opensshおよびopenssh-clientはデフォルトで入っているっぽい)

これで、

 $ ssh {username}@{computername}

で外部から入れるようになる。Xを使いたい場合は、

 $ ssh -X {username}@{computername}

のように-Xオプションをつける。

_ [FC][Ubuntu][Linux](vncserver起動時の)Xのエラー

sshで入ってvncserverを立ち上げようとしたら、次のようなエラーが出た

 $ xauth: error in locking authority file /home/{user}/.Xauthority

ls -alで調べたところ、所有者とグループがrootになっていた。

とりあえず、これらを削除。

 $ rm /home/{user}/.Xauthority*

んで、もう一度vncserverを立ち上げる。

すると、新しい.Xauthorityが作成され、正常に起動。

よし、とりあえずこれでいいか。

_ [FC][Ubuntu][Linux][Windows]Windows上で動作するTelnet/SSHクライアント

有名なところでは、「PuTTY」がある。

公式サイト(http://www.chiark.greenend.org.uk/~sgtatham/putty/)から.exeでダウンロード出来るが、どうも日本語が化けるっぽい。

なので、日本語を多用する場合は、こちら(http://hp.vector.co.jp/authors/VA024651/download.html)の、hdkさんが公開している日本語に対応したPuTTYを使ったほうがいい。

MenuからPuTTYjpを開き、DLする。

zip形式で圧縮されているので、好きな場所に解凍すればいい。で、puttyjp.exeを実行。

いろいろな設定が可能だが、特に使い方にこだわらなければ、デフォルト設定のままでも(おそらく)OK。

[セッション]の[ホスト名]の欄に自分のログインしたいホスト名(もしkはIPアドレス)を打ち込み、プロトコルを[SSH]にする。(ポート番号は22番でいいはず)

んで、[開く]をクリック。

ログイン名の入力を促されるので、入力し、パスワードを設定している場合はパスワードも入力。

これで中に入れるはず。

*PuTTYにはpscp.exeという、scpコマンドを行えるプログラムも付いている。使い方は、コマンドプロンプトを開いて、

 pscp.exe {転送元} {転送先}

とするだけ。Linuxのscpと基本的には同じ。

_ [FC][Ubuntu][Linux][Windows][研究関係][雑記]Windowsにリモートデスクトップ機能を使ってログイン

Windowsのリモートデスクトップ機能にアクセスするには専用のプログラムが必要となる。

windowsからアクセス

接続には「リモートデスクトップ接続」というソフトウェアを使う。

自分のXPにはデフォルトで入っていたが、入っていない場合にはココ

http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=80111f21-d48d-426e-96c2-08aa2bd23a49

から、「Windows XP Remote Desktop Connection software」をDLしてインストールする。

名称にXPと入っているが、サポートOSは

Windows 2000; Windows 95; Windows 98; Windows NT; Windows Server 2003; Windows XP

なので、XP以外でも使えるはず。

実行は、XPの場合は

 [スタート]-[すべてのプログラム]-[アクセサリ]-[通信]-[リモートデスクトップ接続]

Vistaの場合は

 [スタート]-[すべてのプログラム]-[アクセサリ]-[リモートデスクトップ接続]

すると、リモートデスクトップに接続するためのダイアログが表示されるので、IPアドレスやコンピュータ名を入力し、[接続]をクリック。

うまくいけば接続先のWindowsのログイン画面が表示されるので、ユーザ名やパスワード、ログイン先を入力し「OK」を押す。

これでOK。終わる時はちゃんとログオフすること。

Linuxからアクセス

接続には「rdesktop」というソフトウェアを使う。

Ubuntu9.04にはデフォルトで入っていたが、入っていない場合には公式サイト(http://www.rdesktop.org/)からソースをDLしてインストールするか、

 $ sudo apt-get install rdesktop

で入れる。

FCの場合は

 # yum -y install rdesktop

でいけるはず。

(まずあり得ないと思うが、rdesktop 1.10では、キー配列が101キーボードと認識されてしまうため、IMEによる日本語入力ができないらしい。古いVersionが入っていた場合は入れなおした方がいいかも)

で、インストールが終了したらX Window Systemを起動して、ターミナルから以下のコマンドを実行。

 $ rdesktop -k ja <ホスト名またはIPアドレス>

*ユーザー名を指定する場合は、「-u <ユーザー名>」オプションを追加する。

これで、rdesktopのウィンドウが開いて接続先のWindowsのログイン画面が表示される。 後はユーザ名やパスワード、ログイン先を入力し「OK」を押せばOK。

終わる時はちゃんとログオフすること。

_ [tDiary][雑記]整形済みのテキスト(ソースコードとか)をtDiary(2.1系以降)に貼り付ける

最近のWikiスタイルでは「<<<」と「>>>」で囲んだ部分も整形済みテキストとして認識するらしい。

【サンプル】
""aaa
''A''
【サンプル】

いままで一行ずつ頭に空白入れてたので面倒だったが、これならすぐ出来る。

これからソース等を載せる場合に使っていこう。


2009/11/12(Thu) 7、いいなぁ・・・ [長年日記] 編集

_ [Windows][雑記]Vistaでタスクバーから独立したツールバーを作る方法

XP以前では新規で作成したツールバーを、好きな場所に個別に独立させて配置出来た。

が、VISTAではタスクバー上で右クリックして「ツールバー」⇒「新規ツールバー」としても、タスクバーの中に新規ツールバーが配置されるだけで、独立したウィンドウとして動かせない。

("タスクバーを固定する"を外しても、タスクバーから分離して配置させることができない)

いろいろ調べてみたもののあまり情報がなかった(というか需要なさすぎ?)のだが、いろいろ試したところ、以下の方法でできた。

まず、デスクトップに「コンピュータ」を表示する。

表示されていない場合はデスクトップで右クリックし、「個人設定」⇒「デスクトップアイコンの変更」を開いて選択する。

で、デスクトップに出来た「コンピュータ」アイコンをマイクでドラッグし、画面の端(上下左右の好きな場所)に持っていき、ドロップ。

これで独立した(コンピュータの)ツールバーが作成される。

あとは普通のツールバーのようにカスタマイズしていく。

ツールバーにさらにツールバーを追加するには、

対象とするツールバーを右クリックし、

[ツールバー]⇒[新規ツールバー] から好きなものを選ぶだけ。

*自分は正直「コンピュータ」のツールバーとか使わんので、ツールバーを作成した後は追加で「クイック起動」を選択し、「コンピュータ」は外した。

これでタスクバー以外の場所に任意のツールバーを配置できる。

が!

実際にやってみれば分かるが、この方法で作ったツールバーはなんか見た目がしょぼい上、一度配置した後はドラッグ&ドロップで移動させられない。

・・・もしかしてコレって想定されてない使用方法?

ま、試したい人は自己責任で。

_ [Windows][研究関係][雑記]Windowsで使えるフリーのPDF閲覧ソフト

PDFリーダー

WindowsのPDFリーダーと言えば、真っ先に上がるのがAdobe Readeだろう。

なので、ここではそれ以外のフリーソフトを挙げる。

Brava! Reader

一つ目は「Brava! Reader」(http://www.bravaviewer.jp/reader.htm

これが今までで一番役立ったのは、間違って編集不可で作成してしてしまったPDFから画像や文章をコピー(というか救出?)する場合だったりする。

(当然のことながら、著作権的に問題のあるものに対しては使わないこと。編集不可になっている理由を考えるべし。なにかあっても自分は責任を持ちません)

PDF以外にもTIFF、XPS、CSFファイルに対応しているので、一部の形式のみだがCADデータとかも見れる。

ただ、Brava! Readerには約半年の利用期限が設定されていることに注意すべき。利用期限が過ぎたソフトウェアは利用できなくなるため、HPから最新バージョンをダウンロードして再インストールする必要がある。

が、バージョンアップ後も引き続き無料で利用できるので、フリーソフトと考えてなんら問題はないが、一応利用期限は気にしておくこと。

いざという時に期限が切れていたら予想以上にムカッとするよ。

PDF-XChange Viewer

二つ目は「PDF-XChange Viewer」(http://www.docu-track.com/

窓の杜でも扱っているので、英語が嫌いな人はこちら(http://www.forest.impress.co.jp/lib/offc/document/pdf/pdfxchange.html)から。

閲覧中のPDF文書内へ、四角形や円の囲み線を描き込むことができる。

また、プロパティ画面で線の色や太さを設定可能。

加えて、任意の場所へ文字を入力したり注釈を埋め込む機能も備えており、描き込んだPDFは、上書き・別名保存することが可能。

さらに、PDF文書内の選択ページや文書全体を画像としてエクスポートする機能も備える。

当然、印刷、検索、表示領域の拡大・縮小といった PDFビューワーとしての基本的な機能も備えている。

そもそもがPDFに書き込まれているはずのコメントがAdobe Readerで読めずに困っていた時に同じ研究室の仲間に教えてもらったのだが、正直、Adobe Readerよりよっぽど高性能。

とりあえずこれがあれば大体の作業は出来るはず。

_ [FC][Ubuntu][Linux][Windows][OpenCV][プロジェクト実習][研究関係][雑記]OpenCVで画素にアクセスする際の注意

というか、毎回俺が忘れて引っかかってるだけなんだが。

また今日もひっかかった・・・!

いいかげん情けないのでメモっとく。

画素データは直接intには入れられない!!

一旦uchraに入れてからint,double型などに入れる。(というか、この説明もかなり無茶苦茶だなぁ)

<例>カラー画像の場合

 int b,g,r;
 uchar uchar_b,uchar_g,uchar_r;
 uchar_b = img->imageData[img->widthStep * y + x * 3 + 0];
 uchar_g = img->imageData[img->widthStep * y + x * 3 + 1];
 uchar_r = img->imageData[img->widthStep * y + x * 3 + 2];
 b = uchar_b;
 g = uchar_g;
 r = uchar_r;

入れる場合も同様。

 int b,g,r;
 uchar uchar_b,uchar_g,uchar_r;
 uchar_b = b;
 uchar_g = g;
 uchar_b = r;
 img->imageData[img->widthStep * y + x * 3 + 0] = uchar_b;
 img->imageData[img->widthStep * y + x * 3 + 1] = uchar_g;
 img->imageData[img->widthStep * y + x * 3 + 2] = uchar_r;

そういや、サンプルコード(http://opencv.jp/sample/basic_structures.html#access_pixels)でもこんな感じでアクセスしてたなぁ・・・。

*100519

今更ながら理由が分かった。imageDataがcharだから、値の範囲が異なるんだ。


2009/11/13(Fri) 量子情報理論がわからん! [長年日記] 編集

_ [FC][Ubuntu][Linux][プロジェクト実習][研究関係]Linuxでデスクトップ録画(gtk-recordmydesktop)

「gtk-recordMyDesktop」というのが便利。

$ sudo apt-get install gtk-recordmydesktop

実行は

$ recordmydesktop output.ogg

事前に「ffmpeg」を入れておくといいという噂あり。

なお、JAVAで動いているらしいので、eclipseが動いていると動かないという説も。

_ [Windows][研究関係][雑記](学生専用情報)Microsoft Dream Sparkの使い方

**注意:とりあえず最後まで読んでから登録等の作業をした方がいいです**

**というか最後に<まとめ>を書いたので、それを見るだけでいいという説も**

「Microsoft Dream Spark」というものがある。

詳しくはHP(http://www.microsoft.com/japan/academic/dreamspark/default.mspx)を見てもらうとして、端的に言うと、

「学生を対象にMicrosoftの製品を無償提供するプログラム」

である。

対象商品は、

Visual Studio 2010 Ultimate Beta2
Visual Studio 2008
Visual Studio 2005
Windows Server 2008 R2 Standard
Windows Server 2008
SQL Server 2008 Developer Edition
XNA Game Studio 3.0
Expression Studio 3
Microsoft Robotics Developer Studio

などなど。

Visual Studio 2008 Professionalや、Windows Server 2008 R2 Standardって、普通十万ぐらいするよね!?

それが学生ならなんと無料で手に入る!

実際に買うと数十万ってレベルじゃねーぞ!?

これはお得!

今すぐアクセス!

・・・と、まあ、これだけ聞くと、すっっっっっっごく詐欺臭い。

が、これは本当だ。ちゃんとMicrosoftが提供しているサービスだし。

以前にゼミナールの授業で講演していただいたMicrosoftの人に時に教えてもらったので間違いない。

で、気になる対象者なんだが、

大学生
大学院生
専門学校生
高等専門学校生の 4,5 年生
生徒 (高校生) 版は認証方法が異なります

となっている。(専攻科生が明記されてないのは存在が微妙過ぎるからか?)

重要なことなので、先に利用上の制限について引用しておく。

  • DreamSparkで取得したソフトウェア製品は個人利用のみとなります。
  • DreamSparkを通じて製品を取得した学生はその学生が所有するデバイスに1つのコピーをインストールすることができ、所属する教育機関で履修する授業の学習や非商用の研究、それら以外の個人で行うデザイン、開発、テスト、デモンストレーション等にソフトウェアを利用することができます。
  • DreamSparkを通じて取得した製品の商用利用は許可されません。その他、学内でのITインフラストラクチャ利用なども許可されません。

※商用利用や許可されない学内での利用はライセンス違反となり、DreamSparkプログラムを通じて取得いただいたソフトウェアが利用できなくなります。

  • CAL(クライアントアクセスライセンス)の提供はありませんので、DreamSparkプログラムを通じて入手されたWindows Serverを利用してリソース管理、ファイルサーバー、アプリケーションサーバーなどを構築しクライアントPCの接続が必要なる場合、接続台数に合わせて別途CAlのご購入が必要となります。

まあ、こんな制限があるわけだが、それでも無料で使えるのはありがたい。

で、これを利用するには、Microsoft LiveのLiveID(無料で取得可能)に加え、

 国際学生証による認証

もしくは

 認証コードによる認証

が必要となる。

「国際学生証(http://isic.univcoop.or.jp/)による認証」が本来の認証方法だと思うし、こちらであればネットで調べればすぐに詳細な情報が出てくる。なので、よく分からない場合はこれを使うべき。

が、『そんなの持ってねーです』って場合には、新規でカードを作る必要がある。それにはカード代として「1,430円」が必要な上、意外と手続きが面倒。

(まあ、数十万の製品が手に入れるのに「1,430円」や書類を作る手間を惜しむと言うのも変な話だが)

なので、ここではもう一つの方法である25ケタの認証コードによる登録方法を解説する。

認証コードは、Microsoftがキャンペーンで配布する他、大学生SNS.com や LinNo などの SNS サイトへの登録で入手できる。

なので、どちらかに登録すればOKのはずなのだが・・・。

LinNoでは新規会員登録で自分の大学の名前を入れたら『そんな大学知らねーよ』的なメッセージが出て次に進めなかった。

知名度的な問題というよりは、どうやらLinNoは大学側で登録していないと新規会員登録ができないっぽい。

なので、半ば強制的に大学生SNS.com(http://r-sns.com/ )から申し込むことになったわけだが!

大学生SNS.comに登録したものの、認証コードの申し込み方が分からねぇぇぇぇ!?ただ登録しただけでは送られてこないのか!?

どうも、Microsoft Student Partnersというのがソレっぽいのだが、またしても登録が必要。正直、これ以上おそらく今後使わないであろうものに登録するのもなぁ・・・。

・・・ということで『えー、登録した意味ないじゃん』となってしまったわけだ、これがな!



''まだだ、まだ終わらんよ!''


いろいろ試したところ、大学生SNS.com内にこんなページ(http://r-sns.com/dreamspark/)を発見。

『Microsoft DreamSpark(マイクロソフト ドリームスパーク)× 大学生SNS.com』

外部からのリンクが貼られていないっぽいのが不安だが、試しに申し込んでみた。

申込フォームに上記の情報を登録して申し込む。

入力項目は氏名と大学名、それと""『学校から与えられた』メールアドレス""だけ!

・・・え、本当にこれだけ?

ま、いいか。申し込み!

で、2日後。

マジで認証コードがかかれたメールが届きました。

平日にしかメールが帰ってこないとは書いていたものの、土曜日に申し込んで、月曜日にメールが届くのは予想外(いい意味で)。

とりあえず、この方法で手に入った認証コードとLiveIDを使ってDreamSparkのサイト(https://www.dreamspark.com/)にSign In!

認証成功!

これでDreamSpark提供のソフトがDL出きるようになった。

*使用条件など、重要な説明は必ず確認すること!

以上!ガンバレ!

<考察>

実際、大学生SNS.comどうやって『学生』ということを認証しているんだろうか?

だって申し込んだ時は大学生SNS.comにログインしてなかったし。

学校側に問い合わせるのか?

ってか、それなら大学生SNS.comに登録しなくてもよかったんじゃね?

・・・・・・なんだ、この果てしなくグレーゾーンっぽい方法!?

*と、思ったが、よくよく考えるとMicrosoft自体もキャンペーンとか言って学生以外にも認証コードばらまいたりしてるので、別にこれは問題ないのかも?

<まとめ>

ということは、

  • 大学生SNS.comに登録『しない』
  • 認証コード申し込みページ(http://r-sns.com/dreamspark/)にアクセス
  • 氏名と大学名、『学校から与えられた』メールアドレスを入力し、申し込み
  • Microsoft Live IDを申し込み(http://www.microsoft.com/japan/mscorp/liveid/default.mspx
  • 申し込み後、すぐにLive IDが届く
  • 数日後、認証コードが届く
  • DreamSparkにアクセス
  • Live ID でサインイン
  • DreamSpark で認証
  • Congratulations!
  • 好きなソフトをダウンロード!

で、いいのか?

長々と書いたくせにまとめると意外にシンプル。

まあ、大学生SNS.comに登録『しない』って辺りにかなり問題がある気もするので、自分のように一応は登録をしたほうがいいかもね。

_ [Windows][研究関係][雑記]Windows Server 2008(R2に非ず)をVista化する

実は、「Windows Server 2008」は、OS「Windows Vista」と同じカーネルで動いているらしい。

なので、Windows Server 2008 を実行しているコンピュータで Windows Vista のユーザー エクスペリエンス機能を有効にすれば、Windows Server 2008を(ほぼ)Vista化できるようだ。

*ま、あくまでVistaっぽくするだけなので、ゲームやマルチメディア・アプリケーションなどは利用できない(と公式には言われている)わけだが。

詳しい情報はMSのサポートページ(http://support.microsoft.com/kb/947036/ja)を参照の事。

加えて、Vistaでメモリを4GB以上使おうとすると64bit版を使うしかないないわけだが、Windwos Serverでは物理アドレス拡張を行うことで、32bit版でも4GBを超えてメモリを使うことができる(らしい)。

とりあえず以下にその方法をまとめる。

<参考ページ>

http://www.atmarkit.co.jp/fwin2k/win2ktips/1146w2k8aero/w2k8aero.html

http://support.microsoft.com/kb/947036/ja

http://type-y.com/2009/11/windows-server-2008-vista.html

-1. 物理アドレス拡張を有効化

4G以上積んでいる人向け。それ以外の人はしなくていい。

コマンドプロンプトで以下のコマンドを実行。

 bcdedit /set pae forceenable

これだけでOK。

*システムやインストールしているデバイス、ソフトウェアなどにより、PAEを有効にするとシステムが起動しないなどのトラブルが発生することがある。

システムが起動しなくなった場合は、システム起動時に[F8]キーを押してセーフ・モードで立ち上げ、以下のどちらかの方法で復旧させる。

  • 「bcdedit /set pae forcedisable」でPAEを無効にする。
  • 「bcdedit /set pae default」でデフォルト状態に戻す。

0. Windows Aero対応のグラフィック ドライバを入手する

これはAeroを使わない場合は別にしなくてもいい。

x86用とx64用の2種類があるので、適切なドライバを入手してインストールする。

*Windows Server 2008用のデバイス・ドライバはWindows Vista用と同じなので、Windows Vista用ドライバが動作するはず。

1. [デスクトップエクスペリエンス]機能を追加

[スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリック。

services.msc と入力して[OK] を押し、[サーバーマネージャー] を開く。

[サーバーマネージャー] - [機能] - [機能の追加] より [デスクトップ エクスペリエンス] を追加。

導入途中で再起動を促されるので再起動する。

2. Themesサービスを[無効]から[自動]に変更

[スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリック。

services.msc と入力して[OK] を押し、[サーバーマネージャー] を開く。

[サーバーマネージャー] - [機能] - [サービス] より [Themes]を開く。

Themesのプロパティを開き、スタートアップの種類を「自動」へ変更。

適用ボタンを押すと「開始」ボタンが押せるようになるのでくりっくしサービスを開始する。

(ThemesはAeroを制御するためのサービス)

細かな設定

[コントロールパネル] - [個人設定] - [ウィンドウの色とデザイン] より、配色を「Windows Vista ベーシック」に変更すると、Vistaテーマを使用可能に。

同様に「Windows Aero」に変更するとAeroテーマが使用可能に。

【補足情報】

*Windows SideBarは使えないこともないっぽいが、調べて出てきた方法がかなりグレー、というかブラック(Vistaからそのままコピー)だった ので止めておいたほうがいい。

*ウィルス対策ソフトは普通のOSに対してはフリーでも、サーバOSに対しては有料というものもあるので注意。

<余計な一言>

Windows Server 2003とWindows XP

Windows Server 2008とWindows Vista

Windows Server 2008 R2とWindows 7

は、それぞれ同じカーネルを使っており、ソフトウェアコンポーネントもほとんど同じらしい。

後は分かるな?


2009/11/18(Wed) 課題が多いぜ [長年日記] 編集

_ [Ubuntu][Linux][OpenHRP3][OpenRTM][研究関係][プロジェクト実習]OpenHRP3のインストール方法

OpenRTM0.42が既に入っている前提で書く。

ちなみにUbuntuのバージョンは9.04で確認した。(途中で、8.10用の導入スクリプトを使ったが、一応大丈夫だった)

本当は9.04は対応していないので、8.10とかでやる方が確実。

まあ、HPが割と充実しているので、その通りにやるだけでいいのだが。

*1.0には対応していないため、OpenRTM-aistの自動アップデートは停止しておくこと!

グラフィック能力を確認

割とグラフィカルなソフトので、パソコンで3Dグラフィックスが正常に動作するかをまず確認。

端末を開いて次のコマンドを実行。

 $ glxinfo | grep rendering

結果が "direct rendering: Yes" であれば、問題なく使える。

NOの場合は、頑張ってグラフィックカードを入れる。もしくは諦める。

自動で入れてくれないソフトをインストール

OpenHRP3のHPに.debパッケージがあるので、

$ dpkg -i tvmet_1.7.1-1_i386.deb

関連ソフトをインストール

まず、ソースをDLして解凍。

$ cd 
$ mkdir OpenHRP
$ cd OpenHRP
$ unzip (ソースパッケージダウンロード先)/OpenHRP-xxx.zip 

で、今の安定版はOpenRTM1.0に対応していないので、

OpenHRPソースパッケージディレクトリにあるパッケージ導入スクリプトで使用するpkg_install_ubuntu.shを次のように変更する。(1.0を勝手に入れないようにする)

#openrtm="openrtm-aist openrtm-aist-doc openrtm-aist-dev openrtm-aist-example python-yaml"
openrtm="python-yaml"

変更後、パッケージ導入スクリプトを実行

$ cd OpenHRP-xxx/util
$ ./installPackages.sh packages.list.ubuntu.8.04

念のため、システムの標準Java環境を切り替える。

$ sudo update-java-alternatives -s java-6-sun

これでjava のバージョンが java-gcj からsunの1.6に切り替わったはず。

$ java -version

で確認できる。

コンパイルの準備

OpenHRP3では、コンパイルのための設定をソースディレクトリ中の "Make.vars" というファイルで行う。

詳しい説明はHPの 「MakeコマンドによるOpenHRPのコンパイル」ページを参照の事。デフォルトでいい場合はコピーするだけでいい。

まず、コマンドライン上でOpenHRP3のソースディレクトリへ移動。

 $ cd ~/OpenHRP/OpenHRP-xxx

んで、デフォルトの設定ファイルをコピーする。

 $ cp Make.vars.ubuntu.8.10 Make.vars

ここまで済んだら祈りを込めてコンパイル。

 $ make

make installはないっぽいので、自分の好きな場所に配置すればOK。

以上!

_ [Ubuntu][FC][Linux][OpenRTM][OpenHRP3][プロジェクト実習][研究関係]OpenRTM-aistの自動アップデートを停止させる

メニューから

 システム −> システム管理 −> ソフトウェアソース

英語の場合は、

 System -> Administration -> Software Sources

を選択し、

"サードパーティのソフトウェア"タブを開き、OpneRTM項目のチェックを外す。

ただそれだけ。

_ [tDiary][雑記]tDiaryのデータをHTML化する

tDialyでは日記データがよく分からない大きなファイルの塊で保存される。

が、自分の日記のようにメモ書きとして使っている場合には、一部だけをコピーして保存等が出来ない為、不便である。

ここで、tDiaryには静的なHTMLを生成するためのsqueezeというプラグインがある。

詳細はこちら(http://www.yotabanana.com/hiki/ja/squeeze.rb.html)。

自分の目的(メモの保存)という点ではこれで十分使える。

が、squeezeプラグインが出力するHTMLはあくまで検索エンジンへの入力データとしてのHTML生成を目的としたものである為、実際の表示とは異なる部分が多い。

これをどうにかできないものかと調べてみたところ、 「ククログ」というHPで、CGIで出力されている内容と同じように表示されるHTMLを生成するスクリプト「html-archiver.rb」(http://www.clear-code.com/blog/2009/4/6.html)が見つかった。

ライセンスがGPLだったので自分の環境で使わせてもらったところ、「squeeze.rb」に比べてよりWebで閲覧した場合に近いhtmlが作成されるので、かなりいい感じ。

気になる人は実際に「ククログ」さんに行って調べて下さい。他にもいろいろ面白いのがありそうです。


2009/11/19(Thu) 今週末は帰省 [長年日記] 編集

_ [Ubuntu][Linux][研究関係][プロジェクト実習]Ubuntuで起動時のチェックディスクエラーを直す

Ubuntuでシャットダウンが正しく行われなかった場合、起動時に

"unclean shutdown,checking devices"と表示され、

自動でディスクエラーチェックが行われる。

ESC押下で回避も出来るが、これはあくまでチェックを後回しにしただけで、その後も起動時毎にチェックディスクを行おうとするのでかなりウザい。

しかも、時間をかけてエラーチェックを行ったとしても、エラーを修復する権限がない(rootじゃない)と言われ、修復は出来ない。

なので、表示されるメッセージに従い、root権限でエラーを修復する必要がある。

修復したい場合は、チェックディスク終了後、再起動せずにControl+Dを押す。

するとコンソールが表示されるので、次のコマンドを打ち込む。

 # fsck -y /dev/sda1 #←エラーになったドライブ

ドライブの一覧を見るには次のコマンドで。

 #fdisk -l

これでエラーが修復され、起動時のディスクエラーチェックが行われなくなる。

_ [未まとめ] 後で確認する為のメモ

ノートPCの無線LAN接続をiPod touchでも使用出来るようにする

http://kamogaroom.blogspot.com/2008/03/pclanipod-touch.html

WindowsXPノートPCとiPod touchで無理矢理ネットする

http://orbit.air-nifty.com/orbit1/2007/10/windowsxppcipod_b450.html


2009/11/20(Fri) 多謝って今まで中国語だと思ってた・・・ [長年日記] 編集

_ [Ubuntu][Linux][Tex][プロジェクト実習][研究関係]Ubuntuにtex環境を入れる

*基本的にはこちら(http://d.hatena.ne.jp/hayamiz/20081111/1226403768)を参考にした。

Ubuntuだとapt-get等が使えるので、比較的簡単にインストールできる。

 $ sudo apt-get install texlive texlive-latex-extra dvipng latex-xft-fonts okumura-clsfiles xdvik-ja dvipsk-ja latex-cjk-japanese latex-cjk-japanese-wadalab jbibtex-bin mendexk xpdf xpdf-japanese gv gs-cjk-resource cmap-adobe-japan1 cmap-adobe-japan2 cmap-adobe-cns1 cmap-adobe-gb1 cmap-adobe-korea1 nkf

これで必要なソフトは全て入ったはず。

きちんと日本語を含んだtexファイルをコンパイルできることを確認。

バージョンにもよるかもしれないが、文字が汚い場合が多いと思う。

なので、フォントの設定方法もメモっておく。

まず、

 $ sudo jisftconfig add

次いで、/etc/texmf/vfontmap.d/20ptex-jisfonts.map の内容を次の様に書き換える。

### For ptex-jisfonts
/usr/share/fonts/truetype/kochi/kochi-mincho.ttf
        rml-jis         JIS-H
/usr/share/fonts/truetype/kochi/kochi-gothic.ttf
        gbm-jis         JIS-H

から

### For ptex-jisfonts
@Mincho Roman|Mincho@
        rml-jis         JIS-H
@Gothic SansSerif|Gothic@
        gbm-jis         JIS-H

のように変更。で、

 $ sudo update-vfontmap

を実行するとjsarticle でも IPAモナーフォントで表示できるようになる。当然、指定するフォントを変えることで、別のフォントも使える。

*Ubuntuのデフォルトの文字エンコードはUTF-8。

が、texはEUCを想定している為、UTF-8で書いたtexファイルでは文字化けが生じる。

なので、あらかじめEUCで表示するか、nkfで文字コードを変更すること。

_ [Ubuntu][FC][Linux][OpenAL][プロジェクト実習][研究関係]OpenALのインストール

研究で本格的にOpenALを使うことになりそうなので、とりあえずメモを残していくことにする。

基本的にUbuntu9.04でのメモなので、それ以外で使えるかどうかは知らん。

全ての基本となる公式HPはここ。(http://connect.creativelabs.com/openal/default.aspx

ここからソース等を落としてきてインストールするわけだが、Ubuntuの場合は、apt-getが使える。

Ubuntuの場合

 $ sudo apt-get install libopenal-dev

でOpenalを、

 $ sudo apt-get install libalut-dev

でALUTをインストール可能。

もしUbuntuで使うなら、これがおすすめ。

ソースからコンパイル(ほぼ未検証)

ソースからだとちょっと面倒。

OpenALをインストール

HPからDownloadsを開き、まずはopenal-soft-1.10.622をDL。

解凍して中に入り、

 $ cmake CMakeLists.txt

でmakefileを作成し、

 $ make
 # make install

でインストール。

ALUTをインストール

HPからfreealut-1.1.0.tar.gzをDL。

解凍して中に入り、

 $ ./configure
 $ make
 ( $ make check )
 $ make install

でインストール。

多分これでOK。

_ [Ubuntu][FC][Linux][OpenAL][研究関係]シンプルなOpenALプログラム

超単純なOpenAL+ALUTプログラム。

基本的にはALUTの「Example: 'Hello, world' in ALUT」(http://connect.creativelabs.com/openal/Documentation/The%20OpenAL%20Utility%20Toolkit.pdf)をちょこっといじっただけ。

ALUTを使うことで、ファイルの読み込み等がかなりシンプルに!

simple_sound.cpp

#include <cstdlib>
#include <AL/alut.h>
#include <cmath>
using namespace std;
int main (int argc, char **argv)
{
  ALuint buffer, source;
  alutInit (&argc, argv);
  buffer = alutCreateBufferHelloWorld ();//Hello Wordl!
//  buffer = alutCreateBufferFromFile (argv[1]);//再生する音源を指定したい場合
  alGenSources (1, &source);
  alSourcei (source, AL_BUFFER, buffer);
  float sita(0.0);
  ALenum state;
  /*リスナのまわりを音源が回る*/
  for (int i = 0; i < 30; i++)
  {
	sita=sita+M_PI/6.0;
	alSource3f(source,AL_POSITION,cos(sita), sin(sita), 0);
	alSourcePlay(source);
    	alGetSourcei(source, AL_SOURCE_STATE, &state);    

    	while(state == AL_PLAYING)
	{
	    alGetSourcei(source, AL_SOURCE_STATE, &state);
	}
  }
  /*リスナが速度20で音源に近づき、抜き去る*/
  for (int i = 0; i < 15; i++)
  {
	alListener3f(AL_POSITION,0,0,15-2*i);
	alListener3f(AL_VELOCITY,0, 0, 20);	//ドップラー効果を付加
	alSourcePlay(source);
    	alGetSourcei(source, AL_SOURCE_STATE, &state);    

    	while(state == AL_PLAYING)
	{
	    alGetSourcei(source, AL_SOURCE_STATE, &state);
	}
  }
  /*後始末*/
  alDeleteSources(1, &source);
  alDeleteBuffers(1, &buffer);
  alutExit ();
  return EXIT_SUCCESS;
}

<コンパイル>

こんな感じで。

 $ g++ simple_sound.cpp -lalut -lopenal -pthread -o simple_sound

<補足>

buffer = alutCreateBufferHelloWorld ();

buffer = alutCreateBufferFromFile (argv[1]);

に書き換えると、

引数に与えた音ファイルを読み込んで再生する。

対応するフォーマットは、完全にALUTまかせなのでよく分からん(ドキュメントが見つからない・・・)が、とりあえずwavが再生できることは確かめた。

_ [Ubuntu][FC][Linux][OpenAL][研究関係]sin波から音を再生するOpenALプログラム

こちら(http://sugarpot.sakura.ne.jp/yuno/?OpenAL%E3%81%AE%E3%83%86%E3%82%B9%E3%83%88)とこちら(http://island.geocities.jp/v_no11/programing/OpenAL.html)を参考にさせてもらいました。多謝。

sin_wave.cpp

#include<cmath>
#include<AL/alut.h>
using namespace std;
int main(int argc, char** argv)
{
	alutInit(&argc,argv);
	ALuint buffer, source;
	alGenBuffers( 1, &buffer );
	alGenSources( 1, &source );
	/*sin波を作成*/
	const int freq = 10000 , Hz = 440;
	ALshort data[freq/Hz];
	for (int i = 0; i < freq/Hz ; ++i)
	{
		data[i] = 32767 * sin(i * M_PI * 2 * Hz / freq);
	}
	alBufferData( buffer, AL_FORMAT_MONO16, data, freq/Hz*sizeof(ALshort), freq );
	alSourcei( source, AL_BUFFER, buffer );
	alSourcei( source, AL_LOOPING, AL_TRUE );
	alSourcePlay( source );
	/*後片付け*/
	alutSleep (1);
	alDeleteSources(1, &source);
  	alDeleteBuffers(1, &buffer);
  	alutExit ();
	return 0;
} 

<コンパイル>

 $ g++ sin_wave.cpp -lalut -lopenal -pthread -o sin_wave

以下、こちら(http://island.geocities.jp/v_no11/programing/OpenAL.html)からの引用。

keypoint

const int freq = 10000 , Hz = 440;では、サンプリング周波数を10000Hz、音階が440Hz(「ラ」)としています。for文でそのデータを作っています。

以下でバッファに音データを渡します。

alBufferData( buffer, AL_FORMAT_MONO16, data, freq/Hz*sizeof(ALshort), freq );

第2引数のAL_FORMAT_MONO16とはモノラルの16bit-PCM音源であることを示しています。

第4引数は渡すデータの長さをbyte単位で渡します。第4引数はサンプリング周波数です。

ここでは1波長分しか音データを作成していないのでループ再生させるため

alSourcei( source, AL_LOOPING, AL_TRUE );

を呼んで、ループ再生をオンにしています。

comment

32767という数字は符号付16bitの数が、-32768〜32767だからです。

AL_FORMAT_MONO16のほかにもAL_FORMAT_MONO8は8bit-PCM音源を表し、0〜255の値で表します。

AL_FORMAT_STEREO16はステレオの16bit-PCM音源を表します。データは左右左右・・・と交互に並べます。

AL_FORMAT_STEREO8はステレオの8bit-PCM音源を表します。

*気になった点を追加で調べた。

ALshortの型

/usr/include/AL/al.hを確認したところ、

/** signed 16-bit 2's complement integer */
typedef short ALshort;

らしい。

今回のプログラムで波形を整形する際の計算で整数と小数がごちゃ混ぜになっているのがちょっと微妙。

が、試しに正しく小数点以下まで扱うようにして見た場合でもあまり差が感じられなかった。むしろ遅延が生じてブツブツと途切れやすい。

なので、これはこれでいいのかも?

_ [Ubuntu][FC][Linux][OpenAL][プロジェクト実習][研究関係]oggファイルを扱うプログラムをコンパイル

コンパイル時に次のオプションを追加。

 -lvorbisfile -lvorbis -logg

なので、例えばOpenALでOggプレイヤーを作りたい場合には、

$  g++ hogehoge.cpp -lalut -lopenal -lvorbisfile -lvorbis -logg -o hogehoge

とする。

_ [Ubuntu][FC][Linux][OpenAL][プロジェクト実習][研究関係]OpenALでストリーミングを行う方法(1)

とりあえずやり方をメモる。

参考サイト:

http://sites.google.com/site/117florian/gijutsu-bunsho/openal

http://sugarpot.sakura.ne.jp/yuno/?OpenAL%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%9F%E3%83%B3%E3%82%B0%E5%86%8D%E7%94%9F

<基本的な流れ>

   1. Bufferを作成(Nameを取得)
   2. Bufferに波形を登録(Bufferは複数のSourceで共有可能)
   3. Sourceを作成(Nameを取得)
   4. SourceにBufferを登録
   5. Sourceをplay 

定期的にポーリングして、2つめが再生が始まった時点で次の一つを登録することでストリーム再生が出来る。

<もう少し詳しく>

基本的には、バッファを2個以上作ってキューとデキューで実現する。

alSourceQueueBuffers(source, 1, &buffer);

で source に buffer をキュー。、

alGetSourcei(source, AL_BUFFERS_PROCESSED, &n)

で処理済みのバッファ数を取得。

alSourceUnqueueBuffers(source, 1, &buffer);

でバッファ取り出し。

*どうもキューを使うと属性が変えられないっぽい。もう少し調べる。

_ [tDiary][Ubuntu][Linux][FC]tDiary導入時のメモ

本日記はtDiary(http://www.tdiary.org/)というツールを使って作成している。

元々先輩が使っていたのを見て使い始めたのだが、これが意外と使いやすい。

導入方法自体はHPからDLしたソフトを解凍すれば詳細を書いたドキュメントが入っているので、それに従えばいい。

なので、ここでは自分が導入時に、ちょっとだけ手間取った部分をメモる。(versionは2.2.2)

権限の問題

日記のデータを置く場所の権限は755ではダメっぽい。777にしたらいけた。が、かなり危険なので、なんらかの策を講じること。

.htpasswdの作り方

基本的にはhtpasswdコマンドやhtpasswd2コマンドを使って作成する。

<例>

 $ htpasswd2 -c .htpasswd akihiro-i
 パスワードを入力
 パスワードを再度入力

.htpasswd に記載される情報は、アカウント名と暗号化されたパスワード。

アカウント名とパスワードは「:(コロン)」で区切られる。

複数のアカウントを指定する場合は、改行をして次の行に記述される。

日記ページの更新

日記ページの更新はWeb上から出来る。

なおこの場合のユーザ名とパスワードはhtpasswdで決めたもの。

_ [FC][Ubuntu][Linux][OpenGL][プロジェクト実習][研究関係]OpenGLのインストール

 $ sudo apt-get install freeglut3-dev freeglut3-dbg libxmu-dev libxi-dev build-essential

これでOK。

_ [FC][Ubuntu][Linux][OpenCV][プロジェクト実習][研究関係]OpenCVのインストール

$ sudo apt-get install libcv-dev
$ sudo apt-get install libcv1
$ sudo apt-get install libcvaux-dev
$ sudo apt-get install libcvaux1
$ sudo apt-get install libhighgui-dev
$ sudo apt-get install libhighgui1
$ sudo apt-get install opencv-doc

これでOK。(IEEE1394を使いたい場合は以前の記事を参照のこと)


2009/11/30(Mon) ザ・サードの新刊発売まで後20日 [長年日記] 編集

_ [FC][Ubuntu][Linux][プロジェクト実習][研究関係]/dev/dsp がサポートしている機能を確認する方法

こちらのサイト(http://homepage3.nifty.com/rio_i/lab/oss/003dsptest.htm)のサンプルプログラムを使わせていただくのが最善かと。

全二重モードに対応しているかとかを調べるのに便利。