情報科学屋さんを目指す人のメモ(FC2ブログ版)

何かのやり方や、問題の解決方法をどんどんメモするブログ。そんな大学院生の活動「キャッシュ」に誰かがヒットしてくれることを祈って。

AutoHotkeyでWindow TitleとWindow Classの同時指定を行う方法 このエントリーを含むはてなブックマーク

AutoHotkeyでウィンドウを指定する

AutoHotkeyに付属するWindow Spyを利用すると、WindowのTitleとClassが取得でき、これを利用することで特定アプリケーションでのみHotkeyを有効にすることが出来ます。このとき、ClassとTitleを両方指定することが出来ます。その書き方をメモ。

OneNoteの場合

OneNote2010の場合、Window Spyの結果、

AutoHotkey - Microsoft OneNote
ahk_class Framework::CFrame

のように表示されます。「AutoHotkey」の部分は編集中のページのタイトルなので指定に利用することは出来ず、完全一致を利用できないため、

SetTitleMatchMode,2

をスクリプトに追加して、部分一致にします。そして、次のようにしてTitleとclassの両方で指定します。

#IfWinActive - Microsoft OneNote ahk_class Framework`::CFrame

(このとき「`::」はエスケープ)

AutoHotkey | コメント:0 | トラックバック:0 | 編集

Androidのバージョンアップを行う方法メモ このエントリーを含むはてなブックマーク

Android2.1 -> Android2.2

やり方は、Home画面で「menuボタン>設定>この携帯電話について>システムソフトウェアの更新>今すぐチェック」。ちなみに使ったのはDesire(X06HT)。

Android | コメント:0 | トラックバック:0 | 編集

PuTTY(pscp.exe)を使ってSSH経由でWindowsとLinuxの間でファイルコピーを行う方法 このエントリーを含むはてなブックマーク

Windows-Linux間でファイルを転送したい

PuTTYを使ってWindowsからLinuxなどの遠隔のサーバにアクセスできるように なると、接続しているサーバ上で編集したりしているファイルを一体どうやって Windowsマシンにコピーすればいいのだろうという疑問がわくと思います。 また、PuTTYの動作しているWindows上のファイルを一体どうやって Linuxサーバに送りつければいいのだろうと思うかもしれません。

そこで今回は、PuTTYに含まれているpscp.exe を利用したWindowsとLinuxの間のファイルコピーを行う方法 をメモしておきます。

前提

WindowsとLinuxの間でファイルをコピーする際、 Linux側のディレクトリ構造がどうなっているか は、PuTTYでSSH接続をして確かめてください。 ファイルのコピーは一発ピンポイントに行います。 どこに目的のファイルがあるか、どこにファイルを設置したいかは要注意。

Windows側でpscp.exeというプログラムを利用してコピーを行うので、 コマンドプロンプトを起動して、

		>cd /d (pscp.exeの存在する場所へのパス)
	

などで移動しておくか、環境変数を編集してpscp.exeのある場所に PATHを通しておいて、コマンドプロンプトからpscp.exeを利用できる 状態にしてください。

パスワード認証と公開鍵認証

SSHをパスワードのみの認証で利用している場合は、pscp.exeを利用する際に、

		>pscp.exe -pw "password" (そのほかのオプションなど)
	

としてください。また、公開鍵認証を利用している場合は、pscp.exe を利用する前に、 あらかじめpagent.exeを起動し、 鍵の追加から公開鍵を登録しておいてください。 普段PuTTYを利用している人ならいつも通りということです 公開鍵を利用する場合は、pscp.exeに先ほどのような 追加オプションは不要で、

		>pscp.exe (オプションなど)
	

とすればOKです。これ以降、 「-pw "password"」の部分は書かない公開鍵認証のつもりで 話を進めます。

WindowsからLinuxへファイルを1つコピー

Windowsのカレントディレクトリにあるファイルを、 Linuxのホームディレクトリにコピーする」 場合は次のようにします。

		>pscp.exe win-file.txt user@server:.
	

「win-file.txt」は windows側のコピーしたいファイル、 「user」は、 SSHでログインするユーザ名を表しています。 「server」は、サーバのアドレスを表す192.168.1.1や ???.mine.nuを入力してください。そして、「:」はただの区切り文字で、 「.」は、宛先を表しています。 宛先は、ログインしたユーザのホームディレクトリが基準になるため、 「.」はホームディレクトリ そのままのことです。

これらを正しく設定することで、「serverにuserでログインして、 Windowsのカレントディレクトリにあるwin-file.txtというファイルを、Linux サーバのホームディレクトリにコピーできます。

win-file.txt |0 kB] 0.5 kB/s | ETA: 00:00:00 | 100%

のように表示されればコピー成功です。

以降、もう少し省略して、いろいろなパターンをメモしておきます。

WindowsからLinuxへフォルダごとコピー

windows上のフォルダを丸ごとLinuxのホームディレクトリへコピーします。

		>pscp.exe -r win-folder user@server:.
	

「-r」を忘れると「scp: win-folder: not a regular file」 と言われます。

LinuxからWindowsへファイルを一つコピー

Linuxのホームディレクトリにあるファイルlinux-fileを Windowsのカレントディレクトリへコピーします。

		>pscp.exe user@server:tmp .
	

「コピー元」、「コピー先」の順に書くので、今までとは逆になります。「.」は、 Windowsのカレントディレクトリを表しています。

LinuxからWindowsへディレクトリ丸ごとコピー

Linuxのホームディレクトリにあるディレクトリを丸ごとWindowsの カレントディレクトリへコピーします。

		>pscp.exe -r user@server:linux-dir .
	

そのほかの細々したこと

以上が基本なので、あとはちょっとしたコツを知れば、何とかなります。 ということで、残りはコツを書いておきます。 例を挙げるので、参考にしてください。

カレントディレクトリ・ホームディレクトリ以外を指定する

今までは、デフォルトの位置にあるファイルやフォルダを デフォルトの位置にしかコピーできなかったので、 そこを変更するコツ。

カレントディレクトリの一つ上のfolderの中にあるwin-file.txtを サーバのホームディレクトリにあるdirディレクトリの中へコピー 区切り文字に注意。

フルパス指定する

			>pscp.exe ..\dir1\win-file.txt user@server:dir/
		

フルパスで指定した「C:\dir\id_rsa.pub」を フルパスで指定した「/home/user2/.ssh」ディレクトリの中へ、 「authorized_keys2」という名称に変更しつつコピー

			>pscp.exe C:\dir\id_rsa.pub user@server:/home/user2/.ssh/authorized_key2
		

スペースの入るファイル名を扱う

			>pscp.exe "folder\file name.txt" user@server:"./dir name/new name"
		

SSH接続するポートを指定する

SSHは通常22番ポートを利用しますが、ポートを変更している場合には、次のように-Pオプションを利用します。

			>pscp.exe -P 1022 win-file.txt user@server:.
		

lsを利用してLinux側のファイルを見る(ls)

はじめにPuTTYを利用してファイルを見た方が良いと言ったのは、 そちらのほうが使いやすいからです。ただ、pscp.exeにも、 Linux側のls結果を見る機能があります。

			>pscp.exe -ls user@server:.
		

scp

もともとscpは、LinuxにあるSSHを利用したコピー(cp)を行うプログラムであり、 それのwindows版がpscpです。なので、今ここに書いた使い方のイメージで Linuxのscpを利用して、Linuxマシン間でファイルコピーを行うことも出来ます。

じゃぁ、Linux側でscpを使って、windowsに転送できるかというと、 それは話が別で、あくまでscpは「SSHサーバにログインして、コピーを行う」 のであって、windows側でSSHサーバを立ち上げていない限り、 それは出来ません。

まとめ

以上のようにして、WindowsとLinuxの間でファイルコピーがコマンドプロンプトから 実行できるはずです。ただ、これはあくまでPuTTYを使いたい場合であって、 全く別の方法として、「WinSCP」などもあります。

Ubuntuスタートアップバイブル
大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ
図解でわかる Linuxサーバ構築・設定のすべて

Linux | コメント:0 | トラックバック:0 | 編集

EclipseにプラグインAptana Studioを入れてHTMLを書く このエントリーを含むはてなブックマーク

Eclipseでhtmlを書く

Eclipseの設定をATOKに合わせるなどの工夫を重ねた結果、 普段書いているこのblog(html)もEclipse上で書きたくなりました。 ただし、Eclipseはプラグインがないとhtmlを書く際のサポートが特にありません。 そこで今回は Aptana StudioのEclipse用プラグインをインストールしました。

Eclipse | コメント:1 | トラックバック:0 | 編集

OneNote 2010 + SkyDrive 同期エラー一覧メモ このエントリーを含むはてなブックマーク

頻繁に同期に失敗するOneNote2010+SkyDrive

前の記事「[OneNote 2010]SkyDrive上の共有ノートブックとの同期失敗対策」でも述べたように、OneNote2010をSkyDriveと同期させようとすると、非常に高い頻度で失敗します。そんなエラーたちをメモメモ。

エラー一覧

  • ○○を作成できません。必要なアクセス許可がないか、ハードディスクの空き容量が不足している可能性があります。(エラーコード: 0xE0000644)
  • システムに接続されたデバイスが機能していません。(エラーコード: 0x8007001F)
  • このノートブック内のいくつかのセクションを同期できませんでした。
  • エラーが発生したのでこの操作を完了できません
  • このノートブックを同期できません。ノートブックが保存されているWebサーバーとの通信中にエラーが発生しました。(エラーコード: 0xE0000793)
  • プロセスは、バックグラウンド処理モードではありません。(エラーコード: 0x80070193)
  • このセクションまたはノートブックの同期中にエラーが発生しました。(エラーコード: 0x80072EFF)
  • タイムアウト期間が経過したため、この操作は終了しました。(エラーコード: 0x5B4)
  • このノートブックを同期するには、パスワードが必要です。(エラーコード: 0xE0000024)
  • ネットワークが切断されているか、ネットワーク上の場所が利用不可能なため、このノートブックを同期できません。(エラーコード: 0xE4010641)
OneNote | コメント:0 | トラックバック:0 | 編集
<< NEW  | HOME |