お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2010-12-18 17:11:33

hoary
新しいメンバ
登録日: 2009-01-22

リモート端末で開くをコマンドライン指定で

nautilus-open-terminalの「リモート端末で開く」のようなことは、コマンドライン指定でできないでしょうか。
エディタで .gvfs/sftp %28...%29..... のファイルを開いているとき、そのディレクトリでリモート端末を開きたいのです。

オフライン

 

#2 2010-12-18 23:07:06

STGSAGWAN
ゲスト

Re: リモート端末で開くをコマンドライン指定で

そもそも、gvfsではなくsshfsでリモートなディレクトリをマウントしておけば、そのディレクトリにcdするだけで済みます。
というか、私ならsshfsを使います。

--
敢えて質問に答えると、nautilus-open-terminalの「リモート端末の中で開く」と同じ事をやりたいなら、

コード:

ssh remote_user@remote_host -t 'cd /path/to/directory && exec $SHELL -'

です。

このsshコマンドは、Nautilusの右クリック->「リモート端末の中で開く」を選択した後に、ローカルマシンの端末で

コード:

ps aux | grep ssh

実行した結果の一部

コード:

user      1866  0.0  0.0   1900   500 pts/4    Ss+  18:16   0:00 /bin/sh -c ssh remote_user@remote_host -t 'cd '\''/path/to/directory'\'' && exec $SHELL -'

を見ても分かります。

なお、remote_user、remote_host、/path/to/directoryの相当値は、エディタで開いているファイルパス(~/.gvfs/なんとか)を自前で解析する羽目になりそうな気が。

nautilus-open-terminal 0.18のソースで言うと、 http://git.gnome.org/browse/nautilus-open-terminal/tree/src/nautilus-open-terminal.c の 関数 get_remote_ssh_command や 関数 parse_sftp_uri が参考になります。

 

#3 2010-12-19 08:04:49

hoary
新しいメンバ
登録日: 2009-01-22

Re: リモート端末で開くをコマンドライン指定で

適切なご回答ありがとうございます。
改めてmanページ確認しましたが-tオプションはわかりませんでした。
なるほど、psの結果から探ることができるのですね。

そして、sshfs
探しても答えが見つからないときというのは、見当違いなところで右往左往しているものですね(w

オフライン

 

Board footer

Powered by FluxBB