ソースの表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit Teams最近の変更Send via e-Mail印刷パーマリンク × 目次 Windows 10のEmacs 26.1でplinkを使ってSSHターミナル接続する 試した環境 手順 plink.exeとmsysへのパスを通す Emacsのshellでbashが使えるようにする plinkでサーバにSSH接続する 参考サイト Windows 10のEmacs 26.1でplinkを使ってSSHターミナル接続する SSHでTRAMPする方法じゃないです。いわゆるふつーのSSHの方です。 試した環境 Windows 10 Pro. バージョン1803 IMEパッチ適用済みEmacs 26.1 (いわゆるNTEmacs) 25.3でも動作確認済み PuTTY (64bit) Release 0.70 msys 2013072300 bash 3.1.23-1-msys-1.0.18 手順 PuTTYやらmsysやらのインストール方法は割愛。 plink.exeとmsysへのパスを通す WindowsのPATH環境変数に以下のパスを追加する。もちろん、パス情報は各人の環境に読み替えてくだしあ。 C:\Program Files\PuTTY C:\MinGW\msys\1.0\bin Emacsのshellでbashが使えるようにする init.elにシェルの設定を追加する (setq explicit-shell-file-name "C:/MinGW/msys/1.0/bin/bash.exe") (setq shell-file-name "C:/MinGW/msys/1.0/bin/bash.exe") M-x shellでbashが起動すればおk plinkでサーバにSSH接続する emacsのshellで plink -ssh -t USER@HOST とすると、サーバにSSH接続ができる。 パスワードなどの入力要求は自動的にミニバッファでの入力になるのが素敵。 ログインに成功すれば、いつも通りのSSHターミナルとして使える。ファイル名のTAB補間が効かないけど…。 プロンプトが二重に出る問題 shell上でプロンプトが二重に出ることがあるが、接続先から送られてくるプロンプト情報にemacsのshellで解釈できないシーケンスが入っているのが原因である。 接続先のログインシェルやシェルの設定に依存するため、確実な対応策はないのだが、とりあえずTERM変数をてきとーに指定してシェルを起動するようにすれば大体おk。 plink -ssh -t USER@HOST "env 'TERM=emacs' /bin/bash" 実行したコマンドがそのまま表示される問題 上図をよく見ると、プロンプトのls -alの後にもls -alが出てしまっている。リモートシェル側のローカルエコーがらみの問題のようなので、ログインした状態でstty -echoとすれば出なくなる。 毎度設定するのが面倒なら.bashrcあたりに書いてもいいが、ローカル端末や他のターミナルエミュレータから接続したときに問題が出る可能性があるので、TERM変数に応じて分岐させた方が良いだろう。 参考サイト WindowsでもEmacsからsshログインしたい [Home] Ssh With NTEmacs emacs/emacs26.1_use_ssh_terminal_with_plink_on_windows10.txt 最終更新: 2018-06-07 11:59by Decomo