こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

リモートログインでSlypheedなどを開きたい

自分のパソコンから学校のパソコンにリモートログインをし、作業をしたいと思っています。
そのために自分のパソコンの設定をやっているのですが、うまくいかないので教えてください。

自分のパソコンのOS : Windows7
学校:Linux (←X11 forwarding を許可する設定になっている。)

以下、自分のパソコンをhostA, 学校のパソコンをhostB(remote01)とします。

AからBにsshでリモートログインをして、emacs, sylpheed, firefox などを使いたいと考えています。学科内で割り振られているメールアドレスからプログラミングなどの課題を送りたいからです。送信元をそのアドレスにする設定をしてもよいのですが、リモートログインのやりかたでやりたいです。様々なサイトを見ながら以下のようにやってみました。

●現在の状況●
Aをremote01のX端末にするために、JDKをインストールし、次に、TightVNC1.5.1jviewerをダウンロードしました。
その中のexampleファイルのうち、Windowsバッチファイルを開き、中身のIPアドレスをBのものに変更・PORTの追加を行わなければならないのですが、バッチファイルが開けませんでした(WinZipというソフトにおいて開いた)。

次にCygwinをインストールしました。保存場所は、C:\Cygwinです。
サイトを参考にしながら環境変数に、
CYGWIN (ntsec smbntsec glob)
HOME (/home/yuriko)
MAKE_MODE (UNIX)
SHELL (/bin/bash)
を追加しました。
デスクトップにCygwin Terminal のアイコンができて、それを開き、
$ssh –X (Bでのユーザー名)@remote01.(Bのアドレス)
として、AからBにリモートログインすることはできました。しかし、
$emacs
とすると、端末ウィンドウ内にemacsが起動してしまい、また、
$sylpheed
とすると、「Gtk-WARNING**:cannot open display」と表示されます。Firefoxのときも同じです。

Cygwin/X Server が起動していることは確認してあります。

うまくいかなかったことについてネットで調べてみました。
本来ならば、Cygwin Terminal を開くとウィンドウ上部左のアイコンの右にbashと表示されるらしいのですが、私の場合は、~が表示されました。これは設定が間違っているということでした。Cygwin Terminalにおいて、
$/bin/ls –a
を入力すると、本来ならば、「. .. .bashrc」と表示されるらしいのですが、私の場合は、.bashrcがありませんでした。

C:\homeの中に、.bash_profile, .bashrc, .inputrc, .mkshrc, profile はあるのですが、クリックしても「このファイルを開けません」となります。

また、いったんCygwin Terminal を閉じ、再び開いてみると、
Copying skeleton files.
These files are for the users to personalise their cygwin experience.

They will never be overwritten nor automatically updated.

`./.bashrc' -> `/cygdrive/c/home/yuriko//.bashrc'
`./.bash_profile' -> `/cygdrive/c/home/yuriko//.bash_profile'
`./.inputrc' -> `/cygdrive/c/home/yuriko//.inputrc'
`./.mkshrc' -> `/cygdrive/c/home/yuriko//.mkshrc'
`./.profile' -> `/cygdrive/c/home/yuriko//.profile'

と最初に表示されました。

●教えていただきたいこと●
リモートログインによりSylpheed, Firefox, emacsを開くにはどうすればよいのか。

いろいろ調べたりやってみたりしたのですがどうしてもわからないので質問させていただきました。
初心者なので質問文におかしなところがあるかもしれませんが、どうぞよろしくお願いします。

投稿日時 - 2013-05-18 00:46:34

QNo.8092933

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

その状態でCygwin Terminal からssh -Xしてもだめです。Cygwin TerminalにはX関連の設定が何一つ無いと思いますよ。
手っ取り早くやるなら、CygwinのXの中でxtermなどを起動してからxtermからssh -Xするとよいでしょう。
ちょっと面倒でもいいなら、Cygwin TerminalでDISPLAY環境変数を設定して、まずローカルでCygwin Terminalから xtermなどを立ち上げられることを確認しましょう。それからssh -Xするとよいでしょう。

これで動かないなら、xhostをリモートで実行した結果を見ないとなんとも言えないですね。

| xhost: unable to open display ""
ならDISPLAY環境変数が何らかの理由で設定されていないと思うので、まずはsshを実行しているローカルでDISPLAY環境変数が設定されているか確認するところからスタートでしょう。
この場合、DISPLAY環境変数を設定して、xtermなどをローカルで起動できるようにするところからスタートです。
これがクリアできてリモートで X11Forwarding yesという設定ならこの点は問題ないでしょう。
まあ、質問者がどうやって X11Forwarding yesを確認したかは知りませんが、場合によっては複数sshdがインストールされている可能性や、デフォルト以外の設定を読んでいることも考慮する必要があるかもしれません。

| X11 connection rejected because of wrong authentication.
| X connection to localhost:0.0 broken (explicit kill or server shutdown)

なら-Xを-Yにすると解決するかもしれません。
相手を信頼出来るXクライアントとしてあつかうことなので、信頼ができない通信相手に対してつけるオプションではありませんが。
See Also: http://askubuntu.com/questions/35512/difference-between-ssh-y-and-ssh-x


余談ですが、何のサイトを参考にしたか知りませんが、X11のフォーワードをするだけならJDKもVNCも不要です。


さらに余談ですが、動作の快適さを考えるとXをインターネット経由で飛ばすというのはあまりオススメ出来ません。ゴールが何なのかはわかりませんが、学内メールを読み書きして、学内サイトを見て、コードを書くというだけなら別の方法も色いろあると思います。
リモートでgccが使えて多少の容量があるなら、Xは使わずemacs -nwで起動した上で、Mew、w3mを使うという方向もあります。tmuxやscreenと組みわせると、ログインしてattachすると前回detachしたときから再開できるのでかなり快適です。いろいろとキーボードショートカット的なものを覚える必要はありますが。
あとはメールサーバーや学内サイトのサーバーにポートフォワーディングでつなぐ方向もあるかもしれません。
CygwinにはLinuxにあるような開発ツールは大抵入っているので、Linuxに極端に依存したようなプログラムを作るのでなけれはCygwinだけで作れるでしょう。
メールサーバーの.forwardに普段使いのメールアドレスを追加すればわざわざ大学に接続しないでもメールが読めます。

もっと余談ですが、カテゴリー的には"OKWave >[技術者向] コンピューター >運用・管理 "の方が答えてくれる人が多いかもしれません。

投稿日時 - 2013-05-18 11:47:12

あなたにオススメの質問