2014-06-24

SOCKSを通した遠隔マシンからのアクセス

ウェブサイトによっては, アクセス元を制限していることがある. このような場合, OpenSSH の「動的アプリケーションレベルポートフォワーディング」を使用すると簡単に対処できる.

以下に例を示す.

$ ssh -NfD 1080 host.example.com
$ google-chrome --proxy-server=socks4://localhost:1080
ssh にて1080番ポートのフォワーディングを行い, google-chrome を1080をプロキシとして起動する.
なお, socks4 のかわりに socks5 でもよい.

SOCKS5 では, ドメイン名にて接続先のホストを指定することができる. 使用するクライアントの実装に依存するが, google-chromeでは SOCKS5ではサーバ側で名前解決が行われるようだ.

2014-06-21

LaTeX での文字サイズ

LaTeX にて \tiny により小さい文字にできるが, 縦横比が変わり, 上下にへしゃげた文字になる. そのままの縦横比で小さくするには, \scalebox の方がよさそうだ. 図表の中の文字サイズを変えるときに便利.

2014-06-19

Windows7におけるシリアルポートへのアクセス

Windows 7 にて, シリアルポートにアクセスしようとすると, CreateFile が失敗し, GetLastError が 2 を返す. ERROR_FILE_NOT_FOUND, 「指定されたファイルが見つかりません。」というエラーらしい.

このサイトによると権限が無いときにこのエラーになるらしい. プログラムを実行するときに, 右クリックし, 「管理者として実行(A)」をしたら, シリアルポートにアクセスできるようになった.

本来は, ユーザ権限で動作するプロセスにシリアルポートへのアクセスを許すような権限の変更を行うべきなのだろうが...

なお, C言語でのコードは以下の通り.

char s[] = "\\\\.\\COM1";
handle = CreateFile(s, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
バックスラッシュがたくさんあるが, C言語におけるエスケープが行われた後, \\.\COM1になる.


  • iBuffalo BSUSRC0610BS は, FTDI のチップが入っていて, 好評らしい.
  • エムサーブ HL-340 は, 変換名人のものと色が似ているが, 好評.
  • 一方で変換名人の USB-RS232 は悪評. PID/VID は PL2303 だが載っているチップは別物との情報も!