emacsの起動後にシェルを自動的に起動するにはどうすればよいですか


8

Emacsを使用する主な理由の1つは、sshリモートマシンにアクセスした後に強力な環境を取得することです。Emacsを起動した後に私が最初に行うM-x shellことは、コマンドラインを取得するために実行することです。Emacsの起動には少し時間がかかるため、初期化ファイルを解析した後、実行時にEmacsにシェルの起動を要求するオプションがあると非常に便利です(シェルフックをいくつか設定して、それぞれ別のことを実行します) )。理想的には、追加のオプションで実行できるようにしたいので、リモートマシンの初期化ファイルに特定のものを追加する必要はありません(bash必要に応じてエイリアスを設定できます)。このようなもの:

emacs afile1 afile2 -startShell

実際、セキュリティで保護された接続の確立には約30秒かかるので、私が本当にやりたいことは、「シェルを起動する」をsshコマンド自体に組み込み、with 使用ssh-tて画面ベースのプログラムを起動することです。

ssh -t me@remote emacs afile1 afile2 -startShell

Emacsのコマンドライン引数のドキュメントを確認しましたが、まだEmacsとLisp、およびカスタマイズを開始しており、コマンドライン引数を処理する方法をすぐに理解できませんでした。これを行うにはどうすればよいですか?

(ユーザー@Nameが言及した関連質問eshell。)


できる :)。ssh -t me@remote 'emacs -f shell'夢のように機能します。
TooTone 2015

@Nameおかげで試してみましたが、あなたのコメントを回答として追加できると言っていましたが、私の問題に対処しているので受け入れます。または、私の質問を重複としてマークする必要があります。どちらにしても、開いたままにしない方がいいでしょう。
TooTone 2015

回答:


4

-fスイッチを使用して、コマンドラインからemacs関数を呼び出すことができます。

コメントは、-tを使用してsshを介してこれを行う方法を示しています。ただし、いくつかの欠点があります。主なものは、リモートでemacsを実行しているということです。つまり、リモートシステム上にすべてのemacs構成情報を保持するだけでなく、ローカルバージョンの一部をローカルに維持する必要があります。ローカルやリモートで作業を行い、その中間に移動したい場合も、柔軟性が失われます。

別の方法としては、emacsをローカルで実行し、コマンドラインからシェルを起動してから、そのシェルからsshを実行します。sshを介してtrampを使用してファイルなどを編集し、シェルを使用してインタラクティブなsshセッションを実行できます。

emacs -f shell

これに慣れたら、emacs用のssh関連パッケージをいくつか見ることができます。次に、コマンドラインからこれらのパッケージの1つから関数を呼び出して、sshセッションの作成を自動化できるようにする必要があります。これを簡単にするために、単純なラッパー関数を作成する必要がある場合があります。そうすれば、管理するemacs設定は1つだけになり、柔軟性が増します。


1
ssh -t ... 'emacs -f shell'端末から直接使用することの主な欠点は、個別のリモートemacs構成を最新に保つ必要があることです。私はtrampをいじってみましたが、ssh接続を共有することで起動時間を許容可能なレベルにまで短縮しましたscp。これは、リモートファイル名の完成などに使用でき、非常に役立ちます。ただし、それでも単一のセッション内で実行するためのシームレスなソリューションではなく、現在のところその欠点は利点よりも優れています。
TooTone 2015

適切なレベルのssh圧縮を取得するのに役立つ他のsshオプション。あなたが経験しているシングルセッションの不便は何ですか?
Tim X

昨日、開いたファイルが読み取り専用でssh、プロンプトを表示すると、いくつかの^接頭辞付きの文字が正しく表示されないという問題がありました。今日私は再試行し、ファイルの編集はシームレスですが、プロンプトはまだめちゃくちゃです。また、すべてがシームレスになるとは限らないというのも私の疑いです。たとえば、実行agするとリモートマシンでプロセスが開始されますが、を実行することはあまりできませんrgrep。時間があれば、これをもう少し調べて(melpaの github.com/ieure/ssh-elが興味深いように見えます)、このqsをこのサイトに投稿する価値があるようです。育ててくれてありがとう。
TooTone 2015

ユースケースによっては、正確にトランプを取得することは難しい場合がありますが、努力する価値はあります。混乱したプロンプトは、ansi色のエスケープ文字があるように聞こえます。おそらく、ansi-colorパッケージをロードする必要があります。また、設定なしでtrampを使用してみてください-通常、デフォルトはそのままです。Tampは強力ですが、設定が複雑な場合があります。
ティムX
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.